Move thread manager stats to telemetry metric

This commit is contained in:
Tim Wojtulewicz 2024-05-30 11:26:59 -07:00
parent a81f6ab9a6
commit 4face43462
6 changed files with 105 additions and 3 deletions

View file

@ -8,6 +8,7 @@
#include "zeek/NetVar.h"
#include "zeek/RunState.h"
#include "zeek/iosource/Manager.h"
#include "zeek/telemetry/Manager.h"
namespace zeek::threading {
namespace detail {
@ -36,6 +37,17 @@ Manager::~Manager() {
Terminate();
}
void Manager::InitPostScript() {
num_threads_metric =
telemetry_mgr->GaugeInstance("zeek", "active_threads", {}, "Number of active threads", "",
[]() -> prometheus::ClientMetric {
prometheus::ClientMetric metric;
metric.gauge.value =
thread_mgr ? static_cast<double>(thread_mgr->all_threads.size()) : 0.0;
return metric;
});
}
void Manager::Terminate() {
DBG_LOG(DBG_THREADING, "Terminating thread manager ...");
terminating = true;