Mercurial > hg > orthanc
diff OrthancServer/OrthancRestApi/OrthancRestSystem.cpp @ 3177:053e72ff9fc5
new metrics: orthanc_jobs_[pending|running|completed]
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 30 Jan 2019 10:24:12 +0100 |
parents | 8ea7c4546c3a |
children | fca730c267d7 |
line wrap: on
line diff
--- a/OrthancServer/OrthancRestApi/OrthancRestSystem.cpp Tue Jan 29 18:07:41 2019 +0100 +++ b/OrthancServer/OrthancRestApi/OrthancRestSystem.cpp Wed Jan 30 10:24:12 2019 +0100 @@ -407,22 +407,27 @@ static void GetMetricsPrometheus(RestApiGetCall& call) { - static const uint64_t MEGA_BYTES = 1024 * 1024; + static const float MEGA_BYTES = 1024 * 1024; ServerContext& context = OrthancRestApi::GetContext(call); - MetricsRegistry& registry = context.GetMetricsRegistry(); - uint64_t diskSize, uncompressedSize, countPatients, countStudies, countSeries, countInstances; context.GetIndex().GetGlobalStatistics(diskSize, uncompressedSize, countPatients, countStudies, countSeries, countInstances); - registry.SetValue("orthanc_disk_size_mb", static_cast<unsigned int>(diskSize / MEGA_BYTES)); - registry.SetValue("orthanc_uncompressed_size_mb", static_cast<unsigned int>(diskSize / MEGA_BYTES)); + unsigned int jobsPending, jobsRunning, jobsCompleted; + context.GetJobsEngine().GetRegistry().GetStatistics(jobsPending, jobsRunning, jobsCompleted); + + 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_jobs_pending", jobsPending); + registry.SetValue("orthanc_jobs_running", jobsRunning); + registry.SetValue("orthanc_jobs_completed", jobsCompleted); std::string s; registry.ExportPrometheusText(s);