For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Sign inTry it free
DocsGuidesSDKsIntegrationsAPI docsTutorialsFlagship blog
DocsGuidesSDKsIntegrationsAPI docsTutorialsFlagship blog
  • Get started
    • Overview
    • Onboarding
    • Get started
    • Launch Insights
    • LaunchDarkly architecture
    • LaunchDarkly vocabulary
  • AgentControl
    • AgentControl
    • Manage AgentControl
  • Feature flags
    • Create flags
    • Target with flags
    • Flag templates
    • Manage flags
    • Code references
    • Contexts
    • Segments
  • Releases
    • Releasing features with LaunchDarkly
    • Release policies
    • Percentage rollouts
    • Progressive rollouts
    • Guarded rollouts
    • Feature monitoring
    • Release pipelines
    • Engineering insights
    • Release management tools
    • Applications and app versions
    • Change history
    • Restoring previous flag versions
  • Observability
    • Observability
    • Session replay
    • Error monitoring
    • Logs
    • Traces
    • Observability metrics
    • Product analytics events
    • LLM observability
    • Alerts
    • Dashboards
    • Service map
    • Vega for auto-remediation
    • Observability MCP server
    • Search specification
    • Observability settings
    • Observability integrations
  • Experimentation
    • Experimentation
    • Experiment metric types
    • Experiment configuration
    • Managing experiments
    • Analyzing experiments
    • Multi-armed bandits
    • Holdouts
  • Metrics and events
    • Metrics in LaunchDarkly
    • Creating metrics
    • Metric groups
    • Events
    • Autogenerated metrics
      • AgentControl config metrics
      • Observability metrics
      • OpenTelemetry metrics
  • Warehouse native
    • Warehouse native metrics
    • Setting up external warehouses
    • Creating experiments using warehouse native metrics
  • Infrastructure
    • Connect apps and services to LaunchDarkly
    • LaunchDarkly in China and Pakistan
    • LaunchDarkly in the European Union (EU)
    • LaunchDarkly in federal environments
    • Public IP list
  • Your account
    • Projects
    • Views
    • Environments
    • Tags
    • Teams
    • Members
    • Roles
    • Account security
    • Feature previews
    • Billing and usage
    • Changelog
Sign inTry it free
LogoLogo
On this page
  • Overview
Metrics and eventsAutogenerated metrics

OpenTelemetry autogenerated metrics

Was this page helpful?
Previous

Warehouse native metrics

Next
Built with

Overview

This topic describes metrics that LaunchDarkly autogenerates from certain OpenTelemetry span events.

LaunchDarkly’s server SDKs support instrumentation for OpenTelemetry traces. Traces provide an overview of how your application handles requests. For example, traces may show that a particular feature flag was evaluated for a particular context as part of a given HTTP request. When LaunchDarkly receives OpenTelemetry trace data containing certain span events, it processes and converts this data into metric events that LaunchDarkly metrics track over time.

There are two types of events that LaunchDarkly creates from OpenTelemetry traces: route-specific events and global events. Route-specific events are useful when you are experimenting with a change that is known to impact a small subset of your server’s HTTP routes. Global events are useful when you believe your change may impact all routes, or when you are not sure of the impact of your change.

To learn more, read OpenTelemetry for server-side SDKs.

Autogenerated OpenTelemetry metric events are prefixed with otel. LaunchDarkly generates the following metrics from the events that LaunchDarkly produces from your OpenTelemetry trace data. This trace data includes the feature flag and the context for which you evaluated the flag. You can also create these metrics manually if you wish.

These expandable sections explain the metrics that LaunchDarkly autogenerates from OpenTelemetry traces:

User HTTP error rate (OpenTelemetry) otel.http.error

Metric kind: Custom conversion binary

Suggested analysis unit: User

Definition:

  • Measurement method: Occurrence
  • Unit aggregation method: Average
  • Analysis method: Average
  • Success criterion: lower is better
  • Units without events: Include units and set the value to 0

Description: Measures the percentage of users that encountered an error inside HTTP spans at least once, as reported by OpenTelemetry. Useful when running a guarded rollout.

