diff options
| author | Sergey Belyakov <[email protected]> | 2025-05-23 20:46:09 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-05-23 20:46:09 +0300 |
| commit | 373ec5c804dbaf2274341f9c35df23c1ade14faa (patch) | |
| tree | c3b41df74ee57d0d915ccd961fa8b72f70297a0c | |
| parent | 4492d45bdfacd10cf87efa339dc0ec49475f41ac (diff) | |
Add counters for nodes, VDisks and PDisks (#18731)
6 files changed, 29 insertions, 1 deletions
diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_actor.cpp b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_actor.cpp index fb1dce11ac9..4d939bb3ccd 100644 --- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_actor.cpp +++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_actor.cpp @@ -294,6 +294,8 @@ public: "PDisk is in StateInit, wait for PDisk to read sys log. Did you ckeck EvYardInit result? Marker# BSY09"; Become(&TThis::StateInit); } + + *PDisk->Mon.PDiskCount = 1; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_mon.cpp b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_mon.cpp index 66a2f92cbed..83e8fba1fc5 100644 --- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_mon.cpp +++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_mon.cpp @@ -16,6 +16,7 @@ TPDiskMon::TPDiskMon(const TIntrusivePtr<::NMonitoring::TDynamicCounters>& count , SchedulerGroup(Counters->GetSubgroup("subsystem", "scheduler")) , BandwidthGroup(Counters->GetSubgroup("subsystem", "bandwidth")) , PDiskGroup(Counters->GetSubgroup("subsystem", "pdisk")) + , CounterGroup(Counters->GetSubgroup("subsystem", "counter")) { using EVisibility = NMonitoring::TCountableBase::EVisibility; @@ -257,6 +258,8 @@ TPDiskMon::TPDiskMon(const TIntrusivePtr<::NMonitoring::TDynamicCounters>& count COUNTER_INIT(PDiskGroup, GetThreadCPU, true); COUNTER_INIT(PDiskGroup, TrimThreadCPU, true); COUNTER_INIT(PDiskGroup, CompletionThreadCPU, true); + + COUNTER_INIT(CounterGroup, PDiskCount, false); } ::NMonitoring::TDynamicCounters::TCounterPtr TPDiskMon::GetBusyPeriod(const TString& owner, const TString& queue) { diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_mon.h b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_mon.h index 0acb2623749..f8fa0635ca8 100644 --- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_mon.h +++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_mon.h @@ -509,6 +509,10 @@ struct TPDiskMon { ::NMonitoring::TDynamicCounters::TCounterPtr TrimThreadCPU; ::NMonitoring::TDynamicCounters::TCounterPtr CompletionThreadCPU; + // counter subgroup + TIntrusivePtr<::NMonitoring::TDynamicCounters> CounterGroup; + ::NMonitoring::TDynamicCounters::TCounterPtr PDiskCount; + TPDiskMon(const TIntrusivePtr<::NMonitoring::TDynamicCounters>& counters, ui32 pdiskId, TPDiskConfig *cfg); ::NMonitoring::TDynamicCounters::TCounterPtr GetBusyPeriod(const TString& owner, const TString& queue); diff --git a/ydb/core/blobstorage/vdisk/common/vdisk_mongroups.h b/ydb/core/blobstorage/vdisk/common/vdisk_mongroups.h index c72ba0b2b23..9fbea167c3d 100644 --- a/ydb/core/blobstorage/vdisk/common/vdisk_mongroups.h +++ b/ydb/core/blobstorage/vdisk/common/vdisk_mongroups.h @@ -941,5 +941,18 @@ public: COUNTER_DEF(BarriersBalance); }; + /////////////////////////////////////////////////////////////////////////////////// + // TCounterGroup + /////////////////////////////////////////////////////////////////////////////////// + class TCounterGroup : public TBase { + public: + GROUP_CONSTRUCTOR(TCounterGroup) + { + COUNTER_INIT(VDiskCount, false); + } + + COUNTER_DEF(VDiskCount); + }; + } // NMonGroup } // NKikimr diff --git a/ydb/core/blobstorage/vdisk/skeleton/blobstorage_skeletonfront.cpp b/ydb/core/blobstorage/vdisk/skeleton/blobstorage_skeletonfront.cpp index 86c01e205d9..b080dbb9c79 100644 --- a/ydb/core/blobstorage/vdisk/skeleton/blobstorage_skeletonfront.cpp +++ b/ydb/core/blobstorage/vdisk/skeleton/blobstorage_skeletonfront.cpp @@ -703,6 +703,7 @@ namespace NKikimr { NMonGroup::TVDiskStateGroup VDiskMonGroup; NMonGroup::TCostGroup CostGroup; NMonGroup::TTimerGroup TimerGroup; + NMonGroup::TCounterGroup CounterGroup; TVDiskIncarnationGuid VDiskIncarnationGuid; bool HasUnreadableBlobs = false; TInstant LastSanitizeTime = TInstant::Zero(); @@ -833,6 +834,7 @@ namespace NKikimr { SetupMonitoring(ctx); StartTimestamp = TActivationContext::Monotonic(); TimerGroup.SkeletonFrontUptimeSeconds() = 0; + CounterGroup.VDiskCount() = 1; Become(&TThis::StateLocalRecoveryInProgress); } @@ -2293,6 +2295,7 @@ namespace NKikimr { , VDiskMonGroup(VDiskCounters, "subsystem", "state") , CostGroup(VDiskCounters, "subsystem", "cost") , TimerGroup(VDiskCounters, "subsystem", "timer") + , CounterGroup(VDiskCounters, "subsystem", "counter") { ReplMonGroup.ReplUnreplicatedVDisks() = 1; VDiskMonGroup.VDiskState(NKikimrWhiteboard::EVDiskState::Initial); diff --git a/ydb/core/tablet/node_whiteboard.cpp b/ydb/core/tablet/node_whiteboard.cpp index 17a33025c16..1a6abdf50d4 100644 --- a/ydb/core/tablet/node_whiteboard.cpp +++ b/ydb/core/tablet/node_whiteboard.cpp @@ -51,8 +51,11 @@ public: auto version = GetProgramRevision(); if (!version.empty()) { SystemStateInfo.SetVersion(version); - auto versionCounter = GetServiceCounters(AppData(ctx)->Counters, "utils")->GetSubgroup("revision", version); + TIntrusivePtr<NMonitoring::TDynamicCounters> utils = GetServiceCounters(AppData(ctx)->Counters, "utils"); + TIntrusivePtr<NMonitoring::TDynamicCounters> versionCounter = utils->GetSubgroup("revision", version); *versionCounter->GetCounter("version", false) = 1; + TIntrusivePtr<NMonitoring::TDynamicCounters> nodeCounter = utils->GetSubgroup("NodeCount", version); + *nodeCounter->GetCounter("NodeCount", false) = 1; } SystemStateInfo.SetStartTime(ctx.Now().MilliSeconds()); |
