Resource descriptor synthesized from OTLP metrics requests, so the entity
graph reads one table instead of scanning every logical metric table for
attributes the promote filter may have dropped.
Prometheus-style (job, instance) identity. Per the OTel Prometheus
compatibility spec job folds in service.namespace when present; a
resource without service.name gets no job rather than a fabricated one.
Both fields are optional strings, so a named type keeps a swapped
destructuring from type-checking at the call sites.
The tables a metric emits and their per-table metric.type. Histogram fans
out into _bucket (the histogram) plus _sum/_count counters; summary
fans out into the quantile table plus _count/_sum counters.
Encodes sums, preserving delta points as interval values with a temporality tag.
Ingestion is stateless: values are never accumulated across timestamps.
Converts OpenTelemetry metrics without validating destination table schemas.
Ingestion callers use prepare_metrics, run destination preflight, then call
PreparedMetrics::finish to apply rejections and merge surviving points.