aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchertus <azuikov@ydb.tech>2022-09-23 13:22:41 +0300
committerchertus <azuikov@ydb.tech>2022-09-23 13:22:41 +0300
commit35565dd653766afe92cfb96b830cb444f8f59533 (patch)
tree4f6cfff77cef24e6f5c99603684b3f3bdc39563d
parentc1cf55f7913d9d5674d70112bd83329cf37d06ed (diff)
downloadydb-35565dd653766afe92cfb96b830cb444f8f59533.tar.gz
more counters in ColumnShard
-rw-r--r--ydb/core/protos/counters_columnshard.proto3
-rw-r--r--ydb/core/tx/columnshard/columnshard__write.cpp6
-rw-r--r--ydb/core/tx/columnshard/columnshard__write_index.cpp2
-rw-r--r--ydb/core/tx/columnshard/columnshard_txs.h1
-rw-r--r--ydb/core/tx/columnshard/compaction_actor.cpp3
-rw-r--r--ydb/core/tx/columnshard/indexing_actor.cpp3
6 files changed, 17 insertions, 1 deletions
diff --git a/ydb/core/protos/counters_columnshard.proto b/ydb/core/protos/counters_columnshard.proto
index 0b8a9bdf6e..62afdf4908 100644
--- a/ydb/core/protos/counters_columnshard.proto
+++ b/ydb/core/protos/counters_columnshard.proto
@@ -124,6 +124,9 @@ enum ECumulativeCounters {
COUNTER_FORGET_SUCCESS = 69 [(CounterOpts) = {Name: "ForgetSuccess"}];
COUNTER_FORGET_FAIL = 70 [(CounterOpts) = {Name: "ForgetFail"}];
COUNTER_WRITE_OVERLOAD = 71 [(CounterOpts) = {Name: "WriteOverload"}];
+ COUNTER_WRITE_OVERLOAD_SHARD = 72 [(CounterOpts) = {Name: "WriteOverloadShard"}];
+ COUNTER_INDEXING_TIME = 73 [(CounterOpts) = {Name: "IndexingTime"}];
+ COUNTER_COMPACTION_TIME = 74 [(CounterOpts) = {Name: "CompactionTime"}];
}
enum EPercentileCounters {
diff --git a/ydb/core/tx/columnshard/columnshard__write.cpp b/ydb/core/tx/columnshard/columnshard__write.cpp
index 7fff1e61f7..5ac459c136 100644
--- a/ydb/core/tx/columnshard/columnshard__write.cpp
+++ b/ydb/core/tx/columnshard/columnshard__write.cpp
@@ -188,8 +188,12 @@ void TColumnShard::Handle(TEvColumnShard::TEvWrite::TPtr& ev, const TActorContex
LOG_S_ERROR("Write (out of disk space) " << data.size() << " bytes into pathId " << tableId
<< " at tablet " << TabletID());
} else {
- IncCounter(COUNTER_WRITE_OVERLOAD);
bool tableOverload = InsertTable->IsOverloaded(tableId);
+ IncCounter(COUNTER_WRITE_OVERLOAD);
+ if (!tableOverload) {
+ IncCounter(COUNTER_WRITE_OVERLOAD_SHARD);
+ }
+
LOG_S_INFO("Write (overload) " << data.size() << " bytes into pathId " << tableId
<< (ShardOverloaded()? " [shard]" : "") << (tableOverload? " [table]" : "")
<< " at tablet " << TabletID());
diff --git a/ydb/core/tx/columnshard/columnshard__write_index.cpp b/ydb/core/tx/columnshard/columnshard__write_index.cpp
index f18e101b94..14b073c789 100644
--- a/ydb/core/tx/columnshard/columnshard__write_index.cpp
+++ b/ydb/core/tx/columnshard/columnshard__write_index.cpp
@@ -238,6 +238,7 @@ bool TTxWriteIndex::Execute(TTransactionContext& txc, const TActorContext& ctx)
Self->IncCounter(ok ? COUNTER_INDEXING_SUCCESS : COUNTER_INDEXING_FAIL);
Self->IncCounter(COUNTER_INDEXING_BLOBS_WRITTEN, blobsWritten);
Self->IncCounter(COUNTER_INDEXING_BYTES_WRITTEN, bytesWritten);
+ Self->IncCounter(COUNTER_INDEXING_TIME, Ev->Get()->Duration.MilliSeconds());
} else if (changes->IsCompaction()) {
Self->ActiveIndexingOrCompaction = false;
@@ -253,6 +254,7 @@ bool TTxWriteIndex::Execute(TTransactionContext& txc, const TActorContext& ctx)
Self->IncCounter(COUNTER_SPLIT_COMPACTION_BLOBS_WRITTEN, blobsWritten);
Self->IncCounter(COUNTER_SPLIT_COMPACTION_BYTES_WRITTEN, bytesWritten);
}
+ Self->IncCounter(COUNTER_COMPACTION_TIME, Ev->Get()->Duration.MilliSeconds());
} else if (changes->IsCleanup()) {
Self->ActiveCleanup = false;
diff --git a/ydb/core/tx/columnshard/columnshard_txs.h b/ydb/core/tx/columnshard/columnshard_txs.h
index 064324d4b2..1ffc693fbd 100644
--- a/ydb/core/tx/columnshard/columnshard_txs.h
+++ b/ydb/core/tx/columnshard/columnshard_txs.h
@@ -42,6 +42,7 @@ struct TEvPrivate {
TVector<ui32> YellowMoveChannels;
TVector<ui32> YellowStopChannels;
bool CacheData{false};
+ TDuration Duration;
TEvWriteIndex(const NOlap::TIndexInfo& indexInfo,
std::shared_ptr<NOlap::TColumnEngineChanges> indexChanges,
diff --git a/ydb/core/tx/columnshard/compaction_actor.cpp b/ydb/core/tx/columnshard/compaction_actor.cpp
index b64ed17140..3ef17bac05 100644
--- a/ydb/core/tx/columnshard/compaction_actor.cpp
+++ b/ydb/core/tx/columnshard/compaction_actor.cpp
@@ -19,6 +19,7 @@ public:
{}
void Handle(TEvPrivate::TEvCompaction::TPtr& ev, const TActorContext& /*ctx*/) {
+ LastActivationTime = TAppData::TimeProvider->Now();
auto& event = *ev->Get();
TxEvent = std::move(event.TxEvent);
Y_VERIFY(TxEvent);
@@ -95,6 +96,7 @@ private:
std::unique_ptr<TEvPrivate::TEvWriteIndex> TxEvent;
THashMap<TBlobRange, TString> Blobs;
ui32 NumRead{0};
+ TInstant LastActivationTime;
void Clear() {
Blobs.clear();
@@ -124,6 +126,7 @@ private:
TxEvent->Blobs = NOlap::TColumnEngineForLogs::CompactBlobs(TxEvent->IndexInfo, TxEvent->IndexChanges);
}
+ TxEvent->Duration = TAppData::TimeProvider->Now() - LastActivationTime;
ui32 blobsSize = TxEvent->Blobs.size();
ctx.Send(Parent, TxEvent.release());
diff --git a/ydb/core/tx/columnshard/indexing_actor.cpp b/ydb/core/tx/columnshard/indexing_actor.cpp
index dff01bb216..d8fe6da5b1 100644
--- a/ydb/core/tx/columnshard/indexing_actor.cpp
+++ b/ydb/core/tx/columnshard/indexing_actor.cpp
@@ -19,6 +19,7 @@ public:
void Handle(TEvPrivate::TEvIndexing::TPtr& ev, const TActorContext& ctx) {
LOG_S_DEBUG("TEvIndexing at tablet " << TabletId << " (index)");
+ LastActivationTime = TAppData::TimeProvider->Now();
auto& event = *ev->Get();
TxEvent = std::move(event.TxEvent);
Y_VERIFY(TxEvent);
@@ -102,6 +103,7 @@ private:
TActorId BlobCacheActorId;
std::unique_ptr<TEvPrivate::TEvWriteIndex> TxEvent;
THashMap<TUnifiedBlobId, ui32> BlobsToRead;
+ TInstant LastActivationTime;
void SendReadRequest(const NBlobCache::TBlobRange& blobRange) {
Y_VERIFY(blobRange.Size);
@@ -121,6 +123,7 @@ private:
LOG_S_ERROR("Indexing failed at tablet " << TabletId);
}
+ TxEvent->Duration = TAppData::TimeProvider->Now() - LastActivationTime;
ctx.Send(Parent, TxEvent.release());
//Die(ctx); // It's alive till tablet's death
}