diff options
author | chertus <azuikov@ydb.tech> | 2022-09-23 13:22:41 +0300 |
---|---|---|
committer | chertus <azuikov@ydb.tech> | 2022-09-23 13:22:41 +0300 |
commit | 35565dd653766afe92cfb96b830cb444f8f59533 (patch) | |
tree | 4f6cfff77cef24e6f5c99603684b3f3bdc39563d | |
parent | c1cf55f7913d9d5674d70112bd83329cf37d06ed (diff) | |
download | ydb-35565dd653766afe92cfb96b830cb444f8f59533.tar.gz |
more counters in ColumnShard
-rw-r--r-- | ydb/core/protos/counters_columnshard.proto | 3 | ||||
-rw-r--r-- | ydb/core/tx/columnshard/columnshard__write.cpp | 6 | ||||
-rw-r--r-- | ydb/core/tx/columnshard/columnshard__write_index.cpp | 2 | ||||
-rw-r--r-- | ydb/core/tx/columnshard/columnshard_txs.h | 1 | ||||
-rw-r--r-- | ydb/core/tx/columnshard/compaction_actor.cpp | 3 | ||||
-rw-r--r-- | ydb/core/tx/columnshard/indexing_actor.cpp | 3 |
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 } |