From 8cf35268543f5666fbeeae6a107d0a4d57649e7a Mon Sep 17 00:00:00 2001 From: brendontan03 Date: Tue, 3 Feb 2026 12:20:44 +0800 Subject: [PATCH 1/4] configure grafana and prometheus --- devnet/docker-compose.yml | 5 +- devnet/entrypoint/reth-rpc.sh | 3 +- devnet/monitoring/example.env | 24 + .../monitoring/generate_prometheus_config.sh | 85 + .../dashboards/xlayer-monitoring.json | 2302 +++++++++++++++++ devnet/monitoring/prometheus.yml | 18 +- 6 files changed, 2432 insertions(+), 5 deletions(-) create mode 100644 devnet/monitoring/example.env create mode 100755 devnet/monitoring/generate_prometheus_config.sh create mode 100644 devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json diff --git a/devnet/docker-compose.yml b/devnet/docker-compose.yml index 9c4e371..bcee8cf 100644 --- a/devnet/docker-compose.yml +++ b/devnet/docker-compose.yml @@ -303,6 +303,7 @@ services: - "11113:1111" # outbound flashblocks ws port - "30304:30303" - "30304:30303/udp" + - "9002:9001" # metrics port op-seq: image: "${OP_STACK_IMAGE_TAG}" @@ -485,6 +486,7 @@ services: - "8128:8545" - "30309:30303" - "30309:30303/udp" + - "9003:9001" # metrics port op-conductor: image: "${OP_STACK_IMAGE_TAG}" @@ -670,6 +672,7 @@ services: - "30305:30303" - "30305:30303/udp" - "11112:1111" # outbound flashblocks ws port + - "9004:9001" # metrics port healthcheck: test: [ "CMD", "curl", "-f", "http://localhost:8545" ] interval: 3s @@ -987,7 +990,7 @@ services: - --data-dir=/data prometheus: - image: prom/prometheus:v2.47.0 + image: prom/prometheus:main container_name: prometheus volumes: - ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml diff --git a/devnet/entrypoint/reth-rpc.sh b/devnet/entrypoint/reth-rpc.sh index 8643947..e48356e 100755 --- a/devnet/entrypoint/reth-rpc.sh +++ b/devnet/entrypoint/reth-rpc.sh @@ -43,7 +43,8 @@ CMD="op-reth node \ --txpool.basefee-max-count=100000 \ --txpool.max-pending-txns=100000 \ --txpool.max-new-txns=100000 \ - --rpc.eth-proof-window=10000" + --rpc.eth-proof-window=10000 \ + --metrics=0.0.0.0:9001" # For flashblocks architecture. Enable flashblocks RPC if [ "$FLASHBLOCK_ENABLED" = "true" ] && [ "$FLASHBLOCKS_RPC" = "true" ]; then diff --git a/devnet/monitoring/example.env b/devnet/monitoring/example.env new file mode 100644 index 0000000..1e4961e --- /dev/null +++ b/devnet/monitoring/example.env @@ -0,0 +1,24 @@ +# Prometheus Monitoring Configuration +# Copy this file to .env and update with the actual IP addresses + +# ============================================================================= +# GLOBAL SETTINGS +# ============================================================================= +SCRAPE_INTERVAL=15s +EVALUATION_INTERVAL=15s + +# ============================================================================= +# SEQUENCER NODES +# Format: host:port (comma-separated for multiple nodes) +# ============================================================================= + +# Sequencer nodes - Add sequencer IPs here +SEQUENCER_NODES=op-reth-seq:9001,op-reth-seq2:9001 + +# ============================================================================= +# RPC NODES +# Format: host:port (comma-separated for multiple nodes) +# ============================================================================= + +# RPC nodes - Add RPC IPs here +RPC_NODES=op-reth-rpc:9001,op-reth-rpc2:9001 \ No newline at end of file diff --git a/devnet/monitoring/generate_prometheus_config.sh b/devnet/monitoring/generate_prometheus_config.sh new file mode 100755 index 0000000..aafeced --- /dev/null +++ b/devnet/monitoring/generate_prometheus_config.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +# Script to generate prometheus.yml from .env configuration +# Usage: ./generate_prometheus_config.sh + +set -e + +ENV_FILE=".env" +OUTPUT_FILE="prometheus.yml" + +# Check if .env file exists +if [ ! -f "$ENV_FILE" ]; then + echo "Error: .env file not found!" + echo "Please copy 'example.env' to '.env' and configure it:" + echo " cp example.env .env" + exit 1 +fi + +# Source the .env file +set -a +source "$ENV_FILE" +set +a + +# Set defaults if not specified in .env +SCRAPE_INTERVAL=${SCRAPE_INTERVAL:-15s} +EVALUATION_INTERVAL=${EVALUATION_INTERVAL:-15s} + +# Function to convert comma-separated list to YAML array +format_targets() { + local nodes="$1" + local output="" + + # Split by comma and format each target + IFS=',' read -ra ADDR <<< "$nodes" + for addr in "${ADDR[@]}"; do + # Trim whitespace + addr=$(echo "$addr" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + if [ -n "$addr" ]; then + output+=" - '$addr'\n" + fi + done + + echo -e "$output" +} + +# Generate prometheus.yml content +cat > "$OUTPUT_FILE" << EOF +global: + scrape_interval: ${SCRAPE_INTERVAL} + evaluation_interval: ${EVALUATION_INTERVAL} + +scrape_configs: + - job_name: 'prometheus' + static_configs: + - targets: ['localhost:9090'] + +EOF + +# Add sequencer nodes if defined +if [ -n "$SEQUENCER_NODES" ]; then + cat >> "$OUTPUT_FILE" << EOF + - job_name: 'sequencer-nodes' + static_configs: + - targets: +$(format_targets "$SEQUENCER_NODES") + labels: + node_type: 'sequencer' + +EOF +fi + +# Add RPC nodes if defined +if [ -n "$RPC_NODES" ]; then + cat >> "$OUTPUT_FILE" << EOF + - job_name: 'rpc-nodes' + static_configs: + - targets: +$(format_targets "$RPC_NODES") + labels: + node_type: 'rpc' + +EOF +fi + +echo "Generated prometheus.yml" diff --git a/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json b/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json new file mode 100644 index 0000000..73071c7 --- /dev/null +++ b/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json @@ -0,0 +1,2302 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 1, + "links": [], + "liveNow": true, + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 100, + "panels": [], + "title": "Overview - All Nodes", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "locale" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 0, + "y": 1 + }, + "id": 101, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "10.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "max(reth_blockchain_tree_canonical_chain_height{node_type=\"sequencer\"})", + "instant": false, + "legendFormat": "Sequencer Height", + "range": true, + "refId": "A" + } + ], + "title": "Latest SEQ Block", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "locale" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 3, + "y": 1 + }, + "id": 102, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "10.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "max(reth_blockchain_tree_canonical_chain_height{node_type=\"rpc\"})", + "instant": false, + "legendFormat": "RPC Height", + "range": true, + "refId": "A" + } + ], + "title": "Latest RPC Block", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 100 + }, + { + "color": "red", + "value": 1000 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 6, + "y": 1 + }, + "id": 103, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "10.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "sum(reth_transaction_pool_pending_pool_transactions{node_type=\"rpc\"})", + "instant": false, + "legendFormat": "Pending TXs", + "range": true, + "refId": "A" + } + ], + "title": "Total Pending Txns in Pool", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 9, + "y": 1 + }, + "id": 104, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "10.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "sum(reth_blockchain_tree_reorgs)", + "instant": false, + "legendFormat": "Total Reorgs", + "range": true, + "refId": "A" + } + ], + "title": "Total Chain Reorgs", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "locale" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 1 + }, + "id": 105, + "options": { + "legend": { + "calcs": [ + "last" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_blockchain_tree_canonical_chain_height", + "instant": false, + "legendFormat": "{{instance}}", + "range": true, + "refId": "A" + } + ], + "title": "Block Height - All Nodes", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "max": 4, + "min": 0, + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "#EAB839", + "value": 80 + }, + { + "color": "dark-green", + "value": 100 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 6, + "x": 0, + "y": 5 + }, + "id": 106, + "options": { + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "text": {} + }, + "pluginVersion": "10.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "count(up{node_type=~\"sequencer|rpc\"} == 1)", + "instant": false, + "legendFormat": "Nodes UP", + "range": true, + "refId": "A" + } + ], + "title": "Nodes Health (UP)", + "type": "gauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 6, + "x": 6, + "y": 5 + }, + "id": 107, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_transaction_pool_pending_pool_transactions", + "instant": false, + "legendFormat": "{{instance}}", + "range": true, + "refId": "A" + } + ], + "title": "Pending TX Pool", + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 10 + }, + "id": 200, + "panels": [], + "title": "Sequencer Nodes", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 11 + }, + "id": 202, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_consensus_engine_beacon_new_payload_interval{node_type=\"sequencer\", quantile=\"$quantile\"}", + "instant": false, + "legendFormat": "{{instance}} (q=$quantile)", + "range": true, + "refId": "A" + } + ], + "title": "New Payload Interval", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 11 + }, + "id": 201, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_op_rbuilder_flashblock_build_duration{node_type=\"sequencer\",quantile=\"$quantile\"}", + "instant": false, + "legendFormat": "{{instance}} (q=$quantile)", + "range": true, + "refId": "A" + } + ], + "title": "Flashblock Build Duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 19 + }, + "id": 203, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_engine_rpc_get_payload_v4{quantile=\"$quantile\",node_type=\"sequencer\"}", + "instant": false, + "legendFormat": "{{instance}} (q={{quantile}})", + "range": true, + "refId": "A" + } + ], + "title": "Get Payload V4 Timing", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 19 + }, + "id": 204, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_op_rbuilder_state_root_calculation_duration{node_type=\"sequencer\",quantile=\"$quantile\"} > 0", + "instant": false, + "legendFormat": "{{instance}} (q=$quantile)", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_sync_block_validation_state_root_duration{node_type=\"sequencer\"} > 0", + "hide": false, + "instant": false, + "legendFormat": "{{instance}}", + "range": true, + "refId": "B" + } + ], + "title": "State Root Calculation Duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 27 + }, + "id": 313, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "sum by (instance) (\n rate(\n reth_rpc_server_calls_started_total{\n node_type=\"sequencer\",\n method=~\"eth_.*\"\n }[1m]\n )\n)", + "instant": false, + "legendFormat": "{{instance}}", + "range": true, + "refId": "A" + } + ], + "title": "Number of eth Namespace Requests per Second", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 27 + }, + "id": 302, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "disableTextWrap": false, + "editorMode": "code", + "expr": "sum by(instance) (rate(reth_rpc_server_calls_time_seconds_sum{node_type=\"sequencer\", method=~\"eth_.*\"}[5m])) / sum by(instance) (rate(reth_rpc_server_calls_time_seconds_count{node_type=\"sequencer\", method=~\"eth_.*\"}[5m]))", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "{{node_type}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Average eth Namespace Request Response Time", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 35 + }, + "id": 306, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_consensus_engine_beacon_forkchoice_updated_latency{node_type=\"sequencer\", quantile=\"$quantile\"}", + "instant": false, + "legendFormat": "{{instance}} (q={{quantile}})", + "range": true, + "refId": "A" + } + ], + "title": "Forkchoice Updated Latency", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 35 + }, + "id": 305, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_engine_rpc_new_payload_v4{quantile=\"$quantile\",node_type=\"sequencer\"}", + "instant": false, + "legendFormat": "{{instance}} (q={{quantile}})", + "range": true, + "refId": "A" + } + ], + "title": "New Payload V4 Timing", + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 43 + }, + "id": 300, + "panels": [], + "title": "RPC Nodes", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 44 + }, + "id": 301, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "sum by (instance) (\n rate(\n reth_rpc_server_calls_started_total{\n instance=~\"$instance\",\n method=~\"eth_.*\"\n }[1m]\n )\n)", + "instant": false, + "legendFormat": "{{instance}}", + "range": true, + "refId": "A" + } + ], + "title": "Number of eth Namespace Requests per Second", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 44 + }, + "id": 314, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "sum by (instance) (\n rate(reth_rpc_server_calls_time_seconds_sum{instance=~\"$instance\", method=~\"eth_.*\"}[5m])\n)\n/\nsum by (instance) (\n rate(reth_rpc_server_calls_time_seconds_count{instance=~\"$instance\", method=~\"eth_.*\"}[5m])\n)", + "instant": false, + "legendFormat": "{{instance}}", + "range": true, + "refId": "A" + } + ], + "title": "Average eth Namespace Request Response Time", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 52 + }, + "id": 303, + "options": { + "legend": { + "calcs": [ + "last" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "topk(\n 10,\n rate(reth_rpc_server_calls_time_seconds_sum{instance=~\"$instance\"}[5m])\n /\n rate(reth_rpc_server_calls_time_seconds_count{instance=~\"$instance\"}[5m])\n)", + "instant": false, + "legendFormat": "{{method}}", + "range": true, + "refId": "A" + } + ], + "title": "Top 10 Slowest RPC Methods", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 52 + }, + "id": 307, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_consensus_engine_beacon_new_payload_interval{instance=~\"$instance\", quantile=\"$quantile\"}", + "instant": false, + "legendFormat": "{{job}} (q=$quantile)", + "range": true, + "refId": "A" + } + ], + "title": "New Payload Interval", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 60 + }, + "id": 310, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_engine_rpc_fork_choice_updated_v3{instance=~\"$instance\", quantile=\"$quantile\"}", + "instant": false, + "legendFormat": "{{instance}} (q={{quantile}})", + "range": true, + "refId": "A" + } + ], + "title": "Forkchoice Updated V3", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 60 + }, + "id": 312, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_engine_rpc_new_payload_v4{quantile=\"$quantile\",instance=~\"$instance\"}", + "instant": false, + "legendFormat": "{{instance}} (q={{quantile}})", + "range": true, + "refId": "A" + } + ], + "title": "New Payload V4 Timing", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 68 + }, + "id": 311, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_consensus_engine_beacon_new_payload_forkchoice_updated_time_diff{instance=~\"$instance\",quantile=\"$quantile\"}", + "instant": false, + "legendFormat": "{{instance}} (q={{quantile}})", + "range": true, + "refId": "A" + } + ], + "title": "New Payload Forkchoice Updated Time Diff", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 68 + }, + "id": 308, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_sync_block_validation_payload_validation_histogram{instance=~\"$instance\",quantile=\"$quantile\"}", + "instant": false, + "legendFormat": "{{instance}} (q={{quantile}})", + "range": true, + "refId": "A" + } + ], + "title": "payload_validation", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 76 + }, + "id": 304, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "reth_flashblock_service_execution_duration{instance=~\"$instance\",quantile=\"$quantile\"}", + "instant": false, + "legendFormat": "{{instance}} (q={{quantile}})", + "range": true, + "refId": "A" + } + ], + "title": "Flashblock Build Duration", + "type": "timeseries" + } + ], + "refresh": "5s", + "schemaVersion": 38, + "style": "dark", + "tags": [ + "xlayer", + "reth", + "optimism" + ], + "templating": { + "list": [ + { + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "definition": "label_values(reth_blockchain_tree_canonical_chain_height{node_type=\"rpc\"},instance)", + "description": "Select RPC instances to monitor", + "hide": 0, + "includeAll": true, + "label": "RPC Instance", + "multi": true, + "name": "instance", + "options": [], + "query": { + "query": "label_values(reth_blockchain_tree_canonical_chain_height{node_type=\"rpc\"},instance)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": true, + "text": "0.5", + "value": "0.5" + }, + "hide": 0, + "includeAll": false, + "label": "Quantile", + "multi": false, + "name": "quantile", + "options": [ + { + "selected": false, + "text": "0", + "value": "0" + }, + { + "selected": true, + "text": "0.5", + "value": "0.5" + }, + { + "selected": false, + "text": "0.95", + "value": "0.95" + }, + { + "selected": false, + "text": "0.99", + "value": "0.99" + }, + { + "selected": false, + "text": "0.999", + "value": "0.999" + } + ], + "query": "0, 0.5, 0.95, 0.99, 0.999", + "queryValue": "", + "skipUrlSync": false, + "type": "custom" + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m" + ] + }, + "timezone": "", + "title": "XLayer Monitoring -2", + "uid": "xlayer-monitoring-v4", + "version": 1, + "weekStart": "" + } \ No newline at end of file diff --git a/devnet/monitoring/prometheus.yml b/devnet/monitoring/prometheus.yml index 9a47d4d..fe57c0b 100644 --- a/devnet/monitoring/prometheus.yml +++ b/devnet/monitoring/prometheus.yml @@ -7,7 +7,19 @@ scrape_configs: static_configs: - targets: ['localhost:9090'] - - job_name: 'op-reth-seq' + - job_name: 'sequencer-nodes' static_configs: - - targets: ['op-reth-seq:9001'] - metrics_path: /metrics + - targets: + - 'op-reth-seq:9001' + - 'op-reth-seq2:9001' + labels: + node_type: 'sequencer' + + - job_name: 'rpc-nodes' + static_configs: + - targets: + - 'op-reth-rpc:9001' + - 'op-reth-rpc2:9001' + labels: + node_type: 'rpc' + From db11574c5d18b7c16a822f26c3387a3baaabdc4c Mon Sep 17 00:00:00 2001 From: brendontan03 Date: Tue, 3 Feb 2026 14:00:11 +0800 Subject: [PATCH 2/4] update grafana docker image tag --- devnet/docker-compose.yml | 2 +- .../grafana/provisioning/dashboards/xlayer-monitoring.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/devnet/docker-compose.yml b/devnet/docker-compose.yml index bcee8cf..2cdd86d 100644 --- a/devnet/docker-compose.yml +++ b/devnet/docker-compose.yml @@ -1003,7 +1003,7 @@ services: - "9090:9090" grafana: - image: grafana/grafana:10.1.0 + image: grafana/grafana:main container_name: grafana volumes: - ./data/grafana:/var/lib/grafana diff --git a/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json b/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json index 73071c7..d50a01c 100644 --- a/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json +++ b/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json @@ -2295,8 +2295,8 @@ ] }, "timezone": "", - "title": "XLayer Monitoring -2", - "uid": "xlayer-monitoring-v4", + "title": "XLayer Monitoring", + "uid": "xlayer-monitoring", "version": 1, "weekStart": "" } \ No newline at end of file From 434b502578c997b6d23cd7fac90560060a6ab5ea Mon Sep 17 00:00:00 2001 From: brendontan03 Date: Wed, 4 Feb 2026 10:23:35 +0800 Subject: [PATCH 3/4] update prometheus --- .../dashboards/xlayer-monitoring.json | 205 +++++++++++++----- devnet/monitoring/prometheus.yml | 4 +- 2 files changed, 157 insertions(+), 52 deletions(-) diff --git a/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json b/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json index d50a01c..a64c42b 100644 --- a/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json +++ b/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json @@ -18,6 +18,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, + "id": 949646446645248, "links": [], "liveNow": true, "panels": [ @@ -50,7 +51,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -70,6 +71,7 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -77,9 +79,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.1.0", + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -113,7 +117,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -133,6 +137,7 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -140,9 +145,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.1.0", + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -176,7 +183,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 }, { "color": "yellow", @@ -203,6 +210,7 @@ "graphMode": "area", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -210,9 +218,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.1.0", + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -246,7 +256,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 }, { "color": "red", @@ -269,6 +279,7 @@ "graphMode": "area", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -276,9 +287,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.1.0", + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -307,11 +320,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -328,6 +343,7 @@ "type": "linear" }, "showPoints": "never", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -343,7 +359,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -368,10 +384,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -407,7 +425,7 @@ "steps": [ { "color": "red", - "value": null + "value": 0 }, { "color": "#EAB839", @@ -431,6 +449,8 @@ }, "id": 106, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "horizontal", "reduceOptions": { "calcs": [ @@ -441,9 +461,10 @@ }, "showThresholdLabels": false, "showThresholdMarkers": true, + "sizing": "auto", "text": {} }, - "pluginVersion": "10.1.0", + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -472,11 +493,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -493,6 +516,7 @@ "type": "linear" }, "showPoints": "never", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -508,7 +532,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] } @@ -530,10 +554,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -569,17 +595,20 @@ "type": "prometheus", "uid": "prometheus" }, + "description": "Measures block time", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -596,6 +625,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -612,7 +642,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -638,10 +668,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -670,11 +702,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -691,6 +725,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -707,7 +742,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -733,10 +768,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -765,11 +802,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -786,6 +825,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -801,7 +841,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -827,10 +867,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -859,11 +901,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -880,6 +924,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -895,7 +940,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -921,10 +966,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -945,7 +992,6 @@ }, "editorMode": "code", "expr": "reth_sync_block_validation_state_root_duration{node_type=\"sequencer\"} > 0", - "hide": false, "instant": false, "legendFormat": "{{instance}}", "range": true, @@ -966,11 +1012,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -987,6 +1035,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -1002,7 +1051,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] } @@ -1027,10 +1076,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -1059,11 +1110,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1080,6 +1133,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -1095,7 +1149,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -1121,10 +1175,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -1157,11 +1213,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1178,6 +1236,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -1193,7 +1252,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -1219,10 +1278,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -1251,11 +1312,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1272,6 +1335,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -1287,7 +1351,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -1313,10 +1377,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -1358,11 +1424,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1379,6 +1447,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -1394,7 +1463,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] } @@ -1419,10 +1488,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -1451,11 +1522,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1472,6 +1545,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -1487,7 +1561,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -1513,10 +1587,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -1545,11 +1621,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1566,6 +1644,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -1581,7 +1660,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -1606,10 +1685,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -1638,11 +1719,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1659,6 +1742,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -1675,7 +1759,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -1701,10 +1785,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -1733,11 +1819,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1754,6 +1842,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -1769,7 +1858,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -1795,10 +1884,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -1821,18 +1912,20 @@ "type": "prometheus", "uid": "prometheus" }, - "description": "", + "description": "end-to-end engine_newPayloadV4 timing from Consensus Layer", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1849,6 +1942,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -1864,7 +1958,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -1890,10 +1984,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -1922,11 +2018,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1943,6 +2041,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -1958,7 +2057,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -1984,10 +2083,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -2010,17 +2111,20 @@ "type": "prometheus", "uid": "prometheus" }, + "description": "new_payloadV4 internal engine processing time", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -2037,6 +2141,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -2052,7 +2157,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -2078,10 +2183,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -2089,7 +2196,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "reth_sync_block_validation_payload_validation_histogram{instance=~\"$instance\",quantile=\"$quantile\"}", + "expr": "reth_sync_block_validation_total_duration{instance=~\"$instance\",quantile=\"$quantile\"}", "instant": false, "legendFormat": "{{instance}} (q={{quantile}})", "range": true, @@ -2110,11 +2217,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -2131,6 +2240,7 @@ "type": "linear" }, "showPoints": "auto", + "showValues": false, "spanNulls": false, "stacking": { "group": "A", @@ -2146,7 +2256,7 @@ "steps": [ { "color": "green", - "value": null + "value": 0 } ] }, @@ -2172,10 +2282,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "12.4.0-21616522658", "targets": [ { "datasource": { @@ -2194,9 +2306,9 @@ "type": "timeseries" } ], + "preload": false, "refresh": "5s", - "schemaVersion": 38, - "style": "dark", + "schemaVersion": 42, "tags": [ "xlayer", "reth", @@ -2206,7 +2318,6 @@ "list": [ { "current": { - "selected": true, "text": [ "All" ], @@ -2220,7 +2331,6 @@ }, "definition": "label_values(reth_blockchain_tree_canonical_chain_height{node_type=\"rpc\"},instance)", "description": "Select RPC instances to monitor", - "hide": 0, "includeAll": true, "label": "RPC Instance", "multi": true, @@ -2232,20 +2342,16 @@ }, "refresh": 1, "regex": "", - "skipUrlSync": false, - "sort": 0, + "regexApplyTo": "value", "type": "query" }, { "current": { - "selected": true, "text": "0.5", "value": "0.5" }, - "hide": 0, "includeAll": false, "label": "Quantile", - "multi": false, "name": "quantile", "options": [ { @@ -2275,9 +2381,8 @@ } ], "query": "0, 0.5, 0.95, 0.99, 0.999", - "queryValue": "", - "skipUrlSync": false, - "type": "custom" + "type": "custom", + "valuesFormat": "csv" } ] }, @@ -2294,9 +2399,9 @@ "5m" ] }, - "timezone": "", + "timezone": "browser", "title": "XLayer Monitoring", "uid": "xlayer-monitoring", - "version": 1, + "version": 3, "weekStart": "" } \ No newline at end of file diff --git a/devnet/monitoring/prometheus.yml b/devnet/monitoring/prometheus.yml index fe57c0b..5447e69 100644 --- a/devnet/monitoring/prometheus.yml +++ b/devnet/monitoring/prometheus.yml @@ -1,6 +1,6 @@ global: - scrape_interval: 15s - evaluation_interval: 15s + scrape_interval: 5s + evaluation_interval: 5s scrape_configs: - job_name: 'prometheus' From b9ea862a0afe392caeb87d9dffc39e975006f983 Mon Sep 17 00:00:00 2001 From: brendontan03 Date: Wed, 4 Feb 2026 10:37:26 +0800 Subject: [PATCH 4/4] Add logs to gitignore --- .gitignore | 1 + .../grafana/provisioning/dashboards/xlayer-monitoring.json | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 09d78bc..26c7471 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,7 @@ devnet/l1-geth/execution/geth/genesis.json devnet/l1-geth/execution/geth devnet/tmp devnet/data +devnet/logs devnet/saved-cannon-data devnet/init.log devnet/l1-geth/ diff --git a/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json b/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json index a64c42b..6615b47 100644 --- a/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json +++ b/devnet/monitoring/grafana/provisioning/dashboards/xlayer-monitoring.json @@ -18,7 +18,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, - "id": 949646446645248, + "id": 1254758427131904, "links": [], "liveNow": true, "panels": [ @@ -2012,6 +2012,7 @@ "type": "prometheus", "uid": "prometheus" }, + "description": "Time difference between newPayload call completion and beginning of next FCU call", "fieldConfig": { "defaults": { "color": { @@ -2402,6 +2403,6 @@ "timezone": "browser", "title": "XLayer Monitoring", "uid": "xlayer-monitoring", - "version": 3, + "version": 1, "weekStart": "" } \ No newline at end of file