Documentation ¶
Overview ¶
Package prometheus is imported from the official OpenTelemetry package: https://github.com/open-telemetry/opentelemetry-go/tree/v1.14.0/exporters/prometheus The version of the exporter would be v0.37.0 (not v1.14.0, see releases).
Customisations applied:
scope info keys are not "otel_scope_name", "otel_scope_version" but we're now using the semconv ones to be consistent if we switch over to gRPC. we're propagating them via the *resource.Resource (see Collect method) see here: https://github.com/open-telemetry/opentelemetry-go/blob/v1.14.0/exporters/prometheus/exporter.go#L48
prometheus counters MUST have a _total suffix but that breaks our dashboards, so we removed it see here: https://github.com/open-telemetry/opentelemetry-go/blob/v1.14.0/exporters/prometheus/exporter.go#L73
a global logger was used, we made it injectable via options see here: https://github.com/open-telemetry/opentelemetry-go/blob/v1.14.0/exporters/prometheus/exporter.go#L393
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Exporter ¶
Exporter is a Prometheus Exporter that embeds the OTel metric.Reader interface for easy instantiation with a MeterProvider.
type Option ¶
type Option interface {
// contains filtered or unexported methods
}
Option sets exporter option values.
func WithAggregationSelector ¶
func WithAggregationSelector(agg metric.AggregationSelector) Option
WithAggregationSelector configure the Aggregation Selector the exporter will use. If no AggregationSelector is provided the DefaultAggregationSelector is used.
func WithRegisterer ¶
func WithRegisterer(reg prometheus.Registerer) Option
WithRegisterer configures which prometheus Registerer the Exporter will register with. If no registerer is used the prometheus DefaultRegisterer is used.
func WithoutScopeInfo ¶
func WithoutScopeInfo() Option
WithoutScopeInfo configures the Exporter to not export the otel_scope_info metric. If not specified, the Exporter will create a otel_scope_info metric containing the metrics' Instrumentation Scope, and also add labels about Instrumentation Scope to all metric points.
func WithoutTargetInfo ¶
func WithoutTargetInfo() Option
WithoutTargetInfo configures the Exporter to not export the resource target_info metric. If not specified, the Exporter will create a target_info metric containing the metrics' resource.Resource attributes.
func WithoutUnits ¶
func WithoutUnits() Option
WithoutUnits disables exporter's addition of unit suffixes to metric names, and will also prevent unit comments from being added in OpenMetrics once unit comments are supported.
By default, metric names include a unit suffix to follow Prometheus naming conventions. For example, the counter metric request.duration, with unit milliseconds would become request_duration_milliseconds_total. With this option set, the name would instead be request_duration_total.