Run a PromQL query (scoped to benchmark metric namespaces)
query_promDirect PromQL passthrough for advanced questions that don't map cleanly
to list_benchmarks / get_benchmark, e.g. "what was Mobula's p50
head-lag yesterday at 14:00 UTC" or "plot bridge fees over the last hour".
Prefer the higher-level tools first; reach for this when you need: • a custom time window (instant query at a specific point, or range) • a derived metric (rates, ratios, deltas) • a histogram bucket aggregation across chains/regions
Allowed metric namespaces (one prefix per OCB bench family):
head_lag_seconds (aggregator latency)
bridge_quote_latency_ms*, bridge_cost*, bridge_fees*, bridge_fix_fee*,
bridge_gas*, bridge_output*, bridge_estimated_time*, bridge_quote_success
l1_finality_*, l2_block_time_*
metadata_coverage_*, metadata_api_latency_*, network_coverage_*,
networks_supported, wallet_labels_*
perp_fees_*, perp_funding_*, perp_venue_*, perp_execution_*,
perp_liq_*, perp_realized_vol_*,
ocb_buyback_*, ocb_oracle_*, ocb_validator_*, ocb_chain_*
gas_error_*, gas_predicted_*, gas_realized_*, gas_oracle_*
peg_* (stablecoin peg, both variants)
solana_landing_* (TX landing observational + active)
rpc_latency_*, rpc_call_total, rpc_health, rpc_archive_depth_supported
relay_*, per_swap_margin_usd (bridge revenue)
Queries referencing other metrics (operational/internal ones like up,
scrape_*, process_*, go_*, wallet_balance_* or any label-
enumeration shape) are refused with {error, reason}.
Example: instant p50 over 1h for Mobula head-lag on Base: query_prom({ query: "quantile_over_time(0.5, head_lag_seconds{aggregator="mobula",chain="base"}[1h]) * 1000" })
Example: 7-day sparkline of average bridge fees: query_prom({ query: "avg_over_time(bridge_fees_percent[1d])", windowSec: 604800, steps: 168 })
Returns: { query, value } for instant queries, { query, windowSec, series } for range.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | PromQL expression referencing published benchmark metric prefixes only. Function names, label keys, and quoted label values are fine; bare metric names must be allowlisted. | |
| steps | No | Number of samples for a range query (2 to 360). Default 60. Step duration = windowSec / steps. | |
| windowSec | No | If set, run a range query over the last N seconds (max 7 days = 604800). Omit for an instant query. |