diff Framework/Plugins/DatabaseBackendAdapterV4.cpp @ 447:5881e4af5799 pg-transactions

measure DB latency
author Alain Mazy <am@osimis.io>
date Mon, 15 Jan 2024 18:27:20 +0100
parents cec6a0cd399f
children f0976163dbe1
line wrap: on
line diff
--- a/Framework/Plugins/DatabaseBackendAdapterV4.cpp	Mon Jan 15 15:21:43 2024 +0100
+++ b/Framework/Plugins/DatabaseBackendAdapterV4.cpp	Mon Jan 15 18:27:20 2024 +0100
@@ -433,6 +433,7 @@
         response.mutable_get_system_information()->set_supports_labels(accessor.GetBackend().HasLabelsSupport());
         response.mutable_get_system_information()->set_supports_increment_global_property(accessor.GetBackend().HasAtomicIncrementGlobalProperty());
         response.mutable_get_system_information()->set_has_update_and_get_statistics(accessor.GetBackend().HasUpdateAndGetStatistics());
+        response.mutable_get_system_information()->set_has_measure_latency(accessor.GetBackend().HasMeasureLatency());
         break;
       }
 
@@ -516,7 +517,14 @@
         
         break;
       }
-              
+
+      case Orthanc::DatabasePluginMessages::OPERATION_MEASURE_LATENCY:
+      {
+        IndexConnectionsPool::Accessor accessor(pool);
+        response.mutable_measure_latency()->set_latency_us(accessor.GetBackend().MeasureLatency(accessor.GetManager()));
+        break;
+      }
+
       default:
         LOG(ERROR) << "Not implemented database operation from protobuf: " << request.operation();
         throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);