diff --git a/ydb/core/kqp/counters/kqp_counters.cpp b/ydb/core/kqp/counters/kqp_counters.cpp index 5df537be35f4..29bbe4e130c6 100644 --- a/ydb/core/kqp/counters/kqp_counters.cpp +++ b/ydb/core/kqp/counters/kqp_counters.cpp @@ -824,6 +824,9 @@ TKqpCounters::TKqpCounters(const ::NMonitoring::TDynamicCounterPtr& counters, co WriteActorImmediateWritesRetries = KqpGroup->GetCounter("SinkWrites/WriteActorImmediateWritesRetries", true); WriteActorPrepareWrites = KqpGroup->GetCounter("SinkWrites/WriteActorPrepareWrites", true); + WriteActorWriteOnlyOperations = KqpGroup->GetCounter("SinkWrites/WriteActorWriteOnlyOperations", true); + WriteActorReadWriteOperations = KqpGroup->GetCounter("SinkWrites/WriteActorReadWriteOperations", true); + BufferActorFlushes = KqpGroup->GetCounter("SinkWrites/BufferActorFlushes", true); BufferActorImmediateCommits = KqpGroup->GetCounter("SinkWrites/BufferActorImmediateCommits", true); BufferActorDistributedCommits = KqpGroup->GetCounter("SinkWrites/BufferActorDistributedCommits", true); diff --git a/ydb/core/kqp/counters/kqp_counters.h b/ydb/core/kqp/counters/kqp_counters.h index ba88e8839d2b..844fd79b31f8 100644 --- a/ydb/core/kqp/counters/kqp_counters.h +++ b/ydb/core/kqp/counters/kqp_counters.h @@ -419,6 +419,9 @@ class TKqpCounters : public TKqpCountersBase, public NYql::NDq::TSpillingCounter ::NMonitoring::TDynamicCounters::TCounterPtr WriteActorImmediateWritesRetries; ::NMonitoring::TDynamicCounters::TCounterPtr WriteActorPrepareWrites; + ::NMonitoring::TDynamicCounters::TCounterPtr WriteActorWriteOnlyOperations; + ::NMonitoring::TDynamicCounters::TCounterPtr WriteActorReadWriteOperations; + ::NMonitoring::TDynamicCounters::TCounterPtr BufferActorFlushes; ::NMonitoring::TDynamicCounters::TCounterPtr BufferActorImmediateCommits; ::NMonitoring::TDynamicCounters::TCounterPtr BufferActorDistributedCommits; diff --git a/ydb/core/kqp/runtime/kqp_write_actor.cpp b/ydb/core/kqp/runtime/kqp_write_actor.cpp index f28d0e3e6df0..00e93fb7aa8d 100644 --- a/ydb/core/kqp/runtime/kqp_write_actor.cpp +++ b/ydb/core/kqp/runtime/kqp_write_actor.cpp @@ -958,6 +958,15 @@ class TKqpTableWriteActor : public TActorBootstrapped { Counters->WriteActorWritesSizeHistogram->Collect(serializationResult.TotalDataSize); Counters->WriteActorWritesOperationsHistogram->Collect(metadata->OperationsCount); + for (const auto& operation : evWrite->Record.GetOperations()) { + if (operation.GetType() == NKikimrDataEvents::TEvWrite::TOperation::OPERATION_INSERT + || operation.GetType() == NKikimrDataEvents::TEvWrite::TOperation::OPERATION_UPDATE) { + Counters->WriteActorReadWriteOperations->Inc(); + } else { + Counters->WriteActorWriteOnlyOperations->Inc(); + } + } + SendTime[shardId] = TInstant::Now(); } else { YQL_ENSURE(!isPrepare);