]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
ixfrdist /metrics: add CPU and memory stats, note unit for uptime
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Tue, 31 Jan 2023 12:40:10 +0000 (13:40 +0100)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Thu, 2 Feb 2023 14:35:06 +0000 (15:35 +0100)
pdns/ixfrdist-stats.cc
regression-tests.ixfrdist/test_Stats.py

index 9b0aed4b2782840c70f81fefb6c34c35a5f9fedd..7f3ab5feb7a2359e59ed9ea32e6b8c7334a182e6 100644 (file)
@@ -27,14 +27,26 @@ std::string ixfrdistStats::getStats() {
   std::stringstream stats;
   const std::string prefix = "ixfrdist_";
 
-  stats<<"# HELP "<<prefix<<"uptime_seconds The uptime of the process"<<std::endl;
+  stats<<"# HELP "<<prefix<<"uptime_seconds The uptime of the process (in seconds)"<<std::endl;
   stats<<"# TYPE "<<prefix<<"uptime_seconds gauge"<<std::endl;
   stats<<prefix<<"uptime_seconds "<<time(nullptr) - progStats.startTime<<std::endl;
 
+  stats<<"# HELP "<<prefix<<"sys_msec Number of msec spent in system time"<<std::endl;
+  stats<<"# TYPE "<<prefix<<"sys_msec gauge"<<std::endl;
+  stats<<prefix<<"sys_msec "<<getCPUTimeSystem("")<<std::endl;
+
+  stats<<"# HELP "<<prefix<<"user_msec Number of msec spent in user time"<<std::endl;
+  stats<<"# TYPE "<<prefix<<"user_msec gauge"<<std::endl;
+  stats<<prefix<<"user_msec "<<getCPUTimeUser("")<<std::endl;
+
   stats<<"# HELP "<<prefix<<"fd_usage Number of open file descriptors"<<std::endl;
   stats<<"# TYPE "<<prefix<<"fd_usage gauge"<<std::endl;
   stats<<prefix<<"fd_usage "<<getOpenFileDescriptors("")<<std::endl;
 
+  stats<<"# HELP "<<prefix<<"real_memory_usage Actual unique use of memory in bytes (approx)"<<std::endl;
+  stats<<"# TYPE "<<prefix<<"real_memory_usage gauge"<<std::endl;
+  stats<<prefix<<"real_memory_usage "<<getRealMemoryUsage("")<<std::endl;
+
   stats<<"# HELP "<<prefix<<"domains The amount of configured domains"<<std::endl;
   stats<<"# TYPE "<<prefix<<"domains gauge"<<std::endl;
   stats<<prefix<<"domains "<<domainStats.size()<<std::endl;
index 61b272bacdcad61de2131e79415ccdd259a6a6fe..93705f7eb7cd82bd7a6a49251840797906f5b126 100644 (file)
@@ -29,7 +29,11 @@ webserver-address: %s
 
     _config_domains = {'example': '127.0.0.1:' + str(xfrServerPort)}
 
-    metric_prog_stats = ["ixfrdist_uptime_seconds", "ixfrdist_domains", "ixfrdist_unknown_domain_inqueries_total"]
+    metric_prog_stats = ["ixfrdist_uptime_seconds", "ixfrdist_domains",
+                         "ixfrdist_unknown_domain_inqueries_total",
+                         "ixfrdist_sys_msec", "ixfrdist_user_msec",
+                         "ixfrdist_real_memory_usage",
+                         "ixfrdist_fd_usage"]
     metric_domain_stats = ["ixfrdist_soa_serial", "ixfrdist_soa_checks_total",
                            "ixfrdist_soa_checks_failed_total",
                            "ixfrdist_soa_inqueries_total",