summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_actor.cpp2
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_mon.cpp3
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_mon.h4
-rw-r--r--ydb/core/blobstorage/vdisk/common/vdisk_mongroups.h13
-rw-r--r--ydb/core/blobstorage/vdisk/skeleton/blobstorage_skeletonfront.cpp3
-rw-r--r--ydb/core/tablet/node_whiteboard.cpp5
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());