Skip to content

Create bare exporter for allowing metrics to be arbitrarily collected. #254

Open
@tobz

Description

@tobz

Over time, metrics-exporter-prometheus has received the lion's share of features and updates: clearing idle metrics, handling aggregation of histogram data, and so on.

While most people can use a Prometheus exporter to integrate with their existing observability pipelines, some users have requested the ability to access the metric data stored by metrics-exporter-prometheus directly from their applications, but with all transformations, aggregations, etc, still present.

One PR (#236) sought to add this capability directly to metrics-exporter-prometheus but this sort of flies in the face of the entire point of a Prometheus-specific exporter. However, with a small bit of work, we could likely abstract this functionality from metrics-exporter-prometheus and create a new exporter that only provides the ability to access the metrics after processing idle metrics, aggregation, and so on.

Additionally, this would make it easier to design other exporters since most of the common necessities -- don't send idle metrics, send histograms in whatever the most granular form accepted is, etc -- could be abstracted and then refactored slightly to become more like stackable middleware than specific/hard-coded bolt-ons to certain exporters.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-exporterComponent: exporters such as Prometheus, TCP, etc.E-intermediateEffort: intermediate.S-future-workStatus: valid as a potential future work item, but not currently prioritizedT-enhancementType: enhancement.T-refactorType: refactor.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions