Mercurial > hg > orthanc
comparison 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 |
comparison
equal
deleted
inserted
replaced
3176:784bbb03fb54 | 3177:053e72ff9fc5 |
---|---|
405 } | 405 } |
406 | 406 |
407 | 407 |
408 static void GetMetricsPrometheus(RestApiGetCall& call) | 408 static void GetMetricsPrometheus(RestApiGetCall& call) |
409 { | 409 { |
410 static const uint64_t MEGA_BYTES = 1024 * 1024; | 410 static const float MEGA_BYTES = 1024 * 1024; |
411 | 411 |
412 ServerContext& context = OrthancRestApi::GetContext(call); | 412 ServerContext& context = OrthancRestApi::GetContext(call); |
413 | |
414 MetricsRegistry& registry = context.GetMetricsRegistry(); | |
415 | 413 |
416 uint64_t diskSize, uncompressedSize, countPatients, countStudies, countSeries, countInstances; | 414 uint64_t diskSize, uncompressedSize, countPatients, countStudies, countSeries, countInstances; |
417 context.GetIndex().GetGlobalStatistics(diskSize, uncompressedSize, countPatients, | 415 context.GetIndex().GetGlobalStatistics(diskSize, uncompressedSize, countPatients, |
418 countStudies, countSeries, countInstances); | 416 countStudies, countSeries, countInstances); |
419 | 417 |
420 registry.SetValue("orthanc_disk_size_mb", static_cast<unsigned int>(diskSize / MEGA_BYTES)); | 418 unsigned int jobsPending, jobsRunning, jobsCompleted; |
421 registry.SetValue("orthanc_uncompressed_size_mb", static_cast<unsigned int>(diskSize / MEGA_BYTES)); | 419 context.GetJobsEngine().GetRegistry().GetStatistics(jobsPending, jobsRunning, jobsCompleted); |
420 | |
421 MetricsRegistry& registry = context.GetMetricsRegistry(); | |
422 registry.SetValue("orthanc_disk_size_mb", static_cast<float>(diskSize) / MEGA_BYTES); | |
423 registry.SetValue("orthanc_uncompressed_size_mb", static_cast<float>(diskSize) / MEGA_BYTES); | |
422 registry.SetValue("orthanc_count_patients", static_cast<unsigned int>(countPatients)); | 424 registry.SetValue("orthanc_count_patients", static_cast<unsigned int>(countPatients)); |
423 registry.SetValue("orthanc_count_studies", static_cast<unsigned int>(countStudies)); | 425 registry.SetValue("orthanc_count_studies", static_cast<unsigned int>(countStudies)); |
424 registry.SetValue("orthanc_count_series", static_cast<unsigned int>(countSeries)); | 426 registry.SetValue("orthanc_count_series", static_cast<unsigned int>(countSeries)); |
425 registry.SetValue("orthanc_count_instances", static_cast<unsigned int>(countInstances)); | 427 registry.SetValue("orthanc_count_instances", static_cast<unsigned int>(countInstances)); |
428 registry.SetValue("orthanc_jobs_pending", jobsPending); | |
429 registry.SetValue("orthanc_jobs_running", jobsRunning); | |
430 registry.SetValue("orthanc_jobs_completed", jobsCompleted); | |
426 | 431 |
427 std::string s; | 432 std::string s; |
428 registry.ExportPrometheusText(s); | 433 registry.ExportPrometheusText(s); |
429 | 434 |
430 call.GetOutput().AnswerBuffer(s, MimeType_PrometheusText); | 435 call.GetOutput().AnswerBuffer(s, MimeType_PrometheusText); |