diff options
author | Aleksandr Dmitriev <alexd.65536@gmail.com> | 2022-06-06 19:30:19 +0300 |
---|---|---|
committer | Aleksandr Dmitriev <alexd.65536@gmail.com> | 2022-06-06 19:30:19 +0300 |
commit | 869e2fbf7ceaebab1b13300f83b51b967bc8a377 (patch) | |
tree | 15241de1376b8d6d0bd9bb21cc0fa22a0640f2df | |
parent | 12e3b3256a2ea239afa6c3efc9a6302ab9929e89 (diff) | |
download | ydb-869e2fbf7ceaebab1b13300f83b51b967bc8a377.tar.gz |
split serverless sensors into different services KIKIMR-14999
ref:4d1803b2b747b75699697bdf25df3d33c654fc43
-rw-r--r-- | ydb/core/grpc_services/counters/counters.cpp | 2 | ||||
-rw-r--r-- | ydb/core/grpc_services/counters/proxy_counters.cpp | 2 | ||||
-rw-r--r-- | ydb/core/kqp/counters/kqp_counters.cpp | 2 | ||||
-rw-r--r-- | ydb/core/sys_view/processor/db_counters.cpp | 39 | ||||
-rw-r--r-- | ydb/core/sys_view/processor/processor_impl.cpp | 7 | ||||
-rw-r--r-- | ydb/core/sys_view/processor/processor_impl.h | 2 | ||||
-rw-r--r-- | ydb/core/sys_view/ut_counters.cpp | 4 | ||||
-rw-r--r-- | ydb/core/tablet/tablet_counters_aggregator.cpp | 2 |
8 files changed, 39 insertions, 21 deletions
diff --git a/ydb/core/grpc_services/counters/counters.cpp b/ydb/core/grpc_services/counters/counters.cpp index 8fc8ede9174..b47428c3199 100644 --- a/ydb/core/grpc_services/counters/counters.cpp +++ b/ydb/core/grpc_services/counters/counters.cpp @@ -230,7 +230,7 @@ TYdbCounterBlock::TYdbCounterBlock(const NMonitoring::TDynamicCounterPtr& counte // group for all counters NMonitoring::TDynamicCounterPtr group; if (forDatabase) { - group = internalGroup->GetSubgroup("group", "grpc"); + group = internalGroup; } else { group = GetServiceCounters(counters, "grpc")->GetSubgroup("subsystem", "serverStats"); } diff --git a/ydb/core/grpc_services/counters/proxy_counters.cpp b/ydb/core/grpc_services/counters/proxy_counters.cpp index dc5b3e345d5..618d2bcd8ba 100644 --- a/ydb/core/grpc_services/counters/proxy_counters.cpp +++ b/ydb/core/grpc_services/counters/proxy_counters.cpp @@ -25,7 +25,7 @@ public: TGRpcProxyCounters(NMonitoring::TDynamicCounterPtr counters, bool forDatabase) { NMonitoring::TDynamicCounterPtr group; if (forDatabase) { - group = counters->GetSubgroup("group", "grpc"); + group = counters; } else { group = GetServiceCounters(counters, "grpc"); } diff --git a/ydb/core/kqp/counters/kqp_counters.cpp b/ydb/core/kqp/counters/kqp_counters.cpp index a752c543882..291450f6f67 100644 --- a/ydb/core/kqp/counters/kqp_counters.cpp +++ b/ydb/core/kqp/counters/kqp_counters.cpp @@ -586,7 +586,7 @@ TKqpDbCounters::TKqpDbCounters(const NMonitoring::TDynamicCounterPtr& externalGr const NMonitoring::TDynamicCounterPtr& internalGroup) { Counters = internalGroup; - KqpGroup = Counters->GetSubgroup("group", "kqp"); + KqpGroup = Counters; YdbGroup = externalGroup; QueryReplayGroup = KqpGroup->GetSubgroup("subsystem", "unified_agent_query_replay"); diff --git a/ydb/core/sys_view/processor/db_counters.cpp b/ydb/core/sys_view/processor/db_counters.cpp index 62fce6030d1..e2f359e4d61 100644 --- a/ydb/core/sys_view/processor/db_counters.cpp +++ b/ydb/core/sys_view/processor/db_counters.cpp @@ -236,20 +236,31 @@ TIntrusivePtr<IDbCounters> TSysViewProcessor::CreateCountersForService( { TIntrusivePtr<IDbCounters> result; switch (service) { - case NKikimrSysView::KQP: - result = MakeIntrusive<NKqp::TKqpDbCounters>(ExternalGroup, InternalGroup); + case NKikimrSysView::KQP: { + auto group = InternalGroups["kqp_serverless"]; + Y_VERIFY(group); + result = MakeIntrusive<NKqp::TKqpDbCounters>(ExternalGroup, group); break; + } case NKikimrSysView::TABLETS: { + auto group = InternalGroups["tablets_serverless"]; + Y_VERIFY(group); THolder<TTabletCountersBase> executorCounters(new NTabletFlatExecutor::TExecutorCounters); - result = CreateTabletDbCounters(ExternalGroup, InternalGroup, std::move(executorCounters)); + result = CreateTabletDbCounters(ExternalGroup, group, std::move(executorCounters)); break; } - case NKikimrSysView::GRPC: - result = NGRpcService::CreateGRpcDbCounters(ExternalGroup, InternalGroup); + case NKikimrSysView::GRPC: { + auto group = InternalGroups["grpc_serverless"]; + Y_VERIFY(group); + result = NGRpcService::CreateGRpcDbCounters(ExternalGroup, group); break; - case NKikimrSysView::GRPC_PROXY: - result = NGRpcService::CreateGRpcProxyDbCounters(ExternalGroup, InternalGroup); + } + case NKikimrSysView::GRPC_PROXY: { + auto group = InternalGroups["grpc_serverless"]; + Y_VERIFY(group); + result = NGRpcService::CreateGRpcProxyDbCounters(ExternalGroup, group); break; + } default: break; } @@ -278,9 +289,11 @@ void TSysViewProcessor::AttachInternalCounters() { return; } - GetServiceCounters(AppData()->Counters, "db", false) - ->GetSubgroup("database", Database) - ->RegisterSubgroup("host", "", InternalGroup); + for (const auto& [name, group] : InternalGroups) { + GetServiceCounters(AppData()->Counters, name, false) + ->GetSubgroup("database", Database) + ->RegisterSubgroup("host", "", group); + } } void TSysViewProcessor::DetachExternalCounters() { @@ -297,8 +310,10 @@ void TSysViewProcessor::DetachInternalCounters() { return; } - GetServiceCounters(AppData()->Counters, "db", false) - ->RemoveSubgroup("database", Database); + for (const auto& [name, group] : InternalGroups) { + GetServiceCounters(AppData()->Counters, name, false) + ->RemoveSubgroup("database", Database); + } } void TSysViewProcessor::Handle(TEvSysView::TEvSendDbCountersRequest::TPtr& ev) { diff --git a/ydb/core/sys_view/processor/processor_impl.cpp b/ydb/core/sys_view/processor/processor_impl.cpp index 86ddbfd4238..1bdb84ffb0f 100644 --- a/ydb/core/sys_view/processor/processor_impl.cpp +++ b/ydb/core/sys_view/processor/processor_impl.cpp @@ -14,8 +14,11 @@ TSysViewProcessor::TSysViewProcessor(const TActorId& tablet, TTabletStorageInfo* , TotalInterval(TDuration::Seconds(processorMode == EProcessorMode::FAST ? 6 : 60)) , CollectInterval(TDuration::Seconds(processorMode == EProcessorMode::FAST ? 3 : 30)) , ExternalGroup(new NMonitoring::TDynamicCounters) - , InternalGroup(new NMonitoring::TDynamicCounters) -{} +{ + InternalGroups["kqp_serverless"] = new NMonitoring::TDynamicCounters; + InternalGroups["tablets_serverless"] = new NMonitoring::TDynamicCounters; + InternalGroups["grpc_serverless"] = new NMonitoring::TDynamicCounters; +} void TSysViewProcessor::OnDetach(const TActorContext& ctx) { DetachExternalCounters(); diff --git a/ydb/core/sys_view/processor/processor_impl.h b/ydb/core/sys_view/processor/processor_impl.h index 4b49ecbb93c..6db54e815cd 100644 --- a/ydb/core/sys_view/processor/processor_impl.h +++ b/ydb/core/sys_view/processor/processor_impl.h @@ -318,7 +318,7 @@ private: TString DatabaseId; NMonitoring::TDynamicCounterPtr ExternalGroup; - NMonitoring::TDynamicCounterPtr InternalGroup; + std::unordered_map<TString, NMonitoring::TDynamicCounterPtr> InternalGroups; using TDbCountersServiceMap = std::unordered_map<NKikimrSysView::EDbCountersService, NKikimr::NSysView::TDbServiceCounters>; diff --git a/ydb/core/sys_view/ut_counters.cpp b/ydb/core/sys_view/ut_counters.cpp index 234f52478f0..7be8de4eed3 100644 --- a/ydb/core/sys_view/ut_counters.cpp +++ b/ydb/core/sys_view/ut_counters.cpp @@ -94,7 +94,7 @@ Y_UNIT_TEST_SUITE(DbCounters) { bool isGood = true; - auto tabletGroup = databaseGroup->GetSubgroup("host", "")->GetSubgroup("group", "tablets"); + auto tabletGroup = databaseGroup->GetSubgroup("host", ""); auto datashardGroup = tabletGroup->GetSubgroup("type", "DataShard"); { auto executorGroup = datashardGroup->GetSubgroup("category", "executor"); @@ -154,7 +154,7 @@ Y_UNIT_TEST_SUITE(DbCounters) { for (ui32 nodeId = 0; nodeId < env.GetServer().GetRuntime()->GetNodeCount(); ++nodeId) { auto counters = env.GetServer().GetRuntime()->GetAppData(nodeId).Counters; - auto dbGroup = GetServiceCounters(counters, "db", false); + auto dbGroup = GetServiceCounters(counters, "tablets_serverless", false); auto databaseGroup1 = dbGroup->FindSubgroup("database", "/Root/Database1"); if (databaseGroup1) { diff --git a/ydb/core/tablet/tablet_counters_aggregator.cpp b/ydb/core/tablet/tablet_counters_aggregator.cpp index 1ba4f327989..5456ab37f12 100644 --- a/ydb/core/tablet/tablet_counters_aggregator.cpp +++ b/ydb/core/tablet/tablet_counters_aggregator.cpp @@ -1558,7 +1558,7 @@ public: TTabletCountersForDb(NMonitoring::TDynamicCounterPtr externalGroup, NMonitoring::TDynamicCounterPtr internalGroup, THolder<TTabletCountersBase> executorCounters) - : SolomonCounters(internalGroup->GetSubgroup("group", "tablets")) + : SolomonCounters(internalGroup) , ExecutorCounters(std::move(executorCounters)) , AllTypes(SolomonCounters.Get(), "type", "all") { |