Skip to main content
Version: 6.12

Open Telemetry Metrics

Patriot can export system statistics in the Open Telemetry standard format for metrics. This is a standardised common format which is supported by many major system observability + monitoring platforms.

Supported Integrations

The Open Telemetry Supported Vendors List maintains an up-to-date list of compatible systems. The exact setup steps for each platform will vary, please consult your platform documentation for details on receiving OTLP metric data.

Patriot Configuration

In the Data Service configuration file Telemetry section, set SendMetrics to True, and set the other settings to match the requirements of the destination server that will receive the OTLP metric data. Repeat this step for each Task Service as well.

{
"DataService": {
// ... other configuration ...
"Telemetry": {
"OpenTelemetry": {
"SendMetrics": true,
// Destination server
"Endpoint": "http://localhost:4317",
// Supported: Grpc (default) or HttpProtobuf
"Protocol": "Grpc",
// Optional headers to include in request (e.g. api key)
"Headers": "apikey=123,version=2"
}
}
}
}
note

You must restart the data service before the setting will take effect.

Data Service Metrics

Meter Name: patriot.data_service

Signal Processing Duration

Instrument NameInstrument TypeUnit (UCUM)Description
patriot.data_service.signal_processing.durationHistogrammsTime taken to process a signal
AttributeTypeDescriptionExamplesPresence
patriot.client.port_nostringThe client port number of the processed signal01; 05For all logged signals
patriot.action_plan.namestringThe final action plan of the processed signalFire Alarm; Opening (Unset)For all logged signals
patriot.signal.is_test_modebooleanTrue, if the signal was processed as a test mode eventtrueOnly for test mode signals
patriot.signal.non_logged_categorystringThe reason the signal was processed but not loggedNon-Monitored; Caller IDOnly for signals which were processed without being logged

Signal Processing Queues

Instrument NameInstrument TypeUnit (UCUM)Description
patriot.data_service.signal_processing.queued_signalsUpDownCounter{signal}Number of signals currently queued for processing
AttributeTypeDescriptionExamplesPresence
patriot.signal_processing.queue_namestringThe queue namerecsigs_writer.pending_writes; recsigs_reader.availableAlways

Signal Processing Workers

Instrument NameInstrument TypeUnit (UCUM)Description
patriot.data_service.signal_processing.active_workersUpDownCounter{worker}Number of currently active signal processing workers

Note: This metric has no attributes

Archiving Duration

Instrument NameInstrument TypeUnit (UCUM)Description
patriot.data_service.archiving.durationHistogramsTime taken for archiving to complete
AttributeTypeDescriptionExamplesPresence
patriot.archiving.typestringThe type of archivingdaily; periodicAlways

Reminder Processing

Instrument NameInstrument TypeUnit (UCUM)Description
patriot.data_service.reminder_processing.reminders_processedCounter{reminder}Number of reminders processed
AttributeTypeDescriptionExamplesPresence
patriot.reminder.categorystringThe kind of reminder that was processedauto_status_monitoring; alarm_processingAlways

Command Message Processing

Instrument NameInstrument TypeUnit (UCUM)Description
patriot.data_service.command_message_processing.messages_processedCounter{message}Number of command messages processed
AttributeTypeDescriptionExamplesPresence
patriot.command_message.typestringThe kind of message that was processedPoll; ForwardedSignalAlways

Command Message Processing Queue

Instrument NameInstrument TypeUnit (UCUM)Description
patriot.data_service.command_message_processing.queued_messagesUpDownCounter{message}Number of command messages queued for processing

Note: This metric has no attributes

Pending Alarm Activations Count

Instrument NameInstrument TypeUnit (UCUM)Description
patriot.data_service.pending_activations.countUpDownCounter{activation}Number of currently active alarm events
AttributeTypeDescriptionExamplesPresence
patriot.action_plan.namestringThe current action plan of the eventFire Alarm; Opening (Unset)Always
patriot.activation.statusstringThe current status of the eventnewAlways
patriot.activation.warning_levelintThe current warning timer level of the event0; 1; 2; 3If action plan exists
note

Only new alarms are currently reported

Task Service Metrics

Meter Name: patriot.task_service

Signal Buffer Queue Length

Instrument NameInstrument TypeUnit (UCUM)Description
patriot.task_service.signal_buffer.queue_lengthUpDownCounter{raw_signal}Number of signals currently buffered by the task service, awaiting delivery to the data service
AttributeTypeDescriptionExamplesPresence
messaging.destination.namestringThe destination data service for the buffered signalpatriot-data-server; localhostAlways

Signal Buffer Queue Length

Instrument NameInstrument TypeUnit (UCUM)Description
patriot.task.signals_receivedCounter{raw_signal}Number of signals received by a Patriot task
AttributeTypeDescriptionExamplesPresence
patriot.raw_signal.sourcestringThe source task that generated the signalTask 17: Surgard Serial;Always
patriot.raw_signal.categorystringThe category of the generated signalbad_data; system; standardAlways