@@ -59,6 +59,7 @@ struct ServiceKindExtractor<InfoLoggerContext> {
5959 constexpr static ServiceKind kind = ServiceKind::Global;
6060};
6161
62+ #define MONITORING_QUEUE_SIZE 100
6263o2::framework::ServiceSpec CommonServices::monitoringSpec ()
6364{
6465 return ServiceSpec{" monitoring" ,
@@ -67,14 +68,18 @@ o2::framework::ServiceSpec CommonServices::monitoringSpec()
6768 bool isWebsocket = strncmp (options.GetPropertyAsString (" driver-client-backend" ).c_str (), " ws://" , 4 ) == 0 ;
6869 bool isDefault = options.GetPropertyAsString (" monitoring-backend" ) == " default" ;
6970 bool useDPL = (isWebsocket && isDefault) || options.GetPropertyAsString (" monitoring-backend" ) == " dpl://" ;
71+ o2::monitoring::Monitoring* monitoring;
7072 if (useDPL) {
71- auto monitoring = new Monitoring ();
73+ monitoring = new Monitoring ();
7274 monitoring->addBackend (std::make_unique<DPLMonitoringBackend>(registry));
73- service = monitoring;
7475 } else {
7576 auto backend = isDefault ? " infologger://" : options.GetPropertyAsString (" monitoring-backend" );
76- service = MonitoringFactory::Get (backend).release ();
77+ monitoring = MonitoringFactory::Get (backend).release ();
7778 }
79+ service = monitoring;
80+ monitoring->enableBuffering (MONITORING_QUEUE_SIZE);
81+ assert (registry.get <DeviceSpec const >().name .empty () == false );
82+ monitoring->addGlobalTag (" dataprocessor_id" , registry.get <DeviceSpec const >().name );
7883 return ServiceHandle{TypeIdHelpers::uniqueId<Monitoring>(), service};
7984 },
8085 noConfiguration (),
0 commit comments