diff --git a/Cargo.lock b/Cargo.lock index b6426cc1ada5..60feb38ac4ef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9080,7 +9080,6 @@ dependencies = [ "reth-metrics", "reth-primitives", "reth-provider", - "reth-tasks", "reth-trie", "reth-trie-db", "thiserror", diff --git a/bin/reth-bench/src/bench/context.rs b/bin/reth-bench/src/bench/context.rs index 37c166b3e723..5f8936934c69 100644 --- a/bin/reth-bench/src/bench/context.rs +++ b/bin/reth-bench/src/bench/context.rs @@ -51,9 +51,10 @@ impl BenchContext { let mut benchmark_mode = BenchMode::new(bench_args.from, bench_args.to)?; // construct the authenticated provider - let auth_jwt = bench_args.auth_jwtsecret.clone().ok_or_else(|| { - eyre::eyre!("--auth-jwtsecret must be provided for authenticated RPC") - })?; + let auth_jwt = bench_args + .auth_jwtsecret + .clone() + .ok_or_else(|| eyre::eyre!("--jwtsecret must be provided for authenticated RPC"))?; // fetch jwt from file // diff --git a/crates/engine/invalid-block-hooks/src/witness.rs b/crates/engine/invalid-block-hooks/src/witness.rs index 9d6f861281ef..7a9c6e0f96d9 100644 --- a/crates/engine/invalid-block-hooks/src/witness.rs +++ b/crates/engine/invalid-block-hooks/src/witness.rs @@ -16,6 +16,7 @@ use reth_revm::{ database::StateProviderDatabase, db::states::bundle_state::BundleRetention, primitives::{BlockEnv, CfgEnvWithHandlerCfg, EnvWithHandlerCfg}, + state_change::post_block_balance_increments, DatabaseCommit, StateBuilder, }; use reth_rpc_api::DebugApiClient; @@ -114,6 +115,17 @@ where drop(evm); + // use U256::MAX here for difficulty, because fetching it is annoying + // NOTE: This is not mut because we are not doing the DAO irregular state change here + let balance_increments = post_block_balance_increments( + self.provider.chain_spec().as_ref(), + &block.block.clone().unseal(), + U256::MAX, + ); + + // increment balances + db.increment_balances(balance_increments)?; + // Merge all state transitions db.merge_transitions(BundleRetention::Reverts); diff --git a/crates/node/builder/src/builder/add_ons.rs b/crates/node/builder/src/builder/add_ons.rs index e8eb3b49dc7b..910cd5896efe 100644 --- a/crates/node/builder/src/builder/add_ons.rs +++ b/crates/node/builder/src/builder/add_ons.rs @@ -1,7 +1,5 @@ //! Node add-ons. Depend on core [`NodeComponents`](crate::NodeComponents). -use std::marker::PhantomData; - use reth_node_api::{EthApiTypes, FullNodeComponents, NodeAddOns}; use crate::{exex::BoxedLaunchExEx, hooks::NodeHooks, rpc::RpcHooks}; @@ -22,8 +20,6 @@ pub struct AddOns> { /// required for launching the node, such as RPC. #[derive(Default)] pub struct RpcAddOns { - /// Core `eth` API type to install on the RPC server, configured w.r.t. network. - pub _eth_api: PhantomData, /// Additional RPC hooks. pub hooks: RpcHooks, } diff --git a/crates/node/builder/src/builder/states.rs b/crates/node/builder/src/builder/states.rs index e1cee831bf9c..30ef54c5683e 100644 --- a/crates/node/builder/src/builder/states.rs +++ b/crates/node/builder/src/builder/states.rs @@ -5,7 +5,7 @@ //! The node builder process is essentially a state machine that transitions through various states //! before the node can be launched. -use std::{fmt, future::Future, marker::PhantomData}; +use std::{fmt, future::Future}; use reth_exex::ExExContext; use reth_node_api::{ @@ -56,7 +56,7 @@ impl NodeBuilderWithTypes { components_builder, add_ons: AddOns { hooks: NodeHooks::default(), - rpc: RpcAddOns { _eth_api: PhantomData::<()>, hooks: RpcHooks::default() }, + rpc: RpcAddOns { hooks: RpcHooks::default() }, exexs: Vec::new(), }, } @@ -180,7 +180,7 @@ where components_builder, add_ons: AddOns { hooks: NodeHooks::default(), - rpc: RpcAddOns { _eth_api: PhantomData::, hooks: RpcHooks::default() }, + rpc: RpcAddOns { hooks: RpcHooks::default() }, exexs: Vec::new(), }, } diff --git a/crates/trie/parallel/Cargo.toml b/crates/trie/parallel/Cargo.toml index e53d15c14643..80fa0a70d0e1 100644 --- a/crates/trie/parallel/Cargo.toml +++ b/crates/trie/parallel/Cargo.toml @@ -33,7 +33,6 @@ thiserror.workspace = true derive_more.workspace = true # `async` feature -reth-tasks = { workspace = true, optional = true } tokio = { workspace = true, optional = true, default-features = false } itertools = { workspace = true, optional = true } @@ -61,7 +60,7 @@ proptest-arbitrary-interop.workspace = true [features] default = ["metrics", "async", "parallel"] metrics = ["reth-metrics", "dep:metrics", "reth-trie/metrics"] -async = ["reth-tasks/rayon", "tokio/sync", "itertools"] +async = ["tokio/sync", "itertools"] parallel = ["rayon"] [[bench]] diff --git a/crates/trie/parallel/benches/root.rs b/crates/trie/parallel/benches/root.rs index b8a4d25e58ac..470222e3e1da 100644 --- a/crates/trie/parallel/benches/root.rs +++ b/crates/trie/parallel/benches/root.rs @@ -3,13 +3,11 @@ use alloy_primitives::{B256, U256}; use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion}; use proptest::{prelude::*, strategy::ValueTree, test_runner::TestRunner}; use proptest_arbitrary_interop::arb; -use rayon::ThreadPoolBuilder; use reth_primitives::Account; use reth_provider::{ providers::ConsistentDbView, test_utils::create_test_provider_factory, StateChangeWriter, TrieWriter, }; -use reth_tasks::pool::BlockingTaskPool; use reth_trie::{ hashed_cursor::HashedPostStateCursorFactory, HashedPostState, HashedStorage, StateRoot, TrieInput, @@ -23,7 +21,6 @@ pub fn calculate_state_root(c: &mut Criterion) { group.sample_size(20); let runtime = tokio::runtime::Runtime::new().unwrap(); - let blocking_pool = BlockingTaskPool::new(ThreadPoolBuilder::default().build().unwrap()); for size in [1_000, 3_000, 5_000, 10_000] { let (db_state, updated_state) = generate_test_data(size); @@ -77,13 +74,7 @@ pub fn calculate_state_root(c: &mut Criterion) { // async root group.bench_function(BenchmarkId::new("async root", size), |b| { b.to_async(&runtime).iter_with_setup( - || { - AsyncStateRoot::new( - view.clone(), - blocking_pool.clone(), - TrieInput::from_state(updated_state.clone()), - ) - }, + || AsyncStateRoot::new(view.clone(), TrieInput::from_state(updated_state.clone())), |calculator| calculator.incremental_root(), ); }); diff --git a/crates/trie/parallel/src/async_root.rs b/crates/trie/parallel/src/async_root.rs index ed12accb4b77..74481f09e9f8 100644 --- a/crates/trie/parallel/src/async_root.rs +++ b/crates/trie/parallel/src/async_root.rs @@ -8,7 +8,6 @@ use reth_execution_errors::StorageRootError; use reth_provider::{ providers::ConsistentDbView, BlockReader, DBProvider, DatabaseProviderFactory, ProviderError, }; -use reth_tasks::pool::BlockingTaskPool; use reth_trie::{ hashed_cursor::{HashedCursorFactory, HashedPostStateCursorFactory}, node_iter::{TrieElement, TrieNodeIter}, @@ -20,6 +19,7 @@ use reth_trie::{ use reth_trie_db::{DatabaseHashedCursorFactory, DatabaseTrieCursorFactory}; use std::{collections::HashMap, sync::Arc}; use thiserror::Error; +use tokio::sync::oneshot; use tracing::*; /// Async state root calculator. @@ -39,8 +39,6 @@ use tracing::*; pub struct AsyncStateRoot { /// Consistent view of the database. view: ConsistentDbView, - /// Blocking task pool. - blocking_pool: BlockingTaskPool, /// Trie input. input: TrieInput, /// Parallel state root metrics. @@ -50,14 +48,9 @@ pub struct AsyncStateRoot { impl AsyncStateRoot { /// Create new async state root calculator. - pub fn new( - view: ConsistentDbView, - blocking_pool: BlockingTaskPool, - input: TrieInput, - ) -> Self { + pub fn new(view: ConsistentDbView, input: TrieInput) -> Self { Self { view, - blocking_pool, input, #[cfg(feature = "metrics")] metrics: ParallelStateRootMetrics::default(), @@ -106,8 +99,11 @@ where let trie_nodes_sorted = trie_nodes_sorted.clone(); #[cfg(feature = "metrics")] let metrics = self.metrics.storage_trie.clone(); - let handle = - self.blocking_pool.spawn_fifo(move || -> Result<_, AsyncStateRootError> { + + let (tx, rx) = oneshot::channel(); + + rayon::spawn_fifo(move || { + let result = (|| -> Result<_, AsyncStateRootError> { let provider_ro = view.provider_ro()?; let trie_cursor_factory = InMemoryTrieCursorFactory::new( DatabaseTrieCursorFactory::new(provider_ro.tx_ref()), @@ -126,8 +122,10 @@ where ) .with_prefix_set(prefix_set) .calculate(retain_updates)?) - }); - storage_roots.insert(hashed_address, handle); + })(); + let _ = tx.send(result); + }); + storage_roots.insert(hashed_address, rx); } trace!(target: "trie::async_state_root", "calculating state root"); @@ -242,15 +240,12 @@ mod tests { use super::*; use alloy_primitives::{keccak256, Address, U256}; use rand::Rng; - use rayon::ThreadPoolBuilder; use reth_primitives::{Account, StorageEntry}; use reth_provider::{test_utils::create_test_provider_factory, HashingWriter}; use reth_trie::{test_utils, HashedPostState, HashedStorage}; #[tokio::test] async fn random_async_root() { - let blocking_pool = BlockingTaskPool::new(ThreadPoolBuilder::default().build().unwrap()); - let factory = create_test_provider_factory(); let consistent_view = ConsistentDbView::new(factory.clone(), None); @@ -295,14 +290,10 @@ mod tests { } assert_eq!( - AsyncStateRoot::new( - consistent_view.clone(), - blocking_pool.clone(), - Default::default(), - ) - .incremental_root() - .await - .unwrap(), + AsyncStateRoot::new(consistent_view.clone(), Default::default(),) + .incremental_root() + .await + .unwrap(), test_utils::state_root(state.clone()) ); @@ -332,14 +323,10 @@ mod tests { } assert_eq!( - AsyncStateRoot::new( - consistent_view.clone(), - blocking_pool.clone(), - TrieInput::from_state(hashed_state) - ) - .incremental_root() - .await - .unwrap(), + AsyncStateRoot::new(consistent_view.clone(), TrieInput::from_state(hashed_state)) + .incremental_root() + .await + .unwrap(), test_utils::state_root(state) ); } diff --git a/etc/grafana/dashboards/overview.json b/etc/grafana/dashboards/overview.json index 5b1d56d6dd93..39849f20f090 100644 --- a/etc/grafana/dashboards/overview.json +++ b/etc/grafana/dashboards/overview.json @@ -27,7 +27,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "11.1.0" + "version": "11.2.0" }, { "type": "panel", @@ -129,8 +129,7 @@ "value": null } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -161,78 +160,7 @@ "textMode": "name", "wideLayout": true }, - "pluginVersion": "11.1.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editorMode": "builder", - "exemplar": false, - "expr": "reth_chain_spec{instance=~\"$instance\"}", - "instant": true, - "legendFormat": "{{name}}", - "range": false, - "refId": "A" - } - ], - "title": "Chain", - "transparent": true, - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 2, - "x": 3, - "y": 1 - }, - "id": 240, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "text": { - "valueSize": 20 - }, - "textMode": "name", - "wideLayout": true - }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -271,15 +199,14 @@ "value": null } ] - }, - "unitScale": true + } }, "overrides": [] }, "gridPos": { "h": 3, - "w": 5, - "x": 5, + "w": 6, + "x": 3, "y": 1 }, "id": 192, @@ -303,7 +230,7 @@ "textMode": "name", "wideLayout": true }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -342,15 +269,14 @@ "value": null } ] - }, - "unitScale": true + } }, "overrides": [] }, "gridPos": { "h": 3, - "w": 2, - "x": 10, + "w": 3, + "x": 9, "y": 1 }, "id": 193, @@ -374,7 +300,7 @@ "textMode": "name", "wideLayout": true }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -413,8 +339,7 @@ "value": null } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -445,7 +370,7 @@ "textMode": "name", "wideLayout": true }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -484,8 +409,7 @@ "value": null } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -516,7 +440,7 @@ "textMode": "name", "wideLayout": true }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -555,8 +479,7 @@ "value": null } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -587,7 +510,7 @@ "textMode": "name", "wideLayout": true }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -598,7 +521,7 @@ "exemplar": false, "expr": "reth_info{instance=~\"$instance\"}", "instant": true, - "legendFormat": "{{cargo_features}} ", + "legendFormat": "{{cargo_features}}", "range": false, "refId": "A" } @@ -640,8 +563,7 @@ "value": 30 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -667,7 +589,7 @@ "showThresholdMarkers": true, "sizing": "auto" }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -708,8 +630,7 @@ "value": null } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -738,7 +659,7 @@ "sizing": "auto", "valueMode": "color" }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -812,8 +733,7 @@ } ] }, - "unit": "bytes", - "unitScale": true + "unit": "bytes" }, "overrides": [] }, @@ -841,7 +761,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -915,6 +835,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -952,8 +873,7 @@ } ] }, - "unit": "percentunit", - "unitScale": true + "unit": "percentunit" }, "overrides": [] }, @@ -1009,6 +929,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1047,8 +968,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -1121,6 +1041,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "points", "fillOpacity": 0, "gradientMode": "none", @@ -1156,8 +1077,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -1217,8 +1137,7 @@ "scaleDistribution": { "type": "linear" } - }, - "unitScale": true + } }, "overrides": [] }, @@ -1271,7 +1190,7 @@ "unit": "percentunit" } }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -1310,6 +1229,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "points", "fillOpacity": 0, "gradientMode": "none", @@ -1345,8 +1265,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -1407,6 +1326,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "points", "fillOpacity": 0, "gradientMode": "none", @@ -1442,8 +1362,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -1504,6 +1423,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1543,8 +1463,7 @@ } ] }, - "unit": "none", - "unitScale": true + "unit": "none" }, "overrides": [] }, @@ -1605,6 +1524,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "points", "fillOpacity": 0, "gradientMode": "none", @@ -1644,8 +1564,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -1707,8 +1626,7 @@ } }, "mappings": [], - "unit": "bytes", - "unitScale": true + "unit": "bytes" }, "overrides": [] }, @@ -1780,6 +1698,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -1819,8 +1738,7 @@ } ] }, - "unit": "bytes", - "unitScale": true + "unit": "bytes" }, "overrides": [] }, @@ -1878,8 +1796,7 @@ } }, "mappings": [], - "unit": "short", - "unitScale": true + "unit": "short" }, "overrides": [] }, @@ -1958,8 +1875,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [ { @@ -2071,7 +1987,7 @@ }, "showHeader": true }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -2109,6 +2025,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -2148,8 +2065,7 @@ } ] }, - "unit": "none", - "unitScale": true + "unit": "none" }, "overrides": [] }, @@ -2220,8 +2136,7 @@ } }, "mappings": [], - "unit": "bytes", - "unitScale": true + "unit": "bytes" }, "overrides": [] }, @@ -2305,8 +2220,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [ { @@ -2406,7 +2320,7 @@ }, "showHeader": true }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -2456,8 +2370,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [ { @@ -2557,7 +2470,7 @@ }, "showHeader": true }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -2595,6 +2508,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -2634,8 +2548,7 @@ } ] }, - "unit": "bytes", - "unitScale": true + "unit": "bytes" }, "overrides": [] }, @@ -2692,6 +2605,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "points", "fillOpacity": 0, "gradientMode": "none", @@ -2731,8 +2645,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -2804,6 +2717,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -2839,8 +2753,7 @@ } ] }, - "unit": "si: gas/s", - "unitScale": true + "unit": "si: gas/s" }, "overrides": [] }, @@ -2884,7 +2797,6 @@ "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, - "description": "", "fieldConfig": { "defaults": { "color": { @@ -2897,6 +2809,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "none", @@ -2916,7 +2829,7 @@ "spanNulls": false, "stacking": { "group": "A", - "mode": "normal" + "mode": "percent" }, "thresholdsStyle": { "mode": "off" @@ -2936,8 +2849,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -2947,11 +2859,11 @@ "x": 0, "y": 95 }, - "id": 242, + "id": 240, "options": { "legend": { "calcs": [], - "displayMode": "list", + "displayMode": "hidden", "placement": "right", "showLegend": false }, @@ -3030,6 +2942,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -3068,8 +2981,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [ { @@ -3188,6 +3100,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -3227,8 +3140,7 @@ } ] }, - "unit": "cps", - "unitScale": true + "unit": "cps" }, "overrides": [] }, @@ -3309,6 +3221,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -3347,8 +3260,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -3432,6 +3344,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -3471,8 +3384,7 @@ } ] }, - "unit": "locale", - "unitScale": true + "unit": "locale" }, "overrides": [ { @@ -3634,6 +3546,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -3670,8 +3583,7 @@ } ] }, - "unit": "cps", - "unitScale": true + "unit": "cps" }, "overrides": [] }, @@ -3752,6 +3664,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -3790,8 +3703,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -3860,6 +3772,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -3899,8 +3812,7 @@ } ] }, - "unit": "bytes", - "unitScale": true + "unit": "bytes" }, "overrides": [ { @@ -3987,6 +3899,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -4026,8 +3939,7 @@ } ] }, - "unit": "bytes", - "unitScale": true + "unit": "bytes" }, "overrides": [ { @@ -4142,6 +4054,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -4180,8 +4093,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -4239,6 +4151,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -4277,8 +4190,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -4336,6 +4248,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -4374,8 +4287,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -4432,6 +4344,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -4471,8 +4384,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -4529,6 +4441,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -4568,8 +4481,7 @@ } ] }, - "unit": "none", - "unitScale": true + "unit": "none" }, "overrides": [] }, @@ -4642,6 +4554,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -4680,8 +4593,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -4738,6 +4650,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -4776,8 +4689,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -4846,6 +4758,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -4884,8 +4797,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -4942,6 +4854,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -4981,8 +4894,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -5267,6 +5179,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -5306,8 +5219,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -5592,6 +5504,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -5631,8 +5544,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -5850,6 +5762,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -5889,8 +5802,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -5947,6 +5859,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -5985,8 +5898,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -6072,6 +5984,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -6110,8 +6023,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -6168,6 +6080,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -6206,8 +6119,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -6264,6 +6176,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -6302,8 +6215,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -6342,102 +6254,6 @@ "title": "Failed Jobs", "type": "timeseries" }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "Number of requested empty payloads", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 3, - "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 - } - ] - }, - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 216 - }, - "id": 65, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editorMode": "builder", - "expr": "reth_payloads_requested_empty_payload{instance=~\"$instance\"}", - "legendFormat": "Requested Empty Payloads", - "range": true, - "refId": "A" - } - ], - "title": "Requested Empty Payloads", - "type": "timeseries" - }, { "collapsed": false, "gridPos": { @@ -6468,6 +6284,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -6507,8 +6324,7 @@ } ] }, - "unit": "decbytes", - "unitScale": true + "unit": "decbytes" }, "overrides": [ { @@ -6644,6 +6460,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -6683,8 +6500,7 @@ } ] }, - "unit": "decbytes", - "unitScale": true + "unit": "decbytes" }, "overrides": [] }, @@ -6742,6 +6558,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -6781,8 +6598,7 @@ } ] }, - "unit": "percentunit", - "unitScale": true + "unit": "percentunit" }, "overrides": [] }, @@ -6840,6 +6656,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -6879,8 +6696,7 @@ } ] }, - "unit": "none", - "unitScale": true + "unit": "none" }, "overrides": [] }, @@ -6950,6 +6766,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -6990,8 +6807,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -7048,6 +6864,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -7088,8 +6905,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -7146,6 +6962,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -7185,8 +7002,7 @@ } ] }, - "unit": "none", - "unitScale": true + "unit": "none" }, "overrides": [] }, @@ -7257,6 +7073,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -7296,8 +7113,7 @@ } ] }, - "unit": "short", - "unitScale": true + "unit": "short" }, "overrides": [ { @@ -7384,8 +7200,7 @@ "scaleDistribution": { "type": "linear" } - }, - "unitScale": true + } }, "overrides": [] }, @@ -7438,7 +7253,7 @@ "unit": "percentunit" } }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -7475,6 +7290,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "points", "fillOpacity": 0, "gradientMode": "none", @@ -7514,8 +7330,7 @@ } ] }, - "unit": "s", - "unitScale": true + "unit": "s" }, "overrides": [] }, @@ -7573,8 +7388,7 @@ "scaleDistribution": { "type": "linear" } - }, - "unitScale": true + } }, "overrides": [] }, @@ -7627,7 +7441,7 @@ "unit": "percentunit" } }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -7664,6 +7478,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -7702,8 +7517,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [ { @@ -7874,6 +7688,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -7913,8 +7728,7 @@ } ] }, - "unit": "reqps", - "unitScale": true + "unit": "reqps" }, "overrides": [] }, @@ -7986,6 +7800,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -8024,8 +7839,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -8083,6 +7897,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -8121,8 +7936,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -8180,6 +7994,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -8218,8 +8033,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -8289,6 +8103,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -8327,8 +8142,7 @@ "value": 80 } ] - }, - "unitScale": true + } }, "overrides": [] }, @@ -8393,8 +8207,7 @@ } ] }, - "unit": "none", - "unitScale": true + "unit": "none" }, "overrides": [] }, @@ -8410,6 +8223,7 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -8421,7 +8235,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "11.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -8470,6 +8284,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -8509,8 +8324,7 @@ } ] }, - "unit": "short", - "unitScale": true + "unit": "short" }, "overrides": [ { @@ -8599,6 +8413,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -8638,8 +8453,7 @@ } ] }, - "unit": "short", - "unitScale": true + "unit": "short" }, "overrides": [ { @@ -8728,6 +8542,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -8767,8 +8582,7 @@ } ] }, - "unit": "short", - "unitScale": true + "unit": "short" }, "overrides": [ { @@ -8857,6 +8671,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -8896,8 +8711,7 @@ } ] }, - "unit": "short", - "unitScale": true + "unit": "short" }, "overrides": [ {