{loops.analytics.metric_prefix}_cost_usd |
gauge |
USD |
— |
loops.analytics.graphs includes 'cost' |
request cost per bucket (US dollars) |
{loops.analytics.metric_prefix}_cost_usd_by_metadata |
gauge |
USD |
metadata_key, metadata_value |
loops.groups settings.emit_cost=true with a metadata dimension |
cost per metadata-dimension value (÷100 from Portkey cents) |
{loops.analytics.metric_prefix}_cost_usd_by_model |
gauge |
USD |
ai_model |
loops.groups settings.emit_cost=true |
cost per AI model (÷100 from Portkey cents) |
{loops.analytics.metric_prefix}_errors |
gauge |
1 |
— |
loops.analytics.graphs includes 'errors' |
error count per bucket |
{loops.analytics.metric_prefix}_latency_seconds |
gauge |
s |
quantile |
loops.analytics.graphs includes 'latency' |
request latency statistic per bucket; one series per quantile (avg/p50/p90/p99) |
{loops.analytics.metric_prefix}_requests |
gauge |
1 |
— |
loops.analytics.graphs includes 'requests' |
request count per bucket |
{loops.analytics.metric_prefix}_requests_by_metadata |
gauge |
1 |
metadata_key, metadata_value |
loops.groups enabled with a metadata dimension |
request count per metadata-dimension value |
{loops.analytics.metric_prefix}_requests_by_model |
gauge |
1 |
ai_model |
loops.groups.enabled=true |
request count per AI model (groups ai-models dimension) |
{loops.analytics.metric_prefix}_requests_by_prompt |
gauge |
1 |
prompt |
loops.groups settings.emit_prompts=true |
request count per saved-prompt id (content-free — the label is a prompt ID, not text) |
{loops.analytics.metric_prefix}_tokens |
gauge |
1 |
token_type |
loops.analytics.graphs includes 'tokens' |
token units per bucket; split by token_type (total/input/output) — do NOT bare-sum across token_type |
{loops.analytics.metric_prefix}_users |
gauge |
1 |
— |
loops.analytics.graphs includes 'users' |
distinct-user count per bucket |
{loops.sessions.metric_prefix}_completion_cost_usd |
gauge |
USD |
session |
loops.sessions.enabled=true |
per-session completion cost (US dollars) |
{loops.sessions.metric_prefix}_completion_tokens |
gauge |
1 |
session |
loops.sessions.enabled=true |
per-session completion (output) token count |
{loops.sessions.metric_prefix}_cost_usd |
gauge |
USD |
session |
loops.sessions.enabled=true |
per-session total cost (US dollars) |
{loops.sessions.metric_prefix}_error_rate |
gauge |
1 |
session |
loops.sessions.enabled=true |
per-session error rate (ratio) |
{loops.sessions.metric_prefix}_feedback_count |
gauge |
1 |
session, feedback_key |
loops.sessions settings.emit_feedback=true |
per-session numeric feedback sample count; one series per feedback_key |
{loops.sessions.metric_prefix}_feedback_score |
gauge |
1 |
session, feedback_key |
loops.sessions settings.emit_feedback=true |
per-session numeric feedback aggregate; one series per feedback_key |
{loops.sessions.metric_prefix}_first_token_seconds |
gauge |
s |
session, quantile |
loops.sessions.enabled=true |
per-session time-to-first-token; one series per quantile (p50/p99); absent when not streaming |
{loops.sessions.metric_prefix}_latency_seconds |
gauge |
s |
session, quantile |
loops.sessions.enabled=true |
per-session run latency; one series per quantile (p50/p99) |
{loops.sessions.metric_prefix}_prompt_cost_usd |
gauge |
USD |
session |
loops.sessions.enabled=true |
per-session prompt cost (US dollars) |
{loops.sessions.metric_prefix}_prompt_tokens |
gauge |
1 |
session |
loops.sessions.enabled=true |
per-session prompt (input) token count |
{loops.sessions.metric_prefix}_runs |
gauge |
1 |
session |
loops.sessions.enabled=true |
per-session run count (aggregate-now snapshot) |
{loops.sessions.metric_prefix}_streaming_rate |
gauge |
1 |
session |
loops.sessions.enabled=true |
per-session streaming rate (ratio) |
{loops.sessions.metric_prefix}_tokens |
gauge |
1 |
session |
loops.sessions.enabled=true |
per-session total token count |
{loops.usage.metric_prefix}_usage_spans |
gauge |
1 |
session, retention_tier |
loops.usage settings.emit_span_counts=true |
PLATFORM cost driver: spans (all runs) ingested per project = the storage/volume driver; one series per retention_tier |
{loops.usage.metric_prefix}_usage_traces |
gauge |
1 |
session, retention_tier |
loops.usage.enabled=true |
PLATFORM cost driver: traces (root runs) ingested per project = the LangSmith billing unit; one series per retention_tier |