Skip to content

otlp endpoint: No metric translation by default #14990

@ArthurSens

Description

@ArthurSens

Proposal

The /otlp endpoint is used to ingest metrics in the OpenTelemetry Line Protocol (OTLP) format. Historically, Prometheus couldn't ingest metrics with UTF-8 characters. Functionality that was added in the most recent versions of Prometheus:

  • 2.55.0 accepts UTF-8 but requires feature-flag
  • 3.0.0 accepts UTF-8 by default

A few months ago, David Ashpole run a survey that shows clear distinction about preferences on how metrics should look like in Prometheus. On one side, Prometheus veterans like the usual Prometheus naming conventions with underscores and unit suffixes. On the other, a new user base is emerging that comes from the OTel world, and those prefer metric name with dots and without unit suffixes.

In Prometheus, there is also a clear distinction:

  • Prometheus veterans will use the traditional ways of ingesting data: Scraping and Prometheus Remote Write
  • OTel users will use the OTLP endpoint.

Since Prometheus veterans are expected to use the usual prometheus protocols and not the /otlp endpoint, we can make OTel users happier by not translating anything when data is ingested by the mentioned enpoint.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions