APM reference

This page describes what data is provided by APM and how it is used.

Span dataset schema

Spans are ingested to the OpenTelemetry/Span dataset.

Observe APM is OpenTelemetry-native, meaning it is powered entirely by OpenTelemetry data and is fully compatible with the OpenTelemetry semantic conventions. In order to make the product more intuitive for users who may not be intimately familiar with OpenTelemetry, we transform raw OpenTelemetry data into the following schema:

Span dataset field

Underlying OpenTelemetry field from which it is derived

span_name and Operation

Span name

environment

deployment.environment in the span’s resource attributes

service_version

service.version in the span’s resource attributes

response_status

Span status.code

status_code

derived from http.status_code, rpc.status_code, grpc.status_code, or rpc.grpc.status_code in the span’s attributes

status_message

Span status.message

span_type

Span kind

duration

Span start_time_unix_nano and send_time_unix_nano

attributes

The span’s attributes

resource_attributes

The span’s resource attributes

The span_type field provides an intuitive categorization of OpenTelemetry span kinds, mapping 1:1 to the kind field in OpenTelemetry but using more user-friendly terms to describe the span’s role in the system:

Observe span_type value

OpenTelemetry Span kind value

Service entry point

SERVER

Remote call

CLIENT

Async consumer

CONSUMER

Async producer

PRODUCER

Internal operation

INTERNAL

Correlation tags on span data

The following correlation tags are added to the Span dataset and can be used to correlate other data with traces:

Correlation tag

Span dataset field on which it is defined

deployment.environment.name

resource_attributes."deployment.environment"

k8s.cluster.uid

resource_attributes."k8s.cluster.uid"

k8s.namespace.name

resource_attributes."k8s.namespace.name"

k8s.pod.name

resource_attributes."k8s.pod.name"

service.name

resource_attributes."service.name"

service.namespace

resource_attributes."service.namespace"

service.version

resource_attributes."service.version"

service.name

service_name

service.namespace

service_namespace

operation.name

span_name

service.version

service_version

Span event dataset schema

Span events are ingested to the OpenTelemetry/Span Event dataset.

Span Event dataset field

Underlying OTel field from which it is derived

span_id

the span_id of the span containing the event

trace_id

the trace_id of the span containing the event

event_name

The event’s name

attributes

The event’s attributes

resource_attributes

The resource attributes of the span containing the event

APM metrics

The following metrics are derived from spans and are available in the Metric Explorer, and can be used for dashboarding and monitors:

  • span_call_count_5m

  • span_call_count_with_status_5m

  • span_database_call_count_5m

  • span_database_duration_5m

  • span_database_duration_lg_5m

  • span_database_error_count_5m

  • span_database_parent_call_count_5m

  • span_database_parent_duration_5m

  • span_database_parent_error_count_5m

  • span_duration_5m

  • span_duration_lg_5m

  • span_duration_with_status_5m

  • span_entrypoint_parent_call_count_5m

  • span_entrypoint_parent_duration_5m

  • span_entrypoint_parent_error_count_5m

  • span_error_count_5m

  • span_error_count_with_status_5m

  • span_smart_error_count_5m

  • span_sn_service_edge_count_5m

  • span_sn_service_edge_duration_tdigest_5m

  • span_sn_service_edge_error_count_5m

  • span_sn_service_node_count_5m

  • span_sn_service_node_duration_tdigest_5m

  • span_sn_service_node_error_count_5m

  • span_total_duration_with_status_5m

Metric dimensions: Service, Operation (i.e., endpoint name), service_namespace, service_version, status_code, status_message, environment