OpenMetrics Integration
Native OpenMetrics exposition format support for modern metric collection. Ingest all OpenMetrics types including exemplars, StateSet, and GaugeHistogram with full IETF RFC 9090 compliance.
How It Works
Expose OpenMetrics Endpoint
Configure your application or exporter to serve metrics in OpenMetrics text format at /metrics with Content-Type: application/openmetrics-text. TigerOps auto-detects the format version.
Configure TigerOps Scraping
Add your OpenMetrics endpoint to TigerOps scrape configuration. TigerOps uses content negotiation to request OpenMetrics format when the endpoint supports it, falling back to Prometheus format.
Validate Type Handling
TigerOps correctly handles all OpenMetrics types: Counter (with _total suffix), Gauge, Summary, Histogram, GaugeHistogram, StateSet, Info, and Unknown. Verify type metadata is preserved.
Enable Exemplar Collection
TigerOps ingests OpenMetrics exemplars attached to Histogram and GaugeHistogram buckets. Exemplars carry trace IDs that TigerOps links to distributed traces for metric-to-trace correlation.
What You Get Out of the Box
Full OpenMetrics Type Support
TigerOps natively supports all OpenMetrics 1.0 metric types including Counter, Gauge, Summary, Histogram, GaugeHistogram, StateSet, Info, and Unknown — beyond what standard Prometheus supports.
Exemplar Ingestion and Trace Linking
OpenMetrics exemplars on Histogram buckets carry trace_id and span_id labels. TigerOps ingests exemplars and links them to distributed traces, enabling one-click navigation from a slow latency bucket to the offending trace.
StateSet Metric Visualization
OpenMetrics StateSets encode multi-state values (e.g., traffic_light{color="red"}=1). TigerOps renders StateSets as state timeline visualizations, making state transitions immediately visible.
Info Metric Label Enrichment
OpenMetrics Info metrics carry static metadata (version, build_revision, feature_flags). TigerOps automatically joins Info labels with other metrics from the same target for enriched queries.
GaugeHistogram Support
TigerOps stores and queries GaugeHistogram metrics (cumulative histograms that can decrease) correctly. This supports memory allocation histograms, GC pause buckets, and other non-monotonic distributions.
Content Negotiation and Fallback
TigerOps scraper sends Accept: application/openmetrics-text headers and falls back to text/plain Prometheus format. Endpoints are upgraded to OpenMetrics automatically when they add support.
OpenMetrics Scrape Configuration
Configure TigerOps to scrape OpenMetrics endpoints with exemplar collection enabled.
# TigerOps OpenMetrics scrape configuration
scrape_configs:
- job_name: myapp-openmetrics
# Request OpenMetrics format via content negotiation
scrape_protocols:
- OpenMetricsText1.0.0
- OpenMetricsText0.0.1
- PrometheusText0.0.4 # fallback
honor_labels: false
honor_timestamps: true
# Enable exemplar ingestion (requires OpenMetrics)
enable_exemplar_storage: true
scrape_interval: 15s
scrape_timeout: 10s
static_configs:
- targets:
- myapp-service:8080
labels:
env: production
team: platform
# OpenMetrics exposition example (application output):
# # HELP http_requests_total Total HTTP requests
# # TYPE http_requests_total counter
# http_requests_total_total{method="GET",code="200"} 1234 # {trace_id="abc123"} 1 1700000000.000
# # HELP request_duration_seconds Request latency
# # TYPE request_duration_seconds histogram
# request_duration_seconds_bucket{le="0.1"} 900
# request_duration_seconds_bucket{le="0.5"} 990 # {trace_id="def456"} 0.48
# request_duration_seconds_bucket{le="+Inf"} 1000
# request_duration_seconds_count 1000
# request_duration_seconds_sum 123.4
# # EOFCommon Questions
What is the difference between OpenMetrics and Prometheus exposition format?
OpenMetrics (IETF RFC 9090) is a superset of Prometheus text format. It adds new metric types (StateSet, GaugeHistogram, Info), mandatory _total suffix for counters, exemplar support on histograms, and a required EOF terminator.
Does TigerOps support OpenMetrics exemplars for trace correlation?
Yes. TigerOps ingests exemplars from Histogram and GaugeHistogram metrics. If the exemplar carries a trace_id label, TigerOps links the metric bucket to the corresponding distributed trace in your trace backend.
Can I use OpenMetrics with existing Prometheus exporters?
Yes. Many Prometheus exporters (prometheus/client_golang 1.x, prometheus/client_python 0.12+) already support OpenMetrics output via content negotiation. TigerOps automatically requests OpenMetrics format from compatible exporters.
How does TigerOps handle OpenMetrics Info metrics?
TigerOps stores Info metrics as label sets and automatically joins their labels to time series from the same job and instance. This means target_info labels (version, revision) appear in all metrics from that target.
Is OpenMetrics supported in the TigerOps remote write endpoint?
Yes. The TigerOps remote write endpoint accepts both Prometheus remote write and OpenMetrics HTTP export. For Prometheus Agents and OpenTelemetry Collector, use the Prometheus remote write exporter pointing to TigerOps.
Unlock the Full Power of OpenMetrics with TigerOps
Full type support, exemplar-to-trace linking, and AI anomaly detection. The most complete OpenMetrics-native observability platform.