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);