Per-route HTTP request errors http.error;method={http.request.method};route={http.route}

Metric kind: Custom conversion binary

Suggested analysis unit: Request

Definition:

  • Measurement method: Occurrence
  • Unit aggregation method: Average
  • Analysis method: Average
  • Success criterion: lower is better
  • Units without events: Include units and set the value to 0

Examples:

  • http.error;method=GET;route=/api/v2/flags
  • http.error;method=PATCH;route=/api/v2/flags/{id}

User HTTP 5XX response rate (OpenTelemetry) otel.http.5XX

Metric kind: Custom conversion binary

Suggested analysis unit: User

Definition:

  • Measurement method: Occurrence
  • Unit aggregation method: Average
  • Analysis method: Average
  • Success criterion: lower is better
  • Units without events: Include units and set the value to 0

Description: Measures the percentage of users that encountered an HTTP 5XX response at least once, as reported by OpenTelemetry. Useful when running a guarded rollout.

Per-route HTTP 5XXs (OpenTelemetry) http.5XX;method={http.request.method};route={http.route}

Metric kind: Custom conversion binary

Suggested analysis unit: Request

Definition:

  • Measurement method: Occurrence
  • Unit aggregation method: Average
  • Analysis method: Average
  • Success criterion: lower is better
  • Units without events: Include units and set the value to 0

Examples:

  • http.5XX;method=GET;route=/api/v2/flags
  • http.5XX;method=PATCH;route=/api/v2/flags/{id}

User non-HTTP exception rate (OpenTelemetry) otel.exception

Metric kind: Custom conversion binary

Suggested analysis unit: User

Definition:

  • Measurement method: Occurrence
  • Unit aggregation method: Average
  • Analysis method: Average
  • Success criterion: lower is better
  • Units without events: Include units and set the value to 0

Description: Measures the percentage of users that encountered an exception outside of HTTP spans at least once, as reported by OpenTelemetry. Useful when running a guarded rollout.

Average request latency (OpenTelemetry) otel.http.latency

Metric kind: Custom numeric

Suggested analysis unit: Request

Definition:

  • Measurement method: Value/size
  • Unit aggregation method: Average
  • Analysis method: Average
  • Success criterion: lower is better
  • Units without events: Exclude units that did not send any events

Description: Measures the average request latency, as reported by OpenTelemetry. Useful when running a guarded rollout. For best results, use a ‘request’ analysis unit and send ‘request’ contexts.

P95 request latency (OpenTelemetry) otel.http.latency

Metric kind: Custom numeric

Suggested analysis unit: Request

Definition:

  • Measurement method: Value/size
  • Unit aggregation method: Average
  • Analysis method: P95
  • Success criterion: lower is better
  • Units without events: Exclude units that did not send any events

Description: Measures the 95th percentile request latency, as reported by OpenTelemetry. For many applications, this represents the experience for most requests. You can adjust the percentile to fit your application’s needs. Useful when running a guarded rollout. For best results, use a ‘request’ analysis unit and send ‘request’ contexts.

P99 request latency (OpenTelemetry) otel.http.latency

Metric kind: Custom numeric

Suggested analysis unit: Request

Definition:

  • Measurement method: Value/size
  • Unit aggregation method: Average
  • Analysis method: P99
  • Success criterion: lower is better
  • Units without events: Exclude units that did not send any events

Description: Measures the 99th percentile request latency, as reported by OpenTelemetry. For many applications, this represents the worst-case experiences. You can adjust the percentile to fit your application’s needs. Useful when running a guarded rollout. For best results, use a ‘request’ analysis unit and send ‘request’ contexts.

Per-route HTTP request latency (OpenTelemetry) http.latency;method={http.request.method};route={http.route}

Metric kind: Custom numeric

Suggested analysis unit: Request

Definition:

  • Measurement method: Value/size
  • Unit aggregation method: Average
  • Analysis method: Average
  • Success criterion: lower is better
  • Units without events: Exclude units that did not send any events

Examples:

  • http.latency;method=GET;route=/api/v2/flags
  • http.latency;method=PATCH;route=/api/v2/flags/{id}