Skip to content

Application Services - Service Metrics

All application services have the following built-in metrics:

Metric Name Type Description
MessagesReceived counter Counts the number of messages received by the application service. Includes invalid messages
InvalidMessagesReceived counter Counts the number of invalid messages received by the application service
HttpExportSize histogram Collects the size of data exported via the built-in HTTP Export pipeline function. The metric data is tagged with the specific URL.
HttpExportErrors counter Counts the number of errors encountered when exporting via HTTP. The metric data is tagged with the specific URL.
MqttExportSize histogram Collects the size of data exported via the built-in MQTT Export pipeline function. The metric data is tagged with the specific broker address and topic.
MqttExportErrors counter Counts the number of errors encountered when exporting via MQTT. The metric data is tagged with the specific broker address and topic.
PipelineMessagesProcessed counter Counts the number of messages processed by the individual function pipelines defined by the application service. The metric data is tagged with the specific function pipeline ID the count is for.
PipelineProcessingErrors counter Counts the number of errors returned by the individual function pipelines defined by the application service. The metric data is tagged with the specific function pipeline ID the count is for.
PipelineMessageProcessingTime timer Tracks the amount of time taken to process messages by the individual function pipelines defined by the application service. The metric data is tagged with the specific function pipeline ID the timer is for. The time tracked for this metric is only for the function pipeline processing time. The overhead of receiving the messages and handing them to the appropriate function pipelines is not included. Accounting for this overhead may be added as another timer metric in a future release.

Edgex 3.1

HttpExportErrors & MqttExportErrors metrics are new in EdgeX 3.1

Reporting of these built-in metrics is disabled by default in the Writable.Telemetry configuration section. See Writable.Telemetry configuration details in the Application Service Configuration section for complete detail on this section. If the configuration for these built-in metrics are missing, then the reporting of the metrics will be disabled.

Example - Service Telemetry Configuration with all built-in metrics enabled for reporting

Writable:
  Telemetry:
    Interval: "30s"
    Metrics:
      MessagesReceived: true
      InvalidMessagesReceived: true
      PipelineMessagesProcessed: true 
      PipelineMessageProcessingTime: true
      PipelineProcessingErrors: true 
      HttpExportSize: true 
      HttpExportErrors: true
      MqttExportSize: true 
      MqttExportErrors: true 
    Tags: # Contains the service level tags to be attached to all the service's metrics
    Gateway: "my-iot-gateway" # Tag must be added here or via Consul Env Override can only change existing value, not added new ones.

See Custom Service Metrics page for details on creating additional service metrics in a custom application service.