From bf023cf834dafcf3896959f71e461f83a024baaf Mon Sep 17 00:00:00 2001 From: Ethen Pociask Date: Wed, 8 Jan 2025 15:51:08 +0700 Subject: [PATCH] feat: Fork Diff Summary - update deploy action --- .github/workflows/pages.yml | 34 +- index.html | 5862 ----------------------------------- 2 files changed, 21 insertions(+), 5875 deletions(-) delete mode 100755 index.html diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index f69ca15..0fbc20b 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -7,7 +7,7 @@ on: - main - epociask--feat-fork-diff jobs: - deploy: + build: concurrency: ci-${{ github.ref }} runs-on: ubuntu-latest steps: @@ -21,17 +21,25 @@ jobs: with: args: -repo=/github/workspace -fork=/github/workspace/fork.yaml -out=/github/workspace/index.html - - name: Build pages - run: | - mkdir -p tmp/pages - mv index.html tmp/pages/index.html - touch tmp/pages/.nojekyll - # if [ "$GITHUB_REPOSITORY" == "ethereum-optimism/op-geth" ]; then - # echo "op-geth.optimism.io" > tmp/pages/CNAME - # fi; + - name: Setup Pages + uses: actions/configure-pages@v5 - - name: Deploy - uses: JamesIves/github-pages-deploy-action@v4 + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1 with: - folder: tmp/pages - clean: true \ No newline at end of file + source: ./ + destination: ./_site + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/index.html b/index.html deleted file mode 100755 index 5b5742b..0000000 --- a/index.html +++ /dev/null @@ -1,5862 +0,0 @@ - - - - - - - - - - layr-labs/nitro-testnode - - - - - - - - - - -
-
-
-
-
-
- - -
-
-
-
-
-
- -

Nitro Testnode Fork Diff

- - -
-
- - diff: - - - ignored: - -
-
-
-
- -
+395
-
-25
- - -
+3905
-
-0
- -
-
-
- -
-

The original nitro codebase can be found at github.com/OffchainLabs/nitro-testnode. -And the fork at github.com/Layr-Labs/nitro-testnode.

-
-
- - -
-
- -
- -
-

Added support for EigenDA:

- -
    -
  • Updated config generation script to express EigenDA chain params

  • - -
  • Updated rollup creator deployment script to target layr-labs/nitro-contracts

  • - -
  • Updated core docker compose to wire EigenDA proxy dependency

  • -
-
-
- -
- - - - -
- -
- -
+74
-
-13
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/docker-compose.yaml Layr-Labs/nitro-testnode/docker-compose.yaml -index 81deb6d1b73dd67ea4cdf7f86a3304c78b6e1998..7de54cc7877c2ff58b8864aecdc0cb2f4dcaf190 100644 ---- OffchainLabs/nitro-testnode/docker-compose.yaml -+++ Layr-Labs/nitro-testnode/docker-compose.yaml -@@ -66,7 +66,7 @@ - --authrpc.vhosts=* - - --authrpc.port=8551 - - --authrpc.addr=0.0.0.0 - - --http.vhosts=* -- - --http.api=engine,personal,eth,net,web3 -+ - --http.api=engine,personal,eth,net,web3,debug - - --http.corsdomain=* - - --ws - - --ws.addr=0.0.0.0 -@@ -161,7 +161,7 @@ - "seqdata:/home/user/.arbitrum/local/nitro" - - "l1keystore:/home/user/l1keystore" - - "config:/config" - - "tokenbridge-data:/tokenbridge-data" -- command: --conf.file /config/sequencer_config.json --node.feed.output.enable --node.feed.output.port 9642 --http.api net,web3,eth,txpool,debug --node.seq-coordinator.my-url ws://sequencer:8548 --graphql.enable --graphql.vhosts * --graphql.corsdomain * -+ command: --conf.file /config/sequencer_config.json --node.feed.output.enable --node.feed.output.port 9642 --http.api net,web3,eth,txpool,debug --node.seq-coordinator.my-url ws://sequencer:8548 --graphql.enable --graphql.vhosts * --graphql.corsdomain --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 - depends_on: - - geth -  -@@ -175,7 +175,7 @@ - "127.0.0.1:8648:8548" - volumes: - - "seqdata_b:/home/user/.arbitrum/local/nitro" - - "config:/config" -- command: --conf.file /config/sequencer_config.json --node.seq-coordinator.my-url ws://sequencer_b:8548 -+ command: --conf.file /config/sequencer_config.json --node.seq-coordinator.my-url ws://sequencer_b:8548 --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 - depends_on: - - geth - - redis -@@ -190,7 +190,7 @@ - "127.0.0.1:8748:8548" - volumes: - - "seqdata_c:/home/user/.arbitrum/local/nitro" - - "config:/config" -- command: --conf.file /config/sequencer_config.json --node.seq-coordinator.my-url ws://sequencer_c:8548 -+ command: --conf.file /config/sequencer_config.json --node.seq-coordinator.my-url ws://sequencer_c:8548 --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 - depends_on: - - geth - - redis -@@ -205,7 +205,7 @@ - "127.0.0.1:8848:8548" - volumes: - - "seqdata_d:/home/user/.arbitrum/local/nitro" - - "config:/config" -- command: --conf.file /config/sequencer_config.json --node.seq-coordinator.my-url ws://sequencer_d:8548 -+ command: --conf.file /config/sequencer_config.json --node.seq-coordinator.my-url ws://sequencer_d:8548 --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 - depends_on: - - geth - - redis -@@ -221,7 +221,7 @@ volumes: - - "unsafestaker-data:/home/user/.arbitrum/local/nitro" - - "l1keystore:/home/user/l1keystore" - - "config:/config" -- command: --conf.file /config/unsafe_staker_config.json -+ command: --conf.file /config/unsafe_staker_config.json --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 - depends_on: - - sequencer - - redis -@@ -238,7 +238,7 @@ volumes: - - "poster-data:/home/user/.arbitrum/local/nitro" - - "l1keystore:/home/user/l1keystore" - - "config:/config" -- command: --conf.file /config/poster_config.json -+ command: --conf.file /config/poster_config.json --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 - depends_on: - - geth - - redis -@@ -254,7 +254,7 @@ volumes: - - "poster-data-b:/home/user/.arbitrum/local/nitro" - - "l1keystore:/home/user/l1keystore" - - "config:/config" -- command: --conf.file /config/poster_config.json -+ command: --conf.file /config/poster_config.json --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 - depends_on: - - geth - - redis -@@ -270,7 +270,7 @@ volumes: - - "poster-data-c:/home/user/.arbitrum/local/nitro" - - "l1keystore:/home/user/l1keystore" - - "config:/config" -- command: --conf.file /config/poster_config.json -+ command: --conf.file /config/poster_config.json --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 - depends_on: - - geth - - redis -@@ -286,7 +286,7 @@ volumes: - - "validator-data:/home/user/.arbitrum/local/nitro" - - "l1keystore:/home/user/l1keystore" - - "config:/config" -- command: --conf.file /config/validator_config.json --http.port 8547 --http.api net,web3,arb,debug --ws.port 8548 -+ command: --conf.file /config/validator_config.json --http.port 8547 --http.api net,web3,arb,debug --ws.port 8548 --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 - depends_on: - - sequencer - - validation_node -@@ -302,7 +302,7 @@ volumes: - - "validator-data:/home/user/.arbitrum/local/nitro" - - "l1keystore:/home/user/l1keystore" - - "config:/config" -- command: --conf.file /config/l3node_config.json --http.port 3347 --http.api net,web3,arb,debug,eth --ws.port 3348 -+ command: --conf.file /config/l3node_config.json --http.port 3347 --http.api net,web3,arb,debug,eth --ws.port 3348 --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 - depends_on: - - sequencer - - validation_node -@@ -315,7 +315,7 @@ ports: - - "127.0.0.1:8949:8549" - volumes: - - "config:/config" -- command: --conf.file /config/validation_node_config.json -+ command: --conf.file /config/validation_node_config.json --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 -  - scripts: - build: scripts/ -@@ -330,7 +330,7 @@ image: nitro-node-dev-testnode - entrypoint: /usr/local/bin/relay - ports: - - "127.0.0.1:9652:9652" -- command: --chain.id 412346 --node.feed.input.url ws://sequencer:9642 --node.feed.output.port 9652 -+ command: --chain.id 412346 --node.feed.input.url ws://sequencer:9642 --node.feed.output.port 9652 --metrics --pprof --metrics-server.addr 0.0.0.0 --pprof-cfg.addr 0.0.0.0 -  - tokenbridge: - depends_on: -@@ -361,6 +361,66 @@ volumes: - - "config:/config" - - /var/run/docker.sock:/var/run/docker.sock -  -+ eigenda_proxy: -+ container_name: eigenda-proxy -+ image: ghcr.io/layr-labs/eigenda-proxy:v1.6.0 -+ environment: -+ - EIGENDA_PROXY_ADDR=0.0.0.0 -+ - EIGENDA_PROXY_PORT=4242 -+ - EIGENDA_PROXY_MEMSTORE_ENABLED=false -+ - EIGENDA_PROXY_MEMSTORE_EXPIRATION=45m -+ - EIGENDA_PROXY_EIGENDA_SIGNER_PRIVATE_KEY_HEX=$PRIVATE_KEY -+ - EIGENDA_PROXY_EIGENDA_DISPERSER_RPC=disperser-holesky.eigenda.xyz:443 -+ - EIGENDA_PROXY_EIGENDA_SERVICE_MANAGER_ADDR=0xD4A7E1Bd8015057293f0D0A557088c286942e84b -+ - EIGENDA_PROXY_EIGENDA_ETH_RPC=https://ethereum-holesky-rpc.publicnode.com -+ - EIGENDA_PROXY_EIGENDA_CONFIRMATION_DEPTH=0 -+ - EIGENDA_PROXY_METRICS_ADDR=0.0.0.0 -+ - EIGENDA_PROXY_METRICS_ENABLED=true -+ - EIGENDA_PROXY_METRICS_PORT=7300 -+ ports: -+ - 4242:4242 -+ - 7300:7300 -+ -+ prometheus: -+ image: prom/prometheus:latest -+ container_name: prometheus -+ volumes: -+ - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -+ ports: -+ - "9090:9090" -+ command: -+ - "--config.file=/etc/prometheus/prometheus.yml" -+ -+ grafana: -+ image: grafana/grafana:latest -+ container_name: grafana -+ ports: -+ - "127.0.0.1:3000:3000" -+ volumes: -+ - ./grafana/provisioning/:/etc/grafana/provisioning/:ro -+ - ./grafana/dashboards:/var/lib/grafana/dashboards -+ environment: -+ - GF_SECURITY_ADMIN_PASSWORD=admin -+ depends_on: -+ - prometheus -+ -+ loki: -+ image: grafana/loki:3.1.1 -+ restart: unless-stopped -+ volumes: -+ - ./loki:/etc/loki -+ ports: -+ - 3200:3200 -+ command: -config.file=/etc/loki/config.yaml -+ -+ promtail: -+ image: grafana/promtail:3.1.1 -+ restart: unless-stopped -+ volumes: -+ - ./promtail:/etc/promtail -+ - /var/run/docker.sock:/var/run/docker.sock # Mount Docker socket to read container logs -+ command: -config.file=/etc/promtail/config.yaml -+ - volumes: - l1data: - consensus: -@@ -374,6 +434,7 @@ validator-data: - poster-data: - poster-data-b: - poster-data-c: -+ grafana-data: - config: - postgres-data: - tokenbridge-data:
-
- - -
- - - - -
- -
- -
+16
-
-5
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/rollupcreator/Dockerfile Layr-Labs/nitro-testnode/rollupcreator/Dockerfile -index 17b065a90ce648bdae16f8dc735be321beeb84e6..2b785335cf478a385f5c126d00f90fda97539cc3 100644 ---- OffchainLabs/nitro-testnode/rollupcreator/Dockerfile -+++ Layr-Labs/nitro-testnode/rollupcreator/Dockerfile -@@ -1,14 +1,25 @@ --FROM node:16-bullseye-slim --ARG NITRO_CONTRACTS_BRANCH=main -+FROM node:18-bullseye-slim -+ -+ -+# Install necessary packages - RUN apt-get update && \ - apt-get install -y git docker.io python3 build-essential curl jq --WORKDIR /workspace --RUN git clone --no-checkout https://github.com/OffchainLabs/nitro-contracts.git ./ --RUN git checkout ${NITRO_CONTRACTS_BRANCH} -+ -+# Create workspace -+WORKDIR /workspace -+# Clone the repository and checkout the specified branch -+RUN git clone --no-checkout https://github.com/layr-labs/nitro-contracts.git ./ -+RUN git checkout 85aa27d11776bcbadf7f09aebdf71562bcb76e51 -+ -+# Install Foundry - RUN curl -L https://foundry.paradigm.xyz | bash - ENV PATH="${PATH}:/root/.foundry/bin" - RUN foundryup -+ -+# Setup scripts and dependencies - RUN touch scripts/config.ts - RUN yarn install - RUN yarn build:all -+ -+ - ENTRYPOINT ["yarn"]
-
- - -
- - - - -
- -
- -
+13
-
-2
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/scripts/config.ts Layr-Labs/nitro-testnode/scripts/config.ts -index eefcdd29b4ff91d3348929bcd454721dbdeceaeb..b765ba36731c337fbaa72b6dce5f3cf1f3f28836 100644 ---- OffchainLabs/nitro-testnode/scripts/config.ts -+++ Layr-Labs/nitro-testnode/scripts/config.ts -@@ -164,6 +164,10 @@ "id": 412346, - "info-files": [chainInfoFile], - }, - "node": { -+ "eigen-da": { -+ "enable": true, -+ "rpc": "http://eigenda_proxy:4242" -+ }, - "staker": { - "dangerous": { - "without-block-validator": false -@@ -200,7 +204,10 @@ }, - "batch-poster": { - "enable": false, - "redis-url": argv.redisUrl, -- "max-delay": "30s", -+ "max-delay": "15m", -+ "wait-for-max-delay": false, -+ "max-eigenda-batch-size": 16_000_000, // 16MB -+ "enable-eigenda-failover": false, - "l1-block-bound": "ignore", - "parent-chain-wallet" : { - "account": namedAddress("sequencer"), -@@ -238,6 +245,7 @@ "addr": "0.0.0.0", - "vhosts": "*", - "corsdomain": "*" - }, -+ "metrics": true, - } -  - -@@ -316,6 +324,7 @@ "auth": { - "jwtsecret": valJwtSecret, - "addr": "0.0.0.0", - }, -+ "metrics": true, - })) - fs.writeFileSync(path.join(consts.configpath, "validation_node_config.json"), JSON.stringify(validationNodeConfig)) - } -@@ -344,7 +353,8 @@ "arbitrum": { - "EnableArbOS": true, - "AllowDebugPrecompiles": true, - "DataAvailabilityCommittee": false, -- "InitialArbOSVersion": 30, -+ "InitialArbOSVersion": 32, -+ "EigenDA": true, - "InitialChainOwner": argv.l2owner, - "GenesisBlockNum": 0 - } -@@ -379,6 +389,7 @@ "AllowDebugPrecompiles": true, - "DataAvailabilityCommittee": false, - "InitialArbOSVersion": 30, - "InitialChainOwner": argv.l2owner, -+ "EigenDA": true, - "GenesisBlockNum": 0 - } - }
-
- - - -
-
- -
-
-
- - -
- -
-

Added optional observability to the testnode environment:

- -
    -
  • Prometheus agent for collecting service metrics

  • - -
  • Loki for log collecting

  • - -
  • PProf on sequencer resources to capture key performance metrics

  • - -
  • Grafana dashboard to capture key throughput and reliability metrics

  • -
- -

Observability can be enabled by passing --monitor to the root level test-node.bash script.

-
-
- -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+10
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/grafana/provisioning/dashboards/all.yml Layr-Labs/nitro-testnode/grafana/provisioning/dashboards/all.yml -new file mode 100644 -index 0000000000000000000000000000000000000000..36fd178a858175095dedcd602d6001c6ecb2f30c ---- /dev/null -+++ Layr-Labs/nitro-testnode/grafana/provisioning/dashboards/all.yml -@@ -0,0 +1,11 @@ -+apiVersion: 1 -+ -+providers: -+ - name: 'default' -+ orgId: 1 -+ folder: '' -+ type: file -+ disableDeletion: true -+ editable: true -+ options: -+ path: /var/lib/grafana/dashboards -\ No newline at end of file
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+14
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/grafana/provisioning/datasources/all.yml Layr-Labs/nitro-testnode/grafana/provisioning/datasources/all.yml -new file mode 100644 -index 0000000000000000000000000000000000000000..af7179f3f86355c624ca71cf77d73f7cbb924d81 ---- /dev/null -+++ Layr-Labs/nitro-testnode/grafana/provisioning/datasources/all.yml -@@ -0,0 +1,15 @@ -+apiVersion: 1 -+ -+deleteDatasources: -+- name: 'Prometheus' -+ -+datasources: -+- access: 'proxy' -+ editable: true -+ is_default: true -+ name: 'Prometheus' -+ uid: 'ddshms3dlineoe' -+ org_id: 1 -+ type: 'prometheus' -+ url: 'http://prometheus:9090' -+ version: 1 -\ No newline at end of file
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+38
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/loki/config.yaml Layr-Labs/nitro-testnode/loki/config.yaml -new file mode 100644 -index 0000000000000000000000000000000000000000..493a9085ebaddd7dabdef2101136d3a97f99998f ---- /dev/null -+++ Layr-Labs/nitro-testnode/loki/config.yaml -@@ -0,0 +1,39 @@ -+auth_enabled: false -+ -+server: -+ http_listen_port: 3200 -+ -+common: -+ instance_addr: 127.0.0.1 -+ path_prefix: /loki -+ storage: -+ filesystem: -+ chunks_directory: /loki/chunks -+ rules_directory: /loki/rules -+ replication_factor: 1 -+ ring: -+ kvstore: -+ store: inmemory -+ -+schema_config: -+ configs: -+ - from: 2020-10-24 -+ store: tsdb -+ object_store: filesystem -+ schema: v13 -+ index: -+ prefix: index_ -+ period: 24h -+ -+# By default, Loki will send anonymous, but uniquely-identifiable usage and configuration -+# analytics to Grafana Labs. These statistics are sent to https://stats.grafana.org/ -+# -+# Statistics help us better understand how Loki is used, and they show us performance -+# levels for most users. This helps us prioritize features and documentation. -+# For more information on what's sent, look at -+# https://github.com/grafana/loki/blob/main/pkg/usagestats/stats.go -+# Refer to the buildReport method to see what goes into a report. -+# -+# If you would like to disable reporting, uncomment the following lines: -+#analytics: -+# reporting_enabled: false -\ No newline at end of file
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+41
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/prometheus/prometheus.yml Layr-Labs/nitro-testnode/prometheus/prometheus.yml -new file mode 100644 -index 0000000000000000000000000000000000000000..52d71cd685d394a10105263c889c6a0464596b63 ---- /dev/null -+++ Layr-Labs/nitro-testnode/prometheus/prometheus.yml -@@ -0,0 +1,41 @@ -+global: -+ scrape_interval: 15s -+ scrape_timeout: 10s -+ evaluation_interval: 15s -+ -+scrape_configs: -+ -+ - job_name: 'prometheus' -+ scrape_interval: 5s -+ static_configs: -+ - targets: ['localhost:9090'] -+ -+ - job_name: 'eigenda_proxy' -+ honor_timestamps: true -+ metrics_path: /debug/metrics/prometheus -+ static_configs: -+ - targets: ["eigenda_proxy:7300"] -+ -+ - job_name: 'sequencer' -+ honor_timestamps: true -+ metrics_path: /debug/metrics/prometheus -+ static_configs: -+ - targets: ["sequencer:6070"] -+ -+ - job_name: 'poster' -+ honor_timestamps: true -+ metrics_path: /debug/metrics/prometheus -+ static_configs: -+ - targets: ["poster:6070"] -+ -+ - job_name: 'validator' -+ honor_timestamps: true -+ metrics_path: /debug/metrics/prometheus -+ static_configs: -+ - targets: ["validator:6070"] -+ -+ - job_name: 'validation_node' -+ honor_timestamps: true -+ metrics_path: /debug/metrics/prometheus -+ static_configs: -+ - targets: ["validation_node:6070"]
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+20
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/promtail/config.yaml Layr-Labs/nitro-testnode/promtail/config.yaml -new file mode 100644 -index 0000000000000000000000000000000000000000..7f2a6bfd7e859cffde952bf73cc6cb190847a3e7 ---- /dev/null -+++ Layr-Labs/nitro-testnode/promtail/config.yaml -@@ -0,0 +1,21 @@ -+server: -+ http_listen_port: 9080 -+ grpc_listen_port: 0 -+ -+positions: -+ filename: /tmp/positions.yaml -+ -+clients: -+ - url: http://loki:3200/loki/api/v1/push -+ -+scrape_configs: -+ - job_name: docker -+ docker_sd_configs: -+ - host: unix:///var/run/docker.sock -+ filters: -+ - name: name -+ values: ["sequencer", "poster", "validation*", "validator", "eigenda-proxy"] -+ relabel_configs: -+ - source_labels: ["__meta_docker_container_name"] -+ regex: "/(.*)" -+ target_label: "container" -\ No newline at end of file
-
- - -
- - - - -
- -
- -
+16
-
-3
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/test-node.bash Layr-Labs/nitro-testnode/test-node.bash -index dd112c95b5f893e858c2b86c0cd0f935f75f8d3b..d2642a8e9652e4b44a7b0b0cd218e530217b6c9c 100755 ---- OffchainLabs/nitro-testnode/test-node.bash -+++ Layr-Labs/nitro-testnode/test-node.bash -@@ -2,12 +2,12 @@ #!/usr/bin/env bash -  - set -e -  --NITRO_NODE_VERSION=offchainlabs/nitro-node:v3.0.1-cf4b74e-dev -+NITRO_NODE_VERSION=ghcr.io/layr-labs/nitro-eigenda:latest - BLOCKSCOUT_VERSION=offchainlabs/blockscout:v1.0.0-c8db5b1 -  - # This commit matches the v1.2.1 contracts, with additional support for CacheManger deployment. - # Once v1.2.2 is released, we can switch to that version. --DEFAULT_NITRO_CONTRACTS_VERSION="867663657b98a66b60ff244e46226e0cb368ab94" -+DEFAULT_NITRO_CONTRACTS_VERSION="85aa27d11776bcbadf7f09aebdf71562bcb76e51" - DEFAULT_TOKEN_BRIDGE_VERSION="v1.2.1" -  - # Set default versions if not overriden by provided env vars -@@ -53,6 +53,7 @@ batchposters=1 - devprivkey=b6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659 - l1chainid=1337 - simple=true -+monitor=false - while [[ $# -gt 0 ]]; do - case $1 in - --init) -@@ -172,6 +173,13 @@ --no-simple) - simple=false - shift - ;; -+ --monitor) -+ prometheus=true -+ grafana=true -+ loki=true -+ promtail=true -+ shift -+ ;; - *) - echo Usage: $0 \[OPTIONS..] - echo $0 script [SCRIPT-ARGS] -@@ -194,6 +202,7 @@ echo --tokenbridge deploy L1-L2 token bridge. - echo --no-tokenbridge don\'t build or launch tokenbridge - echo --no-run does not launch nodes \(useful with build or init\) - echo --no-simple run a full configuration with separate sequencer/batch-poster/validator/relayer -+ echo --monitor start Prometheus, Loki, Promtail and Grafana server - echo - echo script runs inside a separate docker. For SCRIPT-ARGS, run $0 script --help - exit 0 -@@ -216,7 +225,8 @@ force_build=true - fi - fi -  --NODES="sequencer" -+NODES="eigenda_proxy" -+NODES="$NODES sequencer" - INITIAL_SEQ_NODES="sequencer" -  - if ! $simple; then -@@ -254,6 +264,9 @@ NODES="$NODES l3node" - fi - if $blockscout; then - NODES="$NODES blockscout" -+fi -+if $monitor; then -+ NODES="$NODES prometheus grafana loki promtail" - fi - if $force_build; then - echo == Building..
-
- - - -
-
- -
-
-
- - -
- -
-

Added a flood.ts script which generates tx traffic targeting a specific byte rate.

- -

E.g:

- -
  docker compose run scripts flood --serial true --rounds 1000 --targetThroughput 100_000
-
- -

This will target 100,000 Kb/s.

-
-
- -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+149
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/scripts/flood.ts Layr-Labs/nitro-testnode/scripts/flood.ts -new file mode 100644 -index 0000000000000000000000000000000000000000..002af3ade68d0dbb7a5dc90458c637a5ce1867e2 ---- /dev/null -+++ Layr-Labs/nitro-testnode/scripts/flood.ts -@@ -0,0 +1,149 @@ -+import { runStress } from './stress'; -+import { ethers } from 'ethers'; -+import { namedAccount, namedAddress } from './accounts'; -+ -+function randomInRange(maxSize: number): number { -+ return Math.ceil(Math.random() * maxSize); -+} -+ -+function generateRandomBytes(size: number): string { -+ let result = ''; -+ const hexChars = '0123456789abcdef'; -+ for (let i = 0; i < size; i++) { -+ const byte = Math.floor(Math.random() * 256); -+ result += hexChars[(byte >> 4) & 0xf] + hexChars[byte & 0xf]; // Convert byte to two hex characters -+ } -+ return result; -+} -+ -+function generateRandomHexData(size: number): string { -+ return '0x' + generateRandomBytes(size); -+} -+ -+async function sendTransaction(argv: any, threadId: number) { -+ console.log("sending tx from", argv.from, "to", argv.to) -+ const account = namedAccount(argv.from, threadId).connect(argv.provider) -+ const startNonce = await account.getTransactionCount("pending") -+ const response = await -+ account.sendTransaction({ -+ to: namedAddress(argv.to, threadId), -+ value: ethers.utils.parseEther(argv.ethamount), -+ data: argv.data, -+ nonce: startNonce, -+ }) -+ console.log(response) -+ if (argv.wait) { -+ const receipt = await response.wait() -+ console.log(receipt) -+ } -+ if (argv.delay > 0) { -+ await new Promise(f => setTimeout(f, argv.delay)); -+ } -+} -+ -+// flood simulation -+async function simulateNetworkFlood(argv: any) { -+ // fund the users -+ console.log(`fund all users`) -+ const funding_argv = { -+ ...argv, -+ ethamount: "100", -+ threads: 1, -+ wait: true, -+ from: `funnel` -+ } -+ for (let i = 0; i <= argv.user_count; i++) { -+ funding_argv.to = `user_${i}` -+ await runStress(funding_argv, sendTransaction) -+ } -+ -+ console.log(`start sending transactions`) -+ argv.ethamount = "0.0001" -+ -+ // throughput / threads = avg tx size < 127size -+ // if throughput target is set, we will not respect the maxTxDataSize setting -+ if (argv.targetThroughput > 0) { -+ argv.delay = 1000 // 1 second delay -+ // We don't care about the float throughput, just send 1 more transaction of the same average size -+ argv.threads = argv.targetThroughput > 125_000 ? argv.targetThroughput / 125_000 + 1 : 1 -+ const size = argv.targetThroughput / argv.threads -+ for (let i = 0; i < argv.rounds; i++) { -+ argv.from = `user_${randomInRange(argv.user_count)}`; -+ argv.to = `user_${randomInRange(argv.user_count)}`; // don't care if sending to self -+ argv.data = generateRandomHexData(size); -+ -+ console.log(`prepared transactions`, { transaction_count: i, size: size, argv: argv }) -+ const startTime = Date.now(); -+ runStress(argv, sendTransaction); -+ const timeSpent = Date.now() - startTime; -+ const secondsTick = Math.max(0, 1000 - timeSpent); -+ await new Promise(resolve => setTimeout(resolve, secondsTick)); -+ } -+ } else { -+ for (let i = 0; i < argv.rounds; i++) { -+ argv.from = `user_${randomInRange(argv.user_count)}`; -+ argv.to = `user_${randomInRange(argv.user_count)}`; // don't care if sending to self -+ argv.threads = randomInRange(argv.threads) -+ const size = randomInRange(argv.maxTxDataSize) -+ argv.data = generateRandomHexData(size); -+ -+ console.log(`prepared transactions`, { transaction_count: i, size: size, argv: argv }) -+ await runStress(argv, sendTransaction); -+ } -+ } -+} -+ -+export const floodCommand = { -+ command: "flood", -+ describe: "Simulates network activity by sending arbitrary transactions among random user_count", -+ builder: { -+ user_count: { -+ number: true, -+ describe: "Number of active user_count", -+ default: 10, -+ }, -+ rounds: { -+ number: true, -+ describe: "Number of rounds of transactions to send (total transactions = rounds * threads); if targetThroughput rate is set, rounds should represents the total second of the tests", -+ default: 12000, -+ }, -+ // this is something we can read from the rollup creator -+ maxTxDataSize: { -+ number: true, -+ describe: "Maximum transaction data size in bytes", -+ default: 58982, -+ }, -+ threads: { -+ number: true, -+ describe: "Number of threads per transaction", -+ default: 100, -+ }, -+ delay: { -+ number: true, -+ describe: "Delay between transactions in milliseconds", -+ default: 0, -+ }, -+ serial: { -+ boolean: true, -+ describe: "Run transactions serially (in sequence)", -+ default: false, -+ }, -+ wait: { -+ boolean: true, -+ describe: "Wait for transaction confirmations", -+ default: false, -+ }, -+ targetThroughput: { -+ number: true, -+ describe: "Target throughput in total transactions data size sent per second; if this is set, number of threads will be disregarded (Default is 16kb)", -+ default: 0, -+ }, -+ }, -+ handler: async (argv: any) => { -+ argv.provider = new ethers.providers.WebSocketProvider(argv.l2url); -+ await simulateNetworkFlood(argv); -+ argv.provider.destroy(); -+ -+ }, -+}; -+
-
- - -
- - - - -
- -
- -
+2
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/scripts/index.ts Layr-Labs/nitro-testnode/scripts/index.ts -index 2fd189f6110252c29f9007cbce64ece090a70d5d..72a57177cc56b14cef60e8803055489a438d634c 100644 ---- OffchainLabs/nitro-testnode/scripts/index.ts -+++ Layr-Labs/nitro-testnode/scripts/index.ts -@@ -20,6 +20,7 @@ sendL2Command, - sendL3Command, - sendRPCCommand, - } from "./ethcommands"; -+import { floodCommand } from "./flood"; -  - async function main() { - await Yargs(hideBin(process.argv)) -@@ -41,6 +42,7 @@ .command(sendL1Command) - .command(sendL2Command) - .command(sendL3Command) - .command(sendRPCCommand) -+ .command(floodCommand) - .command(writeConfigCommand) - .command(writeGethGenesisCommand) - .command(writeL2ChainConfigCommand)
-
- - - -
-
- -
-
-
- - -
- -
-
-
- -
- - - - -
- -
- -
+1
-
-1
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/.github/workflows/ci.yml Layr-Labs/nitro-testnode/.github/workflows/ci.yml -index a78e451ce5c2c9cd54de4268a3194ee519c12d1f..2ea3c2ec9b46ce667d71fd70a14c03dc7694010e 100644 ---- OffchainLabs/nitro-testnode/.github/workflows/ci.yml -+++ Layr-Labs/nitro-testnode/.github/workflows/ci.yml -@@ -13,7 +13,7 @@ -  - jobs: - build_and_run: -- runs-on: ubuntu-8 -+ runs-on: ubuntu-latest -  - steps: - - name: Checkout
-
- - -
- - - - -
- -
- -
+1
-
-1
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/scripts/Dockerfile Layr-Labs/nitro-testnode/scripts/Dockerfile -index c5b7050c29c189fd4d51c3d35c8f5ed75b97f45a..ca2c677e8149a47a935c1b3a870945ae77127064 100644 ---- OffchainLabs/nitro-testnode/scripts/Dockerfile -+++ Layr-Labs/nitro-testnode/scripts/Dockerfile -@@ -1,4 +1,4 @@ --FROM node:16-bullseye-slim -+FROM node:18-bullseye-slim - WORKDIR /workspace - COPY ./package.json ./yarn.lock ./ - RUN yarn
-
- - - -
-
- -
-
-
- - -
-
-
- - -
- -
-
-
- - -
- - -
-
-
- - (new) - -
- - -
-
- -
- -
- -
+3905
-
-0
- -
- -
-
-
diff --git OffchainLabs/nitro-testnode/grafana/dashboards/Throughput-testing.json Layr-Labs/nitro-testnode/grafana/dashboards/Throughput-testing.json -new file mode 100644 -index 0000000000000000000000000000000000000000..58d6fcb2d3ba8c13aa2132793fa34aec54f9464a ---- /dev/null -+++ Layr-Labs/nitro-testnode/grafana/dashboards/Throughput-testing.json -@@ -0,0 +1,3906 @@ -+{ -+ "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": 0, -+ "links": [], -+ "panels": [ -+ { -+ "collapsed": true, -+ "gridPos": { -+ "h": 1, -+ "w": 24, -+ "x": 0, -+ "y": 0 -+ }, -+ "id": 26, -+ "panels": [ -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "custom": { -+ "hideFrom": { -+ "legend": false, -+ "tooltip": false, -+ "viz": false -+ }, -+ "scaleDistribution": { -+ "type": "linear" -+ } -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 9, -+ "w": 9, -+ "x": 0, -+ "y": 1 -+ }, -+ "id": 25, -+ "options": { -+ "calculate": false, -+ "cellGap": 1, -+ "color": { -+ "exponent": 0.5, -+ "fill": "dark-orange", -+ "mode": "scheme", -+ "reverse": false, -+ "scale": "exponential", -+ "scheme": "Oranges", -+ "steps": 64 -+ }, -+ "exemplars": { -+ "color": "rgba(255,0,255,0.7)" -+ }, -+ "filterValues": { -+ "le": 1e-9 -+ }, -+ "legend": { -+ "show": true -+ }, -+ "rowsFrame": { -+ "layout": "auto" -+ }, -+ "tooltip": { -+ "mode": "single", -+ "showColorScale": false, -+ "yHistogram": false -+ }, -+ "yAxis": { -+ "axisPlacement": "left", -+ "reverse": false -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "jit_wasm_memoryusage{instance=\"validation_node:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "WASM Memory Usage", -+ "type": "heatmap" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "custom": { -+ "hideFrom": { -+ "legend": false, -+ "tooltip": false, -+ "viz": false -+ }, -+ "scaleDistribution": { -+ "type": "linear" -+ } -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 9, -+ "w": 9, -+ "x": 9, -+ "y": 1 -+ }, -+ "id": 27, -+ "options": { -+ "calculate": false, -+ "cellGap": 1, -+ "color": { -+ "exponent": 0.5, -+ "fill": "dark-orange", -+ "mode": "scheme", -+ "reverse": false, -+ "scale": "exponential", -+ "scheme": "Oranges", -+ "steps": 64 -+ }, -+ "exemplars": { -+ "color": "rgba(255,0,255,0.7)" -+ }, -+ "filterValues": { -+ "le": 1e-9 -+ }, -+ "legend": { -+ "show": true -+ }, -+ "rowsFrame": { -+ "layout": "auto" -+ }, -+ "tooltip": { -+ "mode": "single", -+ "showColorScale": false, -+ "yHistogram": false -+ }, -+ "yAxis": { -+ "axisPlacement": "left", -+ "reverse": false -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rpc_duration_validation_wasmModuleRoots_success{instance=\"validation_node:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "WASM Module Roots Endpoint Success", -+ "type": "heatmap" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "custom": { -+ "hideFrom": { -+ "legend": false, -+ "tooltip": false, -+ "viz": false -+ }, -+ "scaleDistribution": { -+ "type": "linear" -+ } -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 9, -+ "w": 9, -+ "x": 0, -+ "y": 10 -+ }, -+ "id": 30, -+ "options": { -+ "calculate": false, -+ "cellGap": 1, -+ "color": { -+ "exponent": 0.5, -+ "fill": "dark-orange", -+ "mode": "scheme", -+ "reverse": false, -+ "scale": "exponential", -+ "scheme": "Oranges", -+ "steps": 64 -+ }, -+ "exemplars": { -+ "color": "rgba(255,0,255,0.7)" -+ }, -+ "filterValues": { -+ "le": 1e-9 -+ }, -+ "legend": { -+ "show": true -+ }, -+ "rowsFrame": { -+ "layout": "auto" -+ }, -+ "tooltip": { -+ "mode": "single", -+ "showColorScale": false, -+ "yHistogram": false -+ }, -+ "yAxis": { -+ "axisPlacement": "left", -+ "reverse": false -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rpc_duration_validation_validate_success{instance=\"validation_node:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Validate Endpoint", -+ "type": "heatmap" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green", -+ "value": null -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 4, -+ "w": 6, -+ "x": 9, -+ "y": 10 -+ }, -+ "id": 33, -+ "options": { -+ "minVizHeight": 75, -+ "minVizWidth": 75, -+ "orientation": "auto", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showThresholdLabels": false, -+ "showThresholdMarkers": true, -+ "sizing": "auto" -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rpc_duration_validation_validate_success_count{instance=\"validation_node:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Validate Success Count", -+ "type": "gauge" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "custom": { -+ "hideFrom": { -+ "legend": false, -+ "tooltip": false, -+ "viz": false -+ }, -+ "scaleDistribution": { -+ "type": "linear" -+ } -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 9, -+ "w": 9, -+ "x": 15, -+ "y": 10 -+ }, -+ "id": 31, -+ "options": { -+ "calculate": false, -+ "cellGap": 1, -+ "color": { -+ "exponent": 0.5, -+ "fill": "dark-orange", -+ "mode": "scheme", -+ "reverse": false, -+ "scale": "exponential", -+ "scheme": "Oranges", -+ "steps": 64 -+ }, -+ "exemplars": { -+ "color": "rgba(255,0,255,0.7)" -+ }, -+ "filterValues": { -+ "le": 1e-9 -+ }, -+ "legend": { -+ "show": true -+ }, -+ "rowsFrame": { -+ "layout": "auto" -+ }, -+ "tooltip": { -+ "mode": "single", -+ "showColorScale": false, -+ "yHistogram": false -+ }, -+ "yAxis": { -+ "axisPlacement": "left", -+ "reverse": false -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rpc_duration_validation_stylusArchs_success{instance=\"validation_node:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Validate Stylus Program Endpoint", -+ "type": "heatmap" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green", -+ "value": null -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 5, -+ "w": 6, -+ "x": 9, -+ "y": 14 -+ }, -+ "id": 28, -+ "options": { -+ "minVizHeight": 75, -+ "minVizWidth": 75, -+ "orientation": "auto", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showThresholdLabels": false, -+ "showThresholdMarkers": true, -+ "sizing": "auto" -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rpc_duration_validation_stylusArchs_success_count{instance=\"validation_node:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Stylus Archs Success Count", -+ "type": "gauge" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "custom": { -+ "hideFrom": { -+ "legend": false, -+ "tooltip": false, -+ "viz": false -+ }, -+ "scaleDistribution": { -+ "type": "linear" -+ } -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 9, -+ "w": 9, -+ "x": 0, -+ "y": 19 -+ }, -+ "id": 29, -+ "options": { -+ "calculate": false, -+ "cellGap": 1, -+ "color": { -+ "exponent": 0.5, -+ "fill": "dark-orange", -+ "mode": "scheme", -+ "reverse": false, -+ "scale": "exponential", -+ "scheme": "Oranges", -+ "steps": 64 -+ }, -+ "exemplars": { -+ "color": "rgba(255,0,255,0.7)" -+ }, -+ "filterValues": { -+ "le": 1e-9 -+ }, -+ "legend": { -+ "show": true -+ }, -+ "rowsFrame": { -+ "layout": "auto" -+ }, -+ "tooltip": { -+ "mode": "single", -+ "showColorScale": false, -+ "yHistogram": false -+ }, -+ "yAxis": { -+ "axisPlacement": "left", -+ "reverse": false -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rpc_duration_validation_latestWasmModuleRoot_success{instance=\"validation_node:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Latest WASM Root Endpoint", -+ "type": "heatmap" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green", -+ "value": null -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 5, -+ "w": 6, -+ "x": 9, -+ "y": 19 -+ }, -+ "id": 34, -+ "options": { -+ "minVizHeight": 75, -+ "minVizWidth": 75, -+ "orientation": "auto", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showThresholdLabels": false, -+ "showThresholdMarkers": true, -+ "sizing": "auto" -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rpc_duration_validation_latestWasmModuleRoot_success_count{instance=\"validation_node:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "wasmModuleRoots Success Count", -+ "type": "gauge" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "custom": { -+ "hideFrom": { -+ "legend": false, -+ "tooltip": false, -+ "viz": false -+ }, -+ "scaleDistribution": { -+ "type": "linear" -+ } -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 9, -+ "w": 9, -+ "x": 15, -+ "y": 19 -+ }, -+ "id": 32, -+ "options": { -+ "calculate": false, -+ "cellGap": 1, -+ "color": { -+ "exponent": 0.5, -+ "fill": "dark-orange", -+ "mode": "scheme", -+ "reverse": false, -+ "scale": "exponential", -+ "scheme": "Oranges", -+ "steps": 64 -+ }, -+ "exemplars": { -+ "color": "rgba(255,0,255,0.7)" -+ }, -+ "filterValues": { -+ "le": 1e-9 -+ }, -+ "legend": { -+ "show": true -+ }, -+ "rowsFrame": { -+ "layout": "auto" -+ }, -+ "tooltip": { -+ "mode": "single", -+ "showColorScale": false, -+ "yHistogram": false -+ }, -+ "yAxis": { -+ "axisPlacement": "left", -+ "reverse": false -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rpc_duration_validation_room_success{instance=\"validation_node:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Validations Available (room) Endpoint", -+ "type": "heatmap" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green", -+ "value": null -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 4, -+ "w": 6, -+ "x": 9, -+ "y": 24 -+ }, -+ "id": 35, -+ "options": { -+ "minVizHeight": 75, -+ "minVizWidth": 75, -+ "orientation": "auto", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showThresholdLabels": false, -+ "showThresholdMarkers": true, -+ "sizing": "auto" -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rpc_duration_validation_stylusArchs_success_count{instance=\"validation_node:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Stylus Archs Success Count", -+ "type": "gauge" -+ } -+ ], -+ "title": "Validation Server", -+ "type": "row" -+ }, -+ { -+ "collapsed": false, -+ "gridPos": { -+ "h": 1, -+ "w": 24, -+ "x": 0, -+ "y": 1 -+ }, -+ "id": 9, -+ "panels": [], -+ "title": "Validator", -+ "type": "row" -+ }, -+ { -+ "datasource": { -+ "default": false, -+ "type": "loki", -+ "uid": "cdzn4gd8wly4gf" -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 24, -+ "x": 0, -+ "y": 2 -+ }, -+ "id": 39, -+ "options": { -+ "dedupStrategy": "none", -+ "enableLogDetails": true, -+ "prettifyLogMessage": false, -+ "showCommonLabels": false, -+ "showLabels": false, -+ "showTime": false, -+ "sortOrder": "Descending", -+ "wrapLogMessage": false -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "loki", -+ "uid": "cdzn4gd8wly4gf" -+ }, -+ "editorMode": "builder", -+ "expr": "{service_name=\"nitro-testnode-validator-1\"}", -+ "queryType": "range", -+ "refId": "A" -+ } -+ ], -+ "title": "Logs", -+ "type": "logs" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green", -+ "value": null -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 12, -+ "x": 0, -+ "y": 10 -+ }, -+ "id": 7, -+ "options": { -+ "minVizHeight": 75, -+ "minVizWidth": 75, -+ "orientation": "auto", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showThresholdLabels": false, -+ "showThresholdMarkers": true, -+ "sizing": "auto" -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "exemplar": false, -+ "expr": "arb_validator_msg_count_current_batch{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "msg count cur batch", -+ "range": true, -+ "refId": "Validator Message Count", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_validator_validations_pending{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "validations pending", -+ "range": true, -+ "refId": "Validations Pending", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_validator_msg_count_validated{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "msg count validated", -+ "range": true, -+ "refId": "Validator Msg Count Validated", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "exemplar": false, -+ "expr": "arb_validator_validations_valid{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "validations valid", -+ "range": true, -+ "refId": "Valid Validations", -+ "useBackend": false -+ } -+ ], -+ "title": "Validations", -+ "type": "gauge" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [ -+ { -+ "options": { -+ "{__name__\"": { -+ "index": 0 -+ } -+ }, -+ "type": "value" -+ } -+ ], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green", -+ "value": null -+ } -+ ] -+ } -+ }, -+ "overrides": [ -+ { -+ "matcher": { -+ "id": "byRegexp", -+ "options": "__name__*" -+ }, -+ "properties": [ -+ { -+ "id": "displayName" -+ } -+ ] -+ } -+ ] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 3, -+ "x": 12, -+ "y": 10 -+ }, -+ "id": 17, -+ "options": { -+ "minVizHeight": 75, -+ "minVizWidth": 75, -+ "orientation": "auto", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showThresholdLabels": false, -+ "showThresholdMarkers": true, -+ "sizing": "auto" -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_sequencenumber_confirmed{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Confirmed", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_sequencenumber_inblock{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Inblock", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_sequencenumber_latest{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Latest", -+ "range": true, -+ "refId": "C", -+ "useBackend": false -+ } -+ ], -+ "title": "nominal SeqNum", -+ "type": "gauge" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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 -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 9, -+ "x": 15, -+ "y": 10 -+ }, -+ "id": 19, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_dataposter_queue_length{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Data Poster Queue", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green", -+ "value": null -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 9, -+ "w": 6, -+ "x": 0, -+ "y": 18 -+ }, -+ "id": 23, -+ "options": { -+ "minVizHeight": 75, -+ "minVizWidth": 75, -+ "orientation": "auto", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showThresholdLabels": false, -+ "showThresholdMarkers": true, -+ "sizing": "auto" -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_staker_action_success{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "{{__name__}}", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_staker_action_failure{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "{{__name__}}", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_staker_confirmed_node{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "{{__name__}}", -+ "range": true, -+ "refId": "C", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_staker_staked_node{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "{{__name__}}", -+ "range": true, -+ "refId": "D", -+ "useBackend": false -+ } -+ ], -+ "title": "Assertion Chain Staking", -+ "type": "gauge" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "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", -+ "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 -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 9, -+ "w": 5, -+ "x": 6, -+ "y": 18 -+ }, -+ "id": 24, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_validator_recordingdb_size{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Recording DB Size", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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": 9, -+ "w": 4, -+ "x": 11, -+ "y": 18 -+ }, -+ "id": 41, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_batchposter_gasrefunder_eth{instance=\"poster:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "ETH", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Gas Refunder ETH", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "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", -+ "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": 9, -+ "w": 5, -+ "x": 15, -+ "y": 18 -+ }, -+ "id": 45, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_dataposter_queue_length{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Length", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_dataposter_queue_weight{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Weight", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ } -+ ], -+ "title": "Data Poster Queue", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green", -+ "value": null -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 9, -+ "w": 4, -+ "x": 20, -+ "y": 18 -+ }, -+ "id": 44, -+ "options": { -+ "colorMode": "value", -+ "graphMode": "area", -+ "justifyMode": "auto", -+ "orientation": "auto", -+ "percentChangeColorMode": "standard", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showPercentChange": false, -+ "textMode": "auto", -+ "wideLayout": true -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_dataposter_nonce_finalized{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Nonce Finalized", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_dataposter_nonce_softconfirmed{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Nonce Soft Confirmed", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_dataposter_nonce_unconfirmed{instance=\"validator:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Nonce Unconfirmed", -+ "range": true, -+ "refId": "C", -+ "useBackend": false -+ } -+ ], -+ "title": "Data Poster", -+ "type": "stat" -+ }, -+ { -+ "collapsed": true, -+ "gridPos": { -+ "h": 1, -+ "w": 24, -+ "x": 0, -+ "y": 27 -+ }, -+ "id": 21, -+ "panels": [ -+ { -+ "datasource": { -+ "default": false, -+ "type": "loki", -+ "uid": "cdzn4gd8wly4gf" -+ }, -+ "gridPos": { -+ "h": 4, -+ "w": 24, -+ "x": 0, -+ "y": 3 -+ }, -+ "id": 37, -+ "options": { -+ "dedupStrategy": "none", -+ "enableLogDetails": true, -+ "prettifyLogMessage": false, -+ "showCommonLabels": false, -+ "showLabels": false, -+ "showTime": false, -+ "sortOrder": "Descending", -+ "wrapLogMessage": false -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "loki", -+ "uid": "cdzn4gd8wly4gf" -+ }, -+ "editorMode": "builder", -+ "expr": "{container=\"nitro-testnode-poster-1\"} |= ``", -+ "queryType": "range", -+ "refId": "A" -+ } -+ ], -+ "title": "Logs", -+ "type": "logs" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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" -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 7, -+ "x": 0, -+ "y": 7 -+ }, -+ "id": 20, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_batchposter_estimated_batch_backlog{instance=\"poster:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Estimated Batch Backlog", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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" -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 9, -+ "x": 7, -+ "y": 7 -+ }, -+ "id": 22, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_batchposter_wallet_eth{instance=\"poster:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Wallet ETH", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green" -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 4, -+ "x": 16, -+ "y": 7 -+ }, -+ "id": 40, -+ "options": { -+ "minVizHeight": 75, -+ "minVizWidth": 75, -+ "orientation": "auto", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showThresholdLabels": false, -+ "showThresholdMarkers": true, -+ "sizing": "auto" -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_batchPoster_action_da_success{instance=\"poster:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "DA Success", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_batchPoster_action_da_failure{instance=\"poster:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "DA Failures", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ } -+ ], -+ "title": "Data Availability Provider", -+ "type": "gauge" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "description": "", -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green" -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 4, -+ "x": 20, -+ "y": 7 -+ }, -+ "id": 43, -+ "options": { -+ "minVizHeight": 75, -+ "minVizWidth": 75, -+ "orientation": "auto", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showThresholdLabels": false, -+ "showThresholdMarkers": true, -+ "sizing": "auto" -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_dataposter_nonce_finalized{instance=\"poster:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Nonce Finalized", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_dataposter_nonce_softconfirmed{instance=\"poster:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Nonce Soft Confirmed", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_dataposter_nonce_unconfirmed{instance=\"poster:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Nonce Unconfirmed", -+ "range": true, -+ "refId": "C", -+ "useBackend": false -+ } -+ ], -+ "title": "Data Poster", -+ "type": "gauge" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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" -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 7, -+ "x": 0, -+ "y": 15 -+ }, -+ "id": 42, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_batchposter_l1gasprice{instance=\"poster:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "GWEI", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "L1 Gas Price", -+ "type": "timeseries" -+ } -+ ], -+ "title": "Batch Poster", -+ "type": "row" -+ }, -+ { -+ "collapsed": true, -+ "gridPos": { -+ "h": 1, -+ "w": 24, -+ "x": 0, -+ "y": 28 -+ }, -+ "id": 13, -+ "panels": [ -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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 -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 9, -+ "x": 0, -+ "y": 4 -+ }, -+ "id": 12, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_block_basefee", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "L2 Base Fee", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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 -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 7, -+ "x": 9, -+ "y": 4 -+ }, -+ "id": 14, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "hidden", -+ "placement": "right", -+ "showLegend": false -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_block_gasused", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Block Gas Used", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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 -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 7, -+ "x": 16, -+ "y": 4 -+ }, -+ "id": 46, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "hidden", -+ "placement": "right", -+ "showLegend": false -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_block_gasused", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Block Gas Used", -+ "type": "timeseries" -+ } -+ ], -+ "title": "Chain", -+ "type": "row" -+ }, -+ { -+ "collapsed": false, -+ "gridPos": { -+ "h": 1, -+ "w": 24, -+ "x": 0, -+ "y": 29 -+ }, -+ "id": 16, -+ "panels": [], -+ "title": "EigenDA Proxy", -+ "type": "row" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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 -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 12, -+ "x": 0, -+ "y": 30 -+ }, -+ "id": 15, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "eigenda_proxy_http_server_requests_total{job=\"eigenda_proxy\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Proxy Requests Total", -+ "type": "timeseries" -+ }, -+ { -+ "collapsed": true, -+ "gridPos": { -+ "h": 1, -+ "w": 24, -+ "x": 0, -+ "y": 38 -+ }, -+ "id": 8, -+ "panels": [ -+ { -+ "datasource": { -+ "default": false, -+ "type": "loki", -+ "uid": "cdzn4gd8wly4gf" -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 24, -+ "x": 0, -+ "y": 31 -+ }, -+ "id": 38, -+ "options": { -+ "dedupStrategy": "none", -+ "enableLogDetails": true, -+ "prettifyLogMessage": false, -+ "showCommonLabels": false, -+ "showLabels": false, -+ "showTime": false, -+ "sortOrder": "Descending", -+ "wrapLogMessage": false -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "loki", -+ "uid": "cdzn4gd8wly4gf" -+ }, -+ "editorMode": "builder", -+ "expr": "{container=\"nitro-testnode-sequencer-1\"} |= ``", -+ "queryType": "range", -+ "refId": "A" -+ } -+ ], -+ "title": "Logs", -+ "type": "logs" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green", -+ "value": null -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 5, -+ "w": 4, -+ "x": 0, -+ "y": 39 -+ }, -+ "id": 11, -+ "options": { -+ "minVizHeight": 75, -+ "minVizWidth": 75, -+ "orientation": "auto", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showThresholdLabels": false, -+ "showThresholdMarkers": true, -+ "sizing": "auto" -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_inbox_latest_batch{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "latest batch", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_inbox_latest_batch_message{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "latest batch msg", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ } -+ ], -+ "title": "Inbox", -+ "type": "gauge" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "fieldConfig": { -+ "defaults": { -+ "color": { -+ "mode": "thresholds" -+ }, -+ "mappings": [ -+ { -+ "options": { -+ "{__name__\"": { -+ "index": 0 -+ } -+ }, -+ "type": "value" -+ } -+ ], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green", -+ "value": null -+ } -+ ] -+ } -+ }, -+ "overrides": [ -+ { -+ "matcher": { -+ "id": "byRegexp", -+ "options": "__name__*" -+ }, -+ "properties": [ -+ { -+ "id": "displayName" -+ } -+ ] -+ } -+ ] -+ }, -+ "gridPos": { -+ "h": 5, -+ "w": 8, -+ "x": 4, -+ "y": 39 -+ }, -+ "id": 2, -+ "options": { -+ "minVizHeight": 75, -+ "minVizWidth": 75, -+ "orientation": "auto", -+ "reduceOptions": { -+ "calcs": [ -+ "lastNotNull" -+ ], -+ "fields": "", -+ "values": false -+ }, -+ "showThresholdLabels": false, -+ "showThresholdMarkers": true, -+ "sizing": "auto" -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_sequencenumber_confirmed{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Confirmed", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_sequencenumber_inblock{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Inblock", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_sequencenumber_latest{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Latest", -+ "range": true, -+ "refId": "C", -+ "useBackend": false -+ } -+ ], -+ "title": "nominal SeqNum", -+ "type": "gauge" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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": [ -+ { -+ "options": { -+ "{__name__\"": { -+ "index": 0 -+ } -+ }, -+ "type": "value" -+ } -+ ], -+ "thresholds": { -+ "mode": "absolute", -+ "steps": [ -+ { -+ "color": "green", -+ "value": null -+ } -+ ] -+ } -+ }, -+ "overrides": [ -+ { -+ "matcher": { -+ "id": "byRegexp", -+ "options": "__name__*" -+ }, -+ "properties": [ -+ { -+ "id": "displayName" -+ } -+ ] -+ } -+ ] -+ }, -+ "gridPos": { -+ "h": 5, -+ "w": 12, -+ "x": 12, -+ "y": 39 -+ }, -+ "id": 47, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "pluginVersion": "11.2.0", -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_sequencenumber_confirmed{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Confirmed", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_sequencenumber_inblock{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Inblock", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_sequencenumber_latest{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "Latest", -+ "range": true, -+ "refId": "C", -+ "useBackend": false -+ } -+ ], -+ "title": "latest --> confirmed delta", -+ "transformations": [ -+ { -+ "id": "calculateField", -+ "options": { -+ "binary": { -+ "left": "Latest", -+ "operator": "-", -+ "right": "Confirmed" -+ }, -+ "mode": "binary", -+ "reduce": { -+ "reducer": "sum" -+ }, -+ "replaceFields": true -+ } -+ } -+ ], -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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 -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 12, -+ "x": 0, -+ "y": 44 -+ }, -+ "id": 6, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_sequencer_backlog{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "{{label_name}}", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_sequencer_calldataunitsbacklog{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "{{label_name}}", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_batchposter_estimated_batch_backlog{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "{{label_name}}", -+ "range": true, -+ "refId": "C", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_feed_backlog_bytes{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "{{label_name}}", -+ "range": true, -+ "refId": "D", -+ "useBackend": false -+ } -+ ], -+ "title": "backlog sizes", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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 -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 12, -+ "x": 12, -+ "y": 44 -+ }, -+ "id": 10, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_batchposter_estimated_batch_backlog", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "latest batch message", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Estimated Batch Backlog", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": {}, -+ "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", -+ "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": 52 -+ }, -+ "id": 1, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "sum(rate(arb_sequencenumber_latest[$__rate_interval]))", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "sum(rate(arb_sequencenumber_confirmed[$__rate_interval]))", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "sum(rate(arb_sequencenumber_inblock[$__rate_interval]))", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "C", -+ "useBackend": false -+ } -+ ], -+ "title": "SeqNum rate", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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 -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 12, -+ "x": 12, -+ "y": 52 -+ }, -+ "id": 5, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rate(arb_sequencer_currentsurplus[$__rate_interval])", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "{{label_name}}", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rate(arb_sequencer_expectedsurplus[$__rate_interval])", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "{{label_name}}", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ } -+ ], -+ "title": "sequencer surplus", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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 -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 12, -+ "x": 0, -+ "y": 60 -+ }, -+ "id": 4, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rate(arb_feed_backlog_bytes{instance=\"sequencer:6070\"}[$__rate_interval])", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "backlog bytes rate", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ }, -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "${DS_PROMETHEUS}" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "rate(arb_feed_backlog_messages{instance=\"sequencer:6070\"}[$__rate_interval])", -+ "fullMetaSearch": false, -+ "hide": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "backlog message rate", -+ "range": true, -+ "refId": "B", -+ "useBackend": false -+ } -+ ], -+ "title": "feed", -+ "type": "timeseries" -+ }, -+ { -+ "datasource": { -+ "default": true, -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "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", -+ "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 -+ }, -+ { -+ "color": "red", -+ "value": 80 -+ } -+ ] -+ } -+ }, -+ "overrides": [] -+ }, -+ "gridPos": { -+ "h": 8, -+ "w": 12, -+ "x": 12, -+ "y": 60 -+ }, -+ "id": 18, -+ "options": { -+ "legend": { -+ "calcs": [], -+ "displayMode": "list", -+ "placement": "bottom", -+ "showLegend": true -+ }, -+ "tooltip": { -+ "mode": "single", -+ "sort": "none" -+ } -+ }, -+ "targets": [ -+ { -+ "datasource": { -+ "type": "prometheus", -+ "uid": "ddshms3dlineoe" -+ }, -+ "disableTextWrap": false, -+ "editorMode": "builder", -+ "expr": "arb_dataposter_queue_length{instance=\"sequencer:6070\"}", -+ "fullMetaSearch": false, -+ "includeNullMetadata": true, -+ "instant": false, -+ "legendFormat": "__auto", -+ "range": true, -+ "refId": "A", -+ "useBackend": false -+ } -+ ], -+ "title": "Data Poster Queue", -+ "type": "timeseries" -+ } -+ ], -+ "title": "Sequencer", -+ "type": "row" -+ } -+ ], -+ "refresh": "", -+ "schemaVersion": 39, -+ "tags": [], -+ "templating": { -+ "list": [] -+ }, -+ "time": { -+ "from": "now-30m", -+ "to": "now" -+ }, -+ "timepicker": {}, -+ "timezone": "browser", -+ "title": "Throughput testing", -+ "uid": "advlsdpd877y8a", -+ "version": 1, -+ "weekStart": "" -+} -\ No newline at end of file
-
- - -
-
- -
-
-
- - -
-
-
- - - - - - - -