Skip to content

Enable support for data point flags #4726

@sfc-gh-jhunter

Description

@sfc-gh-jhunter

Is your feature request related to a problem?

OpenTelemetry supports a single data point flag; see https://opentelemetry.io/docs/specs/otel/metrics/data-model/#data-point-flags . This flag, "no recorded value," can be used by an OpenTelemetry client to mitigate an undesired behavior in older versions of Prometheus:

If this flag is set on a data point, then this data point reflects explicitly missing data in a series. It serves as an indicator that a previously present timeseries was removed and that this timeseries SHOULD NOT be returned in queries after such an indicator was received. It is an equivalent of the Prometheus staleness marker.

OpenTelemetry's Go client supports this flag (see, e.g., https://github.com/open-telemetry/opentelemetry-collector/blob/main/pdata/pmetric/metric_data_point_flags.go ), and the OpenTelemetry protobuf definition supports it as well.

The Python client recently picked up the protobuf definition for "data point flags," but so far the Python client does not expose any way (that I can see) to convince the client API to set that flag.

Describe the solution you'd like

Provide a way to set the "no record value" flag, on a metric's datapoint, via the Python API.

Describe alternatives you've considered

Can't easily switch to a different OpenTelemetry client, since the host being instrumented is written in Python.

Additional Context

No response

Would you like to implement a fix?

No

Tip

React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions