Link Search Menu Expand Document Documentation Menu

OTel APM service map processor

The otel_apm_service_map processor analyzes OpenTelemetry (OTel) trace spans to automatically generate Application Performance Monitoring (APM) service map relationships and metrics. It creates structured events that can be visualized as service topology graphs, showing how services communicate with each other and detailing their performance characteristics.

The otel_apm_service_map processor provides all the functionality of the existing service_map processor while offering enhanced observability capabilities. In addition to generating service maps, it creates time-based service maps that capture how relationships between services evolve over time rather than producing a static representation.

The processor also automatically generates Rate, Errors, and Duration (RED) metrics for each service, delivering immediate insight into service health and performance without requiring additional configuration.

Configuration

The following table describes the options you can use to configure the otel_apm_service_map processor.

Option Required Type Description
window_duration No Duration The fixed time window during which APM service map relationships are evaluated. Supports ISO-8601 duration format (for example, PT60S or PT1M) or simple integer values (interpreted as seconds). Default is 60s.
db_path No String A directory path for creating database files storing transient heap memory data when processing APM service map data. Default is data/otel-apm-service-map/.
group_by_attributes No List A list of OTel resource attribute names to copy into Service.groupByAttributes when they are present in a span’s resource attributes. This setting applies only to primary Service objects and not to dependency services. Default is an empty list.

Usage

entry-pipeline:
   source:
     otel_trace_source:
       path: "/test/path"
   sink:
     - pipeline:
         name: "raw-pipeline"
     - pipeline:
         name: "service-map-pipeline"
raw-pipeline:
   source:
     pipeline:
       name: "entry-pipeline"
   processor:
     - otel_trace_raw:
   sink:
     - opensearch:
         hosts: [<host>]
         index_type: trace-analytics-raw
service-map-pipeline:
   source:
     pipeline:
       name: "entry-pipeline"
   processor:
     - otel_apm_service_map:
         window_duration: 60s
         db_path: "data/otel-apm-service-map/"
   sink:
     - opensearch:
         hosts: [<host>]
         index_type: trace-analytics-service-map

Metrics

The following table describes common Abstract processor metrics.

Metric name Type Description
recordsIn Counter The ingress of records to a pipeline component.
recordsOut Counter The egress of records from a pipeline component.
timeElapsed Timer The time elapsed during execution of a pipeline component, in milliseconds.

The otel_apm_service_map processor includes the following custom metrics.

Metric name Type Description
spansDbSize Gauge The total size of all three span database windows, in bytes.
spansDbCount Gauge The total number of span entries across all three span database windows.
350 characters left

Have a question? .

Want to contribute? or .