diff OrthancServer/Sources/OrthancRestApi/OrthancRestSystem.cpp @ 5326:fbe857e942cd

store metrics as integers instead of floats to avoid precision loss in increments
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sun, 25 Jun 2023 18:28:49 +0200
parents b5c502bcaf99
children 808319c1e22b
line wrap: on
line diff
--- a/OrthancServer/Sources/OrthancRestApi/OrthancRestSystem.cpp	Sun Jun 25 17:49:34 2023 +0200
+++ b/OrthancServer/Sources/OrthancRestApi/OrthancRestSystem.cpp	Sun Jun 25 18:28:49 2023 +0200
@@ -913,12 +913,12 @@
     context.GetIndex().GetLastChange(lastChange);
 
     MetricsRegistry& registry = context.GetMetricsRegistry();
-    registry.SetValue("orthanc_disk_size_mb", static_cast<float>(diskSize) / MEGA_BYTES);
-    registry.SetValue("orthanc_uncompressed_size_mb", static_cast<float>(diskSize) / MEGA_BYTES);
-    registry.SetValue("orthanc_count_patients", static_cast<unsigned int>(countPatients));
-    registry.SetValue("orthanc_count_studies", static_cast<unsigned int>(countStudies));
-    registry.SetValue("orthanc_count_series", static_cast<unsigned int>(countSeries));
-    registry.SetValue("orthanc_count_instances", static_cast<unsigned int>(countInstances));
+    registry.SetValue("orthanc_disk_size_mb", boost::math::llround(static_cast<float>(diskSize) / MEGA_BYTES));
+    registry.SetValue("orthanc_uncompressed_size_mb", boost::math::llround(static_cast<float>(diskSize) / MEGA_BYTES));
+    registry.SetValue("orthanc_count_patients", static_cast<int64_t>(countPatients));
+    registry.SetValue("orthanc_count_studies", static_cast<int64_t>(countStudies));
+    registry.SetValue("orthanc_count_series", static_cast<int64_t>(countSeries));
+    registry.SetValue("orthanc_count_instances", static_cast<int64_t>(countInstances));
     registry.SetValue("orthanc_jobs_pending", jobsPending);
     registry.SetValue("orthanc_jobs_running", jobsRunning);
     registry.SetValue("orthanc_jobs_completed", jobsSuccess + jobsFailed);