{ "tags": [ "agent-observability", "cost" ], "variables": [ { "name": "trace_dataset", "label": "Trace Dataset", "type": "dataset", "defaultValue": "swe-agent-traces" } ], "sections": [ { "sectionId": "01KWAHE298ZTBRXAV109GAS8A7", "title": "Overview", "isExpanded": true }, { "sectionId": "01KWA22W54T3Y3Q86JFG2XFG1A", "title": "Cost Trends", "isExpanded": true }, { "sectionId": "01KWAP6693P9D6M1DNMGCB7EH6", "title": "Model Cost", "isExpanded": true }, { "sectionId": "01KWASG7GY5WCP1WWYZMGXRPXB", "title": "Invocation Cost", "isExpanded": true }, { "sectionId": "01KWA1M0PPSR7W2SDQ95N9MM9T", "title": "Pricing Coverage", "isExpanded": true }, { "sectionId": "01KWAJ531TQPQS2FVE00QGKVKQ", "title": "AI FinOps KPIs", "isExpanded": true } ], "tiles": [ { "title": "Total Invocations", "chartQuery": "SELECT COUNT(DISTINCT span_trace_id) AS invocations\nFROM $trace_dataset\nWHERE \"gen_ai.operation.name\" = 'invoke_agent' ", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "green", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "metric", "title": "Metric", "display": true }, "y": { "field": "invocations", "title": "Count", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 2, "h": 7, "x": 0, "y": 0, "i": "01KWANCH81F2P5AQ08SGF1JRB9", "moved": false, "static": false }, "sectionId": "01KWAHE298ZTBRXAV109GAS8A7" }, { "title": "Total Chat Calls", "chartQuery": "SELECT COUNT(*) AS chat_calls\nFROM $trace_dataset\nWHERE \"gen_ai.operation.name\" = 'chat' ", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "purple", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false, "humanize": true }, "axes": { "x": { "field": "metric", "title": "Metric", "display": true }, "y": { "field": "chat_calls", "title": "Count", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWAXM8RJ1FDWC1K2G6H47F4X", "x": 2, "y": 0, "w": 3, "h": 7, "moved": false, "static": false }, "sectionId": "01KWAHE298ZTBRXAV109GAS8A7" }, { "title": "Total Tool Calls", "chartQuery": "SELECT COUNT(*) AS tool_calls\nFROM $trace_dataset\nWHERE \"gen_ai.operation.name\" = 'execute_tool' ", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "orange", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false, "humanize": true }, "axes": { "x": { "field": "metric", "title": "Metric", "display": true }, "y": { "field": "tool_calls", "title": "Count", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWAF5BXD0DHVTYMM71X36MGG", "x": 5, "y": 0, "w": 2, "h": 7, "moved": false, "static": false }, "sectionId": "01KWAHE298ZTBRXAV109GAS8A7" }, { "title": "Total Cost ($)", "chartQuery": "SELECT ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS total_cost_usd\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\n AND agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp) IS NOT NULL", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "yellow", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false, "unit": "$" }, "axes": { "x": { "field": "metric", "title": "Metric", "display": true }, "y": { "field": "total_cost_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWAD86E19W3CXGN9JF9KFXTM", "x": 7, "y": 0, "w": 2, "h": 7, "moved": false, "static": false }, "sectionId": "01KWAHE298ZTBRXAV109GAS8A7" }, { "title": "Total Token Usage", "chartQuery": "SELECT SUM(CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE) + CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE)) AS total_tokens\nFROM $trace_dataset\nWHERE \"gen_ai.operation.name\" = 'chat'\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "teal", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false, "humanize": true }, "axes": { "x": { "field": "metric", "title": "Metric", "display": true }, "y": { "field": "total_tokens", "title": "Tokens", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWA922KVPGDJ5WJYJB8VWQC7", "x": 9, "y": 0, "w": 3, "h": 7, "moved": false, "static": false }, "sectionId": "01KWAHE298ZTBRXAV109GAS8A7" }, { "title": "Avg Cost per Invocation", "chartQuery": "SELECT ROUND(AVG(invocation_cost_usd), 6) AS avg_invocation_cost_usd\nFROM (\n SELECT span_trace_id, SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)) AS invocation_cost_usd\n FROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\n GROUP BY span_trace_id\n) t\nWHERE invocation_cost_usd IS NOT NULL", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "blue", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "", "title": "Metric", "display": true }, "y": { "field": "avg_invocation_cost_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWAVZJHPBGRVY8WG807N3H3D", "x": 3, "y": 7, "w": 3, "h": 7, "moved": false, "static": false }, "sectionId": "01KWAHE298ZTBRXAV109GAS8A7" }, { "title": "P95 Cost per Invocation", "chartQuery": "SELECT ROUND(approx_percentile_cont(invocation_cost_usd, 0.95), 6) AS p95_invocation_cost_usd\nFROM (\n SELECT span_trace_id, SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)) AS invocation_cost_usd\n FROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\n GROUP BY span_trace_id\n) t\nWHERE invocation_cost_usd IS NOT NULL", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "orange", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "", "title": "Metric", "display": true }, "y": { "field": "p95_invocation_cost_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 3, "h": 7, "x": 0, "y": 7, "i": "01KWAPFDW92A38TH8R3PAM804A", "moved": false, "static": false }, "sectionId": "01KWAHE298ZTBRXAV109GAS8A7" }, { "title": "Cost Over Time", "chartQuery": "SELECT date_bin('1 minute', p_timestamp, '1970-01-01T00:00:00Z') AS time_bin,\n ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS cost_usd\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\nGROUP BY time_bin\nORDER BY time_bin ASC", "dbName": [ "$trace_dataset" ], "chartType": "timeseries", "tileType": "code", "config": { "type": "line", "colourScheme": "purple", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "time_bin", "title": "Time", "display": true }, "y": { "field": "cost_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 6, "h": 10, "x": 0, "y": 0, "i": "01KWA5J55PF0JFYJQKKGAM7K2A", "moved": false, "static": false }, "sectionId": "01KWA22W54T3Y3Q86JFG2XFG1A" }, { "title": "Cost Rate of Change", "chartQuery": "WITH hourly AS (\n SELECT date_bin('1 minute', p_timestamp, '1970-01-01T00:00:00Z') AS time_bin,\n SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)) AS cost_usd\n FROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\n GROUP BY time_bin\n)\nSELECT time_bin,\n ROUND(cost_usd, 6) AS cost_usd,\n ROUND(cost_usd - LAG(cost_usd) OVER (ORDER BY time_bin), 6) AS cost_change_usd,\n ROUND((cost_usd - LAG(cost_usd) OVER (ORDER BY time_bin)) * 100.0 / NULLIF(LAG(cost_usd) OVER (ORDER BY time_bin), 0), 2) AS cost_change_pct\nFROM hourly\nORDER BY time_bin ASC", "dbName": [ "$trace_dataset", "hourly" ], "chartType": "timeseries", "tileType": "code", "config": { "type": "line", "colourScheme": "blue", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "time_bin", "title": "Time", "display": true }, "y": { "field": "cost_change_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 6, "h": 10, "x": 6, "y": 0, "i": "01KWAZ2SRYB8P4R9RF06TWFPZ6", "moved": false, "static": false }, "sectionId": "01KWA22W54T3Y3Q86JFG2XFG1A" }, { "title": "Cumulative Cost", "chartQuery": "WITH hourly AS (\n SELECT date_bin('1 min', p_timestamp, '1970-01-01T00:00:00Z') AS time_bin,\n SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)) AS cost_usd\n FROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\n GROUP BY time_bin\n)\nSELECT time_bin,\n ROUND(SUM(cost_usd) OVER (ORDER BY time_bin ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), 6) AS cumulative_cost_usd\nFROM hourly\nORDER BY time_bin ASC", "dbName": [ "$trace_dataset", "hourly" ], "chartType": "timeseries", "tileType": "code", "config": { "type": "line", "colourScheme": "orange", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "time_bin", "title": "Time", "display": true }, "y": { "field": "cumulative_cost_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 6, "h": 10, "x": 0, "y": 10, "i": "01KWA118DSA7CDH6EKQ3DME84D", "moved": false, "static": false }, "sectionId": "01KWA22W54T3Y3Q86JFG2XFG1A" }, { "title": "Cost per Token Over Time", "chartQuery": "SELECT date_bin('1 minute', p_timestamp, '1970-01-01T00:00:00Z') AS time_bin,\n ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)) / NULLIF(SUM(CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE) + CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE)), 0), 10) AS cost_per_token_usd\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\nGROUP BY time_bin\nORDER BY time_bin ASC", "dbName": [ "$trace_dataset" ], "chartType": "timeseries", "tileType": "code", "config": { "type": "line", "colourScheme": "yellow", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "time_bin", "title": "Time", "display": true }, "y": { "field": "cost_per_token_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 6, "h": 10, "x": 6, "y": 10, "i": "01KWA6B7406JNRJPRYBS0DY76M", "moved": false, "static": false }, "sectionId": "01KWA22W54T3Y3Q86JFG2XFG1A" }, { "title": "RSS Memory", "chartQuery": "SELECT COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\", 'unknown') AS model,\n ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS cost_usd\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\nGROUP BY model\nORDER BY cost_usd DESC NULLS LAST\nLIMIT 20", "dbName": [ "$trace_dataset" ], "chartType": "pie", "tileType": "code", "config": { "type": "pie", "colourScheme": "classic", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "", "title": "", "display": true }, "y": { "field": "model", "title": "model", "display": true, "beginAtZero": false }, "groupBy": { "field": [ "model" ] } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWAXJ1WTB3JPA6JQX1RGBAQR", "x": 0, "y": 0, "w": 6, "h": 10, "moved": false, "static": false }, "sectionId": "01KWAP6693P9D6M1DNMGCB7EH6" }, { "title": "Cost by Provider and Model", "chartQuery": "SELECT COALESCE(\"gen_ai.provider.name\", 'inferred') AS provider,\n COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\", 'unknown') AS model,\n COUNT(*) AS events,\n ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS cost_usd,\n ROUND(AVG(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS avg_event_cost_usd\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\nGROUP BY provider, model\nORDER BY cost_usd DESC NULLS LAST\nLIMIT 30", "dbName": [ "$trace_dataset" ], "chartType": "table", "tileType": "code", "config": { "type": "table", "colourScheme": "purple", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "", "title": "Records", "display": true }, "y": { "field": "cost_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 6, "h": 10, "x": 6, "y": 0, "i": "01KWA199KC9QKSEYQFTSV8HRY3", "moved": false, "static": false }, "sectionId": "01KWAP6693P9D6M1DNMGCB7EH6" }, { "title": "Model Cost Over Time", "chartQuery": "SELECT date_bin('1 minute', p_timestamp, '1970-01-01T00:00:00Z') AS time_bin,\n COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\", 'unknown') AS model,\n ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS cost_usd\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\nGROUP BY time_bin, model\nORDER BY time_bin ASC, model ASC", "dbName": [ "$trace_dataset" ], "chartType": "area", "tileType": "code", "config": { "type": "area", "colourScheme": "blue", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "time_bin", "title": "time", "display": true }, "y": { "field": "cost_usd", "title": "cost_usd", "display": true, "beginAtZero": false }, "groupBy": { "field": [ "model" ] } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 12, "h": 10, "x": 0, "y": 10, "i": "01KWADFYAB59D4EHZSHZM9RH3Z", "moved": false, "static": false }, "sectionId": "01KWAP6693P9D6M1DNMGCB7EH6" }, { "title": "Highest Cost Invocations", "chartQuery": "SELECT span_trace_id,\n MIN(p_timestamp) AS start_time,\n COALESCE(MAX(\"gen_ai.provider.name\"), 'inferred') AS provider,\n COALESCE(MAX(\"gen_ai.request.model\"), MAX(\"gen_ai.response.model\"), 'unknown') AS model,\n ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS cost_usd,\n SUM(CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE)) AS input_tokens,\n SUM(CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE)) AS output_tokens\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\nGROUP BY span_trace_id\nORDER BY cost_usd DESC NULLS LAST\nLIMIT 50", "dbName": [ "$trace_dataset" ], "chartType": "table", "tileType": "code", "config": { "type": "table", "colourScheme": "orange", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "", "title": "Records", "display": true }, "y": { "field": "cost_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 12, "h": 12, "x": 0, "y": 0, "i": "01KWABFY2JZFMFJ1GEQMKFN92N", "moved": false, "static": false }, "sectionId": "01KWASG7GY5WCP1WWYZMGXRPXB" }, { "title": "Invocation Cost Distribution", "chartQuery": "SELECT CASE\n WHEN invocation_cost_usd < 0.001 THEN '< $0.001'\n WHEN invocation_cost_usd < 0.01 THEN '$0.001 - $0.01'\n WHEN invocation_cost_usd < 0.05 THEN '$0.01 - $0.05'\n WHEN invocation_cost_usd < 0.10 THEN '$0.05 - $0.10'\n ELSE '>= $0.10'\n END AS cost_bucket,\n COUNT(*) AS invocations\nFROM (\n SELECT span_trace_id, SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)) AS invocation_cost_usd\n FROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\n GROUP BY span_trace_id\n) t\nWHERE invocation_cost_usd IS NOT NULL\nGROUP BY cost_bucket\nORDER BY cost_bucket ASC", "dbName": [ "$trace_dataset" ], "chartType": "bar", "tileType": "code", "config": { "type": "bar", "colourScheme": "blue", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "cost_bucket", "title": "Cost Bucket", "display": true }, "y": { "field": "invocations", "title": "Count", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 6, "h": 10, "x": 0, "y": 12, "i": "01KWAAVRVPCCPN2TVWC3J57BAF", "moved": false, "static": false }, "sectionId": "01KWASG7GY5WCP1WWYZMGXRPXB" }, { "title": "Cost vs Tokens by Invocation", "chartQuery": "SELECT span_trace_id,\n ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS cost_usd,\n SUM(CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE) + CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE)) AS total_tokens\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\nGROUP BY span_trace_id\nORDER BY cost_usd DESC NULLS LAST\nLIMIT 100", "dbName": [ "$trace_dataset" ], "chartType": "table", "tileType": "code", "config": { "type": "table", "colourScheme": "purple", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "", "title": "Records", "display": true }, "y": { "field": "cost_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 6, "h": 10, "x": 6, "y": 12, "i": "01KWA7J9Z4TC4YD3CMA2SG0JB5", "moved": false, "static": false }, "sectionId": "01KWASG7GY5WCP1WWYZMGXRPXB" }, { "title": "Unpriced Events", "chartQuery": "SELECT COUNT(*) AS unpriced_events\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\n AND agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp) IS NULL", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "orange", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "", "title": "Metric", "display": true }, "y": { "field": "unpriced_events", "title": "Unpriced Events", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 3, "h": 7, "x": 0, "y": 0, "i": "01KWAS3DX5A44GTDWA48YX3RFM", "moved": false, "static": false }, "sectionId": "01KWA1M0PPSR7W2SDQ95N9MM9T" }, { "title": "Pricing Coverage", "chartQuery": "SELECT ROUND(COUNT(*) FILTER (WHERE agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp) IS NOT NULL) * 100.0 / NULLIF(COUNT(*), 0), 2) AS pricing_coverage_pct\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "gray", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "", "title": "Metric", "display": true }, "y": { "field": "pricing_coverage_pct", "title": "Coverage (%)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 3, "h": 7, "x": 3, "y": 0, "i": "01KWAN4A8K39ZSN3QJ0C7E9X4Z", "moved": false, "static": false }, "sectionId": "01KWA1M0PPSR7W2SDQ95N9MM9T" }, { "title": "Unpriced Models", "chartQuery": "SELECT COALESCE(\"gen_ai.provider.name\", 'inferred') AS provider,\n COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\", 'unknown') AS model,\n COUNT(*) AS unpriced_events\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\n AND agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp) IS NULL\nGROUP BY provider, model\nORDER BY unpriced_events DESC\nLIMIT 30", "dbName": [ "$trace_dataset" ], "chartType": "table", "tileType": "code", "config": { "type": "table", "colourScheme": "purple", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "", "title": "Records", "display": true }, "y": { "field": "unpriced_events", "title": "Unpriced Events", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 6, "h": 10, "x": 6, "y": 0, "i": "01KWA00JHWDJH8PH65M84AST0K", "moved": false, "static": false }, "sectionId": "01KWA1M0PPSR7W2SDQ95N9MM9T" }, { "title": "Cached Input Share", "chartQuery": "SELECT ROUND(SUM(CAST(COALESCE(\"gen_ai.usage.cache_read.input_tokens\", '0') AS DOUBLE)) * 100.0 / NULLIF(SUM(CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE)), 0), 2) AS cached_input_share_pct\nFROM $trace_dataset\nWHERE \"gen_ai.operation.name\" = 'chat'\n AND COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "purple", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "metric", "title": "Metric", "display": true }, "y": { "field": "cached_input_share_pct", "title": "Cached Input Share (%)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 3, "h": 7, "x": 0, "y": 0, "i": "01KWA5W2MPY6VS693V600AH6R2", "moved": false, "static": false }, "sectionId": "01KWAJ531TQPQS2FVE00QGKVKQ" }, { "title": "Output / Input Token Ratio (%)", "chartQuery": "SELECT ROUND(SUM(CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE)) * 100.0 / NULLIF(SUM(CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE)), 0), 2) AS output_input_ratio_pct\nFROM $trace_dataset\nWHERE \"gen_ai.operation.name\" = 'chat'\n AND COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "orange", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false, "unit": "%" }, "axes": { "x": { "field": "metric", "title": "Metric", "display": true }, "y": { "field": "output_input_ratio_pct", "title": "Output / Input (%)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWA4RNVH778NTDS5AWT1QXV6", "x": 3, "y": 0, "w": 3, "h": 7, "moved": false, "static": false }, "sectionId": "01KWAJ531TQPQS2FVE00QGKVKQ" }, { "title": "Cost per Successful Outcome", "chartQuery": "WITH invocation_cost AS (\n SELECT span_trace_id, SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)) AS cost_usd\n FROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\n GROUP BY span_trace_id\n), outcomes AS (\n SELECT span_trace_id, MAX(CASE WHEN COALESCE(\"gen_ai.response.finish_reasons\", '') LIKE '%submitted%' THEN 1 ELSE 0 END) AS success\n FROM $trace_dataset\n WHERE \"gen_ai.operation.name\" = 'invoke_agent'\n GROUP BY span_trace_id\n)\nSELECT ROUND(SUM(c.cost_usd) / NULLIF(SUM(o.success), 0), 6) AS cost_per_success_usd\nFROM invocation_cost c\nJOIN outcomes o ON c.span_trace_id = o.span_trace_id", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "orange", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "metric", "title": "Metric", "display": true }, "y": { "field": "cost_per_success_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 3, "h": 7, "x": 6, "y": 0, "i": "01KWA4GJX05GEAJNTE9H4YF3ZY", "moved": false, "static": false }, "sectionId": "01KWAJ531TQPQS2FVE00QGKVKQ" }, { "title": "Success Rate", "chartQuery": "SELECT ROUND(COUNT(DISTINCT span_trace_id) FILTER (WHERE COALESCE(\"gen_ai.response.finish_reasons\", '') LIKE '%submitted%') * 100.0 / NULLIF(COUNT(DISTINCT span_trace_id), 0), 2) AS success_rate_pct\nFROM $trace_dataset\nWHERE \"gen_ai.operation.name\" = 'invoke_agent' ", "dbName": [ "$trace_dataset" ], "chartType": "query-value", "tileType": "code", "config": { "type": "query-value", "colourScheme": "yellow", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "metric", "title": "Metric", "display": true }, "y": { "field": "success_rate_pct", "title": "Success Rate (%)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 3, "h": 7, "x": 9, "y": 0, "i": "01KWAWC42J09251HEFEVWQYQEH", "moved": false, "static": false }, "sectionId": "01KWAJ531TQPQS2FVE00QGKVKQ" }, { "title": "Cost per Agent Job Over Time", "chartQuery": "WITH invocation_cost AS (\n SELECT span_trace_id, date_bin('1 minute', MIN(p_timestamp), '1970-01-01T00:00:00Z') AS time_bin, SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)) AS cost_usd\n FROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\n GROUP BY span_trace_id\n)\nSELECT time_bin, ROUND(AVG(cost_usd), 6) AS avg_cost_per_agent_job_usd, ROUND(approx_percentile_cont(cost_usd, 0.95), 6) AS p95_cost_per_agent_job_usd\nFROM invocation_cost\nGROUP BY time_bin\nORDER BY time_bin ASC", "dbName": [ "$trace_dataset" ], "chartType": "timeseries", "tileType": "code", "config": { "type": "line", "colourScheme": "blue", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "time_bin", "title": "Time", "display": true }, "y": { "field": "avg_cost_per_agent_job_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWA4E11RQ1WGVZ5V5KFNPYCH", "x": 0, "y": 7, "w": 6, "h": 10, "moved": false, "static": false }, "sectionId": "01KWAJ531TQPQS2FVE00QGKVKQ" }, { "title": "Cost by Outcome", "chartQuery": "WITH invocation_cost AS (\n SELECT span_trace_id, SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)) AS cost_usd\n FROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\n GROUP BY span_trace_id\n), outcomes AS (\n SELECT span_trace_id, COALESCE(MAX(\"gen_ai.response.finish_reasons\"), 'unknown') AS outcome\n FROM $trace_dataset\n WHERE \"gen_ai.operation.name\" = 'invoke_agent'\n GROUP BY span_trace_id\n)\nSELECT outcome, COUNT(*) AS invocations, ROUND(SUM(c.cost_usd), 6) AS cost_usd\nFROM invocation_cost c\nLEFT JOIN outcomes o ON c.span_trace_id = o.span_trace_id\nGROUP BY outcome\nORDER BY cost_usd DESC NULLS LAST\nLIMIT 20", "dbName": [ "$trace_dataset" ], "chartType": "bar", "tileType": "code", "config": { "type": "bar", "colourScheme": "yellow", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "outcome", "title": "Outcome", "display": true }, "y": { "field": "cost_usd", "title": "Cost (USD)", "display": true, "beginAtZero": false } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "w": 6, "h": 10, "x": 6, "y": 7, "i": "01KWAAGFNT09S6H3VSFV0K341K", "moved": false, "static": false }, "sectionId": "01KWAJ531TQPQS2FVE00QGKVKQ" }, { "title": "Cost by User", "chartQuery": "SELECT COALESCE(\"username\", 'unknown') AS username,\n ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS cost_usd,\n COUNT(DISTINCT span_trace_id) AS invocations\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\nGROUP BY username\nORDER BY cost_usd DESC NULLS LAST\nLIMIT 20", "dbName": [ "$trace_dataset" ], "chartType": "donut", "tileType": "code", "config": { "type": "donut", "colourScheme": "classic", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "", "title": "", "display": true }, "y": { "field": "username", "title": "username", "display": true, "beginAtZero": false }, "groupBy": { "field": [ "username" ] } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWA5H7R0QY3Z2ZN2TNEBMD82", "x": 0, "y": 20, "w": 6, "h": 10, "moved": false, "static": false }, "sectionId": "01KWAP6693P9D6M1DNMGCB7EH6" }, { "title": "Cost by Agent Name", "chartQuery": "SELECT COALESCE(\"gen_ai.agent.name\", 'unknown') AS agent_name,\n ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS cost_usd,\n COUNT(DISTINCT span_trace_id) AS invocations\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\nGROUP BY agent_name\nORDER BY cost_usd DESC NULLS LAST\nLIMIT 20", "dbName": [ "$trace_dataset" ], "chartType": "pie", "tileType": "code", "config": { "type": "pie", "colourScheme": "classic", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "", "title": "", "display": true }, "y": { "field": "agent_name", "title": "agent_name", "display": true, "beginAtZero": false }, "groupBy": { "field": [ "agent_name" ] } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWAWRG8KFW6QP5WP98YKNJAN", "x": 6, "y": 20, "w": 6, "h": 10, "moved": false, "static": false }, "sectionId": "01KWAP6693P9D6M1DNMGCB7EH6" }, { "title": "Cost by User and Model", "chartQuery": "SELECT COALESCE(\"username\", 'unknown') AS username,\n COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\", 'unknown') AS model,\n ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS cost_usd\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\nGROUP BY username, model\nORDER BY cost_usd DESC NULLS LAST\nLIMIT 30", "dbName": [ "$trace_dataset" ], "chartType": "area", "tileType": "code", "config": { "type": "area", "colourScheme": "purple", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "username", "title": "username", "display": true }, "y": { "field": "cost_usd", "title": "cost_usd", "display": true, "beginAtZero": false }, "groupBy": { "field": [ "model" ] } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWAGCZ5ZW0ZW4J406WY6G7PP", "x": 0, "y": 30, "w": 6, "h": 10, "moved": false, "static": false }, "sectionId": "01KWAP6693P9D6M1DNMGCB7EH6" }, { "title": "Cost by Agent and Model", "chartQuery": "SELECT COALESCE(\"gen_ai.agent.name\", 'unknown') AS agent_name,\n COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\", 'unknown') AS model,\n ROUND(SUM(agent_cost(\"gen_ai.provider.name\", COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\"), CAST(\"gen_ai.usage.input_tokens\" AS DOUBLE), CAST(\"gen_ai.usage.output_tokens\" AS DOUBLE), p_timestamp)), 6) AS cost_usd\nFROM $trace_dataset\nWHERE COALESCE(\"gen_ai.request.model\", \"gen_ai.response.model\") IS NOT NULL\n AND \"gen_ai.usage.input_tokens\" IS NOT NULL\n AND \"gen_ai.usage.output_tokens\" IS NOT NULL\nGROUP BY agent_name, model\nORDER BY cost_usd DESC NULLS LAST\nLIMIT 30", "dbName": [ "$trace_dataset" ], "chartType": "area", "tileType": "code", "config": { "type": "area", "colourScheme": "blue", "layout": { "segments": { "value": [ 10, 90 ], "isPercent": true }, "legendPosition": "bottom", "label": false }, "axes": { "x": { "field": "agent_name", "title": "agent_name", "display": true }, "y": { "field": "cost_usd", "title": "cost_usd", "display": true, "beginAtZero": false }, "groupBy": { "field": [ "model" ] } }, "advanced": { "dataLabels": { "enabled": false }, "tooltip": { "enabled": true, "mode": "index", "intersect": false } } }, "layout": { "i": "01KWABN7E2FA67P8Q773GWHRXD", "x": 6, "y": 30, "w": 6, "h": 10, "moved": false, "static": false }, "sectionId": "01KWAP6693P9D6M1DNMGCB7EH6" } ] }