diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..1484e9dc2 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +ui/public/traces/1xsummary.jsonl.gz filter=lfs diff=lfs merge=lfs -text +ui/public/traces/100xsummary.jsonl.gz filter=lfs diff=lfs merge=lfs -text +ui/public/traces/10xsummary.jsonl.gz filter=lfs diff=lfs merge=lfs -text diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 898efda97..e4a3a1959 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -5,12 +5,14 @@ on: paths: - "**/*.d2" - "site/**" + - "ui/**" push: branches: - main paths: - "**/*.d2" - "site/**" + - "ui/**" jobs: docs-generate-d2-diagrams: @@ -72,9 +74,43 @@ jobs: git commit -m "Auto-generate diagram PNGs [skip ci]" git push origin HEAD:${{ github.head_ref || github.ref_name }} + viz-build: + name: "Build Visualizer" + runs-on: ubuntu-22.04 + steps: + - name: 📥 Checkout repository + uses: actions/checkout@v4 + with: + lfs: true + fetch-depth: 2 + + - name: 🛠️ Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: "yarn" + cache-dependency-path: ./ui/yarn.lock + + - name: 📦 Install dependencies + working-directory: ui + run: yarn install + + - name: 🏗️ Build visualizer + working-directory: ui + run: | + yarn build + + - name: 🚢 Upload visualizer static site + id: upload_viz + uses: actions/upload-artifact@v4 + with: + name: visualizer + path: ui/dist + docs-build: name: "Build" runs-on: ubuntu-22.04 + needs: viz-build outputs: has_changes: ${{ steps.check_changes.outputs.has_changes }} steps: @@ -83,11 +119,12 @@ jobs: with: fetch-depth: 2 - - name: Check for site changes + - name: Check for site or visualizer changes id: check_changes run: | SITE_CHANGES=$(git diff --name-only HEAD^ HEAD -- site/ || true) - if [ -z "$SITE_CHANGES" ]; then + VIZ_CHANGES=$(git diff --name-only HEAD^ HEAD -- ui/ || true) + if [ -z "$SITE_CHANGES" ] && [ -z "$VIZ_CHANGES" ]; then echo "No changes in site directory" echo "has_changes=false" >> $GITHUB_OUTPUT else @@ -110,6 +147,13 @@ jobs: working-directory: site run: yarn install + - name: 👁️ Unpack visualizer + if: steps.check_changes.outputs.has_changes == 'true' + uses: actions/download-artifact@v4 + with: + name: visualizer + path: site/static/visualizer + - name: 🏗️ Build Docusaurus site if: steps.check_changes.outputs.has_changes == 'true' working-directory: site diff --git a/sim-rs/Cargo.lock b/sim-rs/Cargo.lock index 1d5dbce5d..aafd9f259 100644 --- a/sim-rs/Cargo.lock +++ b/sim-rs/Cargo.lock @@ -91,6 +91,19 @@ dependencies = [ "num-traits", ] +[[package]] +name = "async-compression" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a194f9d963d8099596278594b3107448656ba73831c9d8c783e613ce86da64" +dependencies = [ + "flate2", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", +] + [[package]] name = "async-stream" version = "0.3.6" @@ -236,6 +249,15 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + [[package]] name = "ctrlc" version = "3.4.6" @@ -280,6 +302,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "flate2" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + [[package]] name = "float-ord" version = "0.3.2" @@ -1060,6 +1092,7 @@ name = "sim-cli" version = "0.1.0" dependencies = [ "anyhow", + "async-compression", "average", "clap", "ctrlc", diff --git a/sim-rs/sim-cli/Cargo.toml b/sim-rs/sim-cli/Cargo.toml index e093ea01d..e9f16c1bd 100644 --- a/sim-rs/sim-cli/Cargo.toml +++ b/sim-rs/sim-cli/Cargo.toml @@ -7,6 +7,7 @@ rust-version = "1.82" [dependencies] anyhow = "1" +async-compression = { version = "0.4", features = ["tokio", "gzip"] } average = "0.16" clap = { version = "4", features = ["derive"] } ctrlc = "3" diff --git a/sim-rs/sim-cli/src/events.rs b/sim-rs/sim-cli/src/events.rs index 1e06f124c..4810900a4 100644 --- a/sim-rs/sim-cli/src/events.rs +++ b/sim-rs/sim-cli/src/events.rs @@ -1,9 +1,12 @@ use std::{ collections::{BTreeMap, BTreeSet}, path::PathBuf, + pin::Pin, }; +use aggregate::TraceAggregator; use anyhow::Result; +use async_compression::tokio::write::GzipEncoder; use average::Variance; use itertools::Itertools as _; use pretty_bytes_rust::{pretty_bytes, PrettyBytesOptions}; @@ -16,15 +19,19 @@ use sim_core::{ }; use tokio::{ fs::{self, File}, - io::{AsyncWriteExt as _, BufWriter}, + io::{AsyncWrite, AsyncWriteExt as _, BufWriter}, sync::mpsc, }; use tracing::{info, info_span}; +mod aggregate; + type InputBlockId = sim_core::model::InputBlockId; type EndorserBlockId = sim_core::model::EndorserBlockId; type VoteBundleId = sim_core::model::VoteBundleId; +type TraceSink = Pin>; + #[derive(Clone, Serialize)] struct OutputEvent { time_s: Timestamp, @@ -44,6 +51,7 @@ pub struct EventMonitor { maximum_eb_age: u64, events_source: mpsc::UnboundedReceiver<(Event, Timestamp)>, output_path: Option, + aggregate: bool, } impl EventMonitor { @@ -67,6 +75,7 @@ impl EventMonitor { maximum_eb_age: config.max_eb_age, events_source, output_path, + aggregate: config.aggregate_events, } } @@ -125,9 +134,27 @@ impl EventMonitor { } } - let mut output = match self.output_path { - Some(ref path) => { - let file = File::create(path).await?; + let mut output = match self.output_path.as_mut() { + Some(path) => { + let file = File::create(&path).await?; + + let mut gzipped = false; + if path + .extension() + .and_then(|e| e.to_str()) + .is_some_and(|ext| ext == "gz") + { + path.set_extension(""); + gzipped = true; + } + + let file: TraceSink = if gzipped { + let encoder = GzipEncoder::new(file); + Box::pin(BufWriter::new(encoder)) + } else { + Box::pin(BufWriter::new(file)) + }; + let format = if path .extension() .and_then(|e| e.to_str()) @@ -137,9 +164,14 @@ impl EventMonitor { } else { OutputFormat::JsonStream }; - OutputTarget::EventStream { - format, - file: BufWriter::new(file), + if self.aggregate { + OutputTarget::AggregatedEventStream { + aggregation: TraceAggregator::new(), + format, + file, + } + } else { + OutputTarget::EventStream { format, file } } } None => OutputTarget::None, @@ -576,9 +608,14 @@ fn compute_stats>(data: Iter) -> Stats { } enum OutputTarget { + AggregatedEventStream { + aggregation: TraceAggregator, + format: OutputFormat, + file: TraceSink, + }, EventStream { format: OutputFormat, - file: BufWriter, + file: TraceSink, }, None, } @@ -586,6 +623,15 @@ enum OutputTarget { impl OutputTarget { async fn write(&mut self, event: OutputEvent) -> Result<()> { match self { + Self::AggregatedEventStream { + aggregation, + format, + file, + } => { + if let Some(summary) = aggregation.process(event) { + Self::write_line(*format, file, summary).await?; + } + } Self::EventStream { format, file } => { Self::write_line(*format, file, event).await?; } @@ -594,9 +640,9 @@ impl OutputTarget { Ok(()) } - async fn write_line( + async fn write_line( format: OutputFormat, - file: &mut BufWriter, + file: &mut W, event: T, ) -> Result<()> { match format { @@ -615,6 +661,16 @@ impl OutputTarget { async fn flush(self) -> Result<()> { match self { + Self::AggregatedEventStream { + aggregation, + format, + mut file, + } => { + if let Some(summary) = aggregation.finish() { + Self::write_line(format, &mut file, summary).await?; + } + file.flush().await?; + } Self::EventStream { mut file, .. } => { file.flush().await?; } diff --git a/sim-rs/sim-cli/src/events/aggregate.rs b/sim-rs/sim-cli/src/events/aggregate.rs new file mode 100644 index 000000000..a617b063e --- /dev/null +++ b/sim-rs/sim-cli/src/events/aggregate.rs @@ -0,0 +1,346 @@ +use std::collections::{BTreeMap, BTreeSet}; + +use serde::Serialize; +use sim_core::{ + clock::Timestamp, + events::{Event, Node}, + model::{BlockId, TransactionId}, +}; + +use super::{EndorserBlockId, InputBlockId, OutputEvent, VoteBundleId}; + +#[derive(Default)] +pub struct TraceAggregator { + current_time: Timestamp, + nodes_updated: BTreeSet, + transactions: BTreeMap, + ibs: BTreeMap, + ebs: BTreeMap, + rbs: Vec, + nodes: BTreeMap, + bytes: BTreeMap, + leios_txs: BTreeSet, + praos_txs: BTreeSet, +} + +impl TraceAggregator { + pub fn new() -> Self { + Self::default() + } + + pub fn process(&mut self, event: OutputEvent) -> Option { + match event.message { + Event::TXGenerated { + id, + publisher, + size_bytes, + } => { + self.transactions.insert( + id, + Transaction { + id, + bytes: size_bytes, + }, + ); + self.track_data_generated(MessageId::TX(id), publisher, size_bytes); + } + Event::TXSent { id, sender, .. } => { + self.track_data_sent(MessageId::TX(id), sender); + } + Event::TXReceived { id, recipient, .. } => { + self.track_data_received(MessageId::TX(id), recipient); + } + Event::IBGenerated { + id, + slot, + pipeline, + producer, + header_bytes, + size_bytes, + transactions, + .. + } => { + self.ibs.insert( + id.clone(), + InputBlock { + id: id.to_string(), + slot, + pipeline, + header_bytes, + txs: transactions + .iter() + .map(|id| self.transactions.get(id).unwrap().clone()) + .collect(), + }, + ); + self.track_data_generated(MessageId::IB(id), producer, size_bytes); + } + Event::IBSent { id, sender, .. } => { + self.track_data_sent(MessageId::IB(id), sender); + } + Event::IBReceived { id, recipient, .. } => { + self.track_data_received(MessageId::IB(id), recipient); + } + Event::EBGenerated { + id, + slot, + pipeline, + producer, + size_bytes, + input_blocks, + endorser_blocks, + .. + } => { + self.ebs.insert( + id.clone(), + EndorsementBlock { + id: id.to_string(), + slot, + pipeline, + bytes: size_bytes, + ibs: input_blocks + .iter() + .map(|ib| self.ibs.get(&ib.id).unwrap().clone()) + .collect(), + ebs: endorser_blocks + .iter() + .map(|eb| self.ebs.get(&eb.id).unwrap().clone()) + .collect(), + }, + ); + self.track_data_generated(MessageId::EB(id), producer, size_bytes); + } + Event::EBSent { id, sender, .. } => { + self.track_data_sent(MessageId::EB(id), sender); + } + Event::EBReceived { id, recipient, .. } => { + self.track_data_received(MessageId::EB(id), recipient); + } + Event::VTBundleGenerated { + id, + producer, + size_bytes, + .. + } => { + self.track_data_generated(MessageId::Votes(id), producer, size_bytes); + } + Event::VTBundleSent { id, sender, .. } => { + self.track_data_sent(MessageId::Votes(id), sender); + } + Event::VTBundleReceived { id, recipient, .. } => { + self.track_data_received(MessageId::Votes(id), recipient); + } + Event::RBGenerated { + id, + producer, + size_bytes, + transactions, + header_bytes, + endorsement, + .. + } => { + for id in &transactions { + self.praos_txs.insert(*id); + } + for tx in endorsement + .as_ref() + .and_then(|c| self.ebs.get(&c.eb.id)) + .iter() + .flat_map(|eb| &eb.ibs) + .flat_map(|ib| ib.txs.iter()) + { + self.leios_txs.insert(tx.id); + } + self.rbs.push(Block { + slot: id.slot, + txs: transactions + .iter() + .map(|id| self.transactions.get(id).unwrap().clone()) + .collect(), + header_bytes, + cert: endorsement.map(|c| { + let eb = self.ebs.get(&c.eb.id).unwrap().clone(); + Certificate { + bytes: c.size_bytes, + eb, + } + }), + }); + self.track_data_generated(MessageId::PB(id), producer, size_bytes); + } + Event::RBSent { id, sender, .. } => { + self.track_data_sent(MessageId::PB(id), sender); + } + Event::RBReceived { id, recipient, .. } => { + self.track_data_received(MessageId::PB(id), recipient); + } + _ => {} + }; + let current_chunk = (self.current_time - Timestamp::zero()).as_millis() / 250; + let new_chunk = (event.time_s - Timestamp::zero()).as_millis() / 250; + self.current_time = event.time_s; + if current_chunk != new_chunk { + Some(self.produce_message()) + } else { + None + } + } + + pub fn finish(mut self) -> Option { + if self.nodes_updated.is_empty() { + None + } else { + Some(self.produce_message()) + } + } + + fn produce_message(&mut self) -> AggregatedData { + let nodes_updated = std::mem::take(&mut self.nodes_updated); + AggregatedData { + progress: self.current_time, + nodes: self.nodes.clone(), + global: GlobalAggregatedData { + praos_tx_on_chain: self.praos_txs.len() as u64, + leios_tx_on_chain: self.leios_txs.len() as u64, + }, + blocks: self.rbs.clone(), + last_nodes_updated: nodes_updated.into_iter().collect(), + } + } + + fn track_data_generated(&mut self, id: MessageId, producer: Node, bytes: u64) { + self.nodes_updated.insert(producer.clone()); + let node_data = self.nodes.entry(producer).or_default(); + *node_data.generated.entry(id.kind()).or_default() += 1; + self.bytes.insert(id, bytes); + } + + fn track_data_sent(&mut self, id: MessageId, sender: Node) { + self.nodes_updated.insert(sender.clone()); + let node_data = self.nodes.entry(sender).or_default(); + let bytes = self.bytes.get(&id).copied().unwrap_or_default(); + let stats = node_data.sent.entry(id.kind()).or_default(); + stats.count += 1; + stats.bytes += bytes; + node_data.bytes_sent += bytes; + } + + fn track_data_received(&mut self, id: MessageId, recipient: Node) { + self.nodes_updated.insert(recipient.clone()); + let node_data = self.nodes.entry(recipient).or_default(); + let bytes = self.bytes.get(&id).copied().unwrap_or_default(); + let stats = node_data.received.entry(id.kind()).or_default(); + stats.count += 1; + stats.bytes += bytes; + node_data.bytes_received += bytes; + } +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +pub struct AggregatedData { + progress: Timestamp, + nodes: BTreeMap, + global: GlobalAggregatedData, + blocks: Vec, + last_nodes_updated: Vec, +} + +#[derive(Serialize, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] +#[serde(rename_all = "lowercase")] +enum MessageKind { + TX, + IB, + EB, + Votes, + PB, +} + +#[derive(PartialEq, Eq, PartialOrd, Ord)] +enum MessageId { + TX(TransactionId), + IB(InputBlockId), + EB(EndorserBlockId), + Votes(VoteBundleId), + PB(BlockId), +} + +impl MessageId { + fn kind(&self) -> MessageKind { + match self { + Self::TX(_) => MessageKind::TX, + Self::IB(_) => MessageKind::IB, + Self::EB(_) => MessageKind::EB, + Self::Votes(_) => MessageKind::Votes, + Self::PB(_) => MessageKind::PB, + } + } +} + +#[derive(Serialize, Default, Clone)] +#[serde(rename_all = "camelCase")] +struct MessageStats { + count: u64, + bytes: u64, +} + +#[derive(Serialize, Default, Clone)] +#[serde(rename_all = "camelCase")] +struct NodeAggregatedData { + bytes_sent: u64, + bytes_received: u64, + generated: BTreeMap, + sent: BTreeMap, + received: BTreeMap, +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct GlobalAggregatedData { + praos_tx_on_chain: u64, + leios_tx_on_chain: u64, +} + +#[derive(Serialize, Clone)] +#[serde(rename_all = "camelCase")] +struct Block { + slot: u64, + txs: Vec, + header_bytes: u64, + cert: Option, +} + +#[derive(Serialize, Clone)] +#[serde(rename_all = "camelCase")] +struct Transaction { + id: TransactionId, + bytes: u64, +} + +#[derive(Serialize, Clone)] +#[serde(rename_all = "camelCase")] +struct Certificate { + bytes: u64, + eb: EndorsementBlock, +} + +#[derive(Serialize, Clone)] +#[serde(rename_all = "camelCase")] +struct EndorsementBlock { + id: String, + slot: u64, + pipeline: u64, + bytes: u64, + ibs: Vec, + ebs: Vec, +} + +#[derive(Serialize, Clone)] +#[serde(rename_all = "camelCase")] +struct InputBlock { + id: String, + slot: u64, + pipeline: u64, + header_bytes: u64, + txs: Vec, +} diff --git a/sim-rs/sim-cli/src/main.rs b/sim-rs/sim-cli/src/main.rs index f84e1ebb8..d2b49ad8b 100644 --- a/sim-rs/sim-cli/src/main.rs +++ b/sim-rs/sim-cli/src/main.rs @@ -46,6 +46,8 @@ struct Args { slots: Option, #[clap(short, long)] conformance_events: bool, + #[clap(short, long)] + aggregate_events: bool, } fn get_default_topology() -> Result { @@ -95,6 +97,9 @@ fn read_config(args: &Args) -> Result { if args.conformance_events { config.emit_conformance_events = true; } + if args.aggregate_events { + config.aggregate_events = true; + } for id in &args.trace_node { config.trace_nodes.insert(NodeId::new(*id)); } @@ -170,6 +175,7 @@ mod tests { trace_node: vec![], slots: None, conformance_events: false, + aggregate_events: false, }; read_config(&args)?; } diff --git a/sim-rs/sim-core/src/config.rs b/sim-rs/sim-core/src/config.rs index 715230c99..db3ae2e87 100644 --- a/sim-rs/sim-core/src/config.rs +++ b/sim-rs/sim-core/src/config.rs @@ -411,6 +411,7 @@ pub struct SimConfiguration { pub seed: u64, pub slots: Option, pub emit_conformance_events: bool, + pub aggregate_events: bool, pub trace_nodes: HashSet, pub nodes: Vec, pub links: Vec, @@ -441,6 +442,7 @@ impl SimConfiguration { Self { seed: 0, slots: None, + aggregate_events: false, emit_conformance_events: false, nodes: topology.nodes, trace_nodes: HashSet::new(), diff --git a/site/sidebars.ts b/site/sidebars.ts index 78663d63d..ba7270fc1 100644 --- a/site/sidebars.ts +++ b/site/sidebars.ts @@ -34,6 +34,11 @@ const sidebars: SidebarsConfig = { "development/throughput-simulation", "development/simulation-demonstration", "development/cost-estimator", + { + type: "link", + href: "https://leios.cardano-scaling.org/visualizer", + label: "Visualizer", + }, ], }, ], diff --git a/ui/.gitignore b/ui/.gitignore index c687f7f21..a547bf36d 100644 --- a/ui/.gitignore +++ b/ui/.gitignore @@ -22,8 +22,3 @@ dist-ssr *.njsproj *.sln *.sw? - -# don't commit these large files until we're ready -public/scenarios.json -public/topologies -public/traces \ No newline at end of file diff --git a/ui/bun.lockb b/ui/bun.lockb index 658d1b3fc..b1540a94e 100755 Binary files a/ui/bun.lockb and b/ui/bun.lockb differ diff --git a/ui/index.html b/ui/index.html index 0381b4cba..8684214f5 100644 --- a/ui/index.html +++ b/ui/index.html @@ -3,14 +3,14 @@ - + Leios Visualizer
- + \ No newline at end of file diff --git a/ui/package.json b/ui/package.json index cf2b69f9d..10e6dc5fd 100644 --- a/ui/package.json +++ b/ui/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "dependencies": { - "cbor": "^10.0.3", + "cborg": "^4.2.10", "classnames": "^2.5.1", "debounce": "^2.2.0", "react": "^19.1.0", diff --git a/ui/public/scenarios.json b/ui/public/scenarios.json new file mode 100644 index 000000000..03e529c1c --- /dev/null +++ b/ui/public/scenarios.json @@ -0,0 +1,11 @@ +{ + "scenarios": [ + { + "name": "1x", + "topology": "topologies/thousand.yaml", + "duration": 300, + "trace": "traces/1xsummary.jsonl.gz", + "aggregated": true + } + ] +} \ No newline at end of file diff --git a/ui/public/topologies/thousand.yaml b/ui/public/topologies/thousand.yaml new file mode 100644 index 000000000..7527eb2c2 --- /dev/null +++ b/ui/public/topologies/thousand.yaml @@ -0,0 +1,9749 @@ +nodes: + node-0: + stake: 0 + location: + - 24.2153208420848 + - 126.53843702481116 + producers: + node-103: + latency-ms: 5.0 + node-107: + latency-ms: 10.0 + node-108: + latency-ms: 38.0 + node-109: + latency-ms: 5.0 + node-110: + latency-ms: 38.0 + node-113: + latency-ms: 3.0 + node-118: + latency-ms: 5.0 + node-122: + latency-ms: 21.0 + node-124: + latency-ms: 15.0 + node-126: + latency-ms: 18.0 + node-129: + latency-ms: 2.0 + node-138: + latency-ms: 20.0 + node-141: + latency-ms: 20.0 + node-146: + latency-ms: 18.0 + node-148: + latency-ms: 32.0 + node-152: + latency-ms: 38.0 + node-162: + latency-ms: 18.0 + node-165: + latency-ms: 4.0 + node-171: + latency-ms: 1.0 + node-178: + latency-ms: 3.0 + node-179: + latency-ms: 3.0 + node-184: + latency-ms: 22.0 + node-185: + latency-ms: 31.0 + node-188: + latency-ms: 21.0 + node-1: + stake: 3 + location: + - 56.785764571777406 + - 95.41688323895804 + producers: + node-101: + latency-ms: 0.0 + node-102: + latency-ms: 7.0 + node-112: + latency-ms: 4.0 + node-114: + latency-ms: 1.0 + node-117: + latency-ms: 6.0 + node-122: + latency-ms: 1.0 + node-132: + latency-ms: 6.0 + node-135: + latency-ms: 2.0 + node-140: + latency-ms: 8.0 + node-141: + latency-ms: 4.0 + node-143: + latency-ms: 6.0 + node-162: + latency-ms: 4.0 + node-168: + latency-ms: 2.0 + node-177: + latency-ms: 2.0 + node-182: + latency-ms: 1.0 + node-183: + latency-ms: 2.0 + node-184: + latency-ms: 1.0 + node-186: + latency-ms: 4.0 + node-187: + latency-ms: 1.0 + node-188: + latency-ms: 0.0 + node-193: + latency-ms: 0.0 + node-195: + latency-ms: 4.0 + node-10: + stake: 341839696 + location: + - 63.8067579148335 + - 88.55597620939969 + producers: + node-100: + latency-ms: 1.0 + node-111: + latency-ms: 5.0 + node-112: + latency-ms: 0.0 + node-114: + latency-ms: 4.0 + node-115: + latency-ms: 9.0 + node-122: + latency-ms: 3.0 + node-127: + latency-ms: 8.0 + node-135: + latency-ms: 4.0 + node-137: + latency-ms: 8.0 + node-141: + latency-ms: 7.0 + node-154: + latency-ms: 7.0 + node-160: + latency-ms: 41.0 + node-168: + latency-ms: 6.0 + node-172: + latency-ms: 21.0 + node-174: + latency-ms: 3.0 + node-181: + latency-ms: 13.0 + node-182: + latency-ms: 4.0 + node-188: + latency-ms: 3.0 + node-192: + latency-ms: 43.0 + node-193: + latency-ms: 3.0 + node-199: + latency-ms: 29.0 + node-100: + location: + - 60.41402214410732 + - 87.72758092628524 + producers: + node-10: + latency-ms: 1.0 + node-19: + latency-ms: 1.0 + node-20: + latency-ms: 1.0 + node-22: + latency-ms: 0.0 + node-3: + latency-ms: 5.0 + node-32: + latency-ms: 1.0 + node-41: + latency-ms: 0.0 + node-51: + latency-ms: 21.0 + node-52: + latency-ms: 41.0 + node-53: + latency-ms: 5.0 + node-54: + latency-ms: 7.0 + node-59: + latency-ms: 2.0 + node-6: + latency-ms: 0.0 + node-61: + latency-ms: 43.0 + node-64: + latency-ms: 6.0 + node-72: + latency-ms: 42.0 + node-74: + latency-ms: 26.0 + node-75: + latency-ms: 7.0 + node-76: + latency-ms: 4.0 + node-80: + latency-ms: 1.0 + node-83: + latency-ms: 36.0 + node-86: + latency-ms: 42.0 + node-88: + latency-ms: 7.0 + node-90: + latency-ms: 34.0 + node-92: + latency-ms: 1.0 + node-93: + latency-ms: 21.0 + node-95: + latency-ms: 4.0 + node-99: + latency-ms: 3.0 + node-101: + location: + - 56.79772763396231 + - 98.75438322352204 + producers: + node-1: + latency-ms: 0.0 + node-19: + latency-ms: 1.0 + node-2: + latency-ms: 6.0 + node-20: + latency-ms: 1.0 + node-21: + latency-ms: 4.0 + node-23: + latency-ms: 0.0 + node-26: + latency-ms: 4.0 + node-27: + latency-ms: 4.0 + node-32: + latency-ms: 2.0 + node-36: + latency-ms: 1.0 + node-37: + latency-ms: 1.0 + node-41: + latency-ms: 2.0 + node-45: + latency-ms: 6.0 + node-47: + latency-ms: 46.0 + node-48: + latency-ms: 3.0 + node-52: + latency-ms: 42.0 + node-54: + latency-ms: 5.0 + node-55: + latency-ms: 2.0 + node-57: + latency-ms: 28.0 + node-59: + latency-ms: 1.0 + node-6: + latency-ms: 2.0 + node-64: + latency-ms: 4.0 + node-70: + latency-ms: 23.0 + node-71: + latency-ms: 8.0 + node-75: + latency-ms: 3.0 + node-78: + latency-ms: 48.0 + node-8: + latency-ms: 32.0 + node-81: + latency-ms: 2.0 + node-89: + latency-ms: 22.0 + node-90: + latency-ms: 37.0 + node-91: + latency-ms: 2.0 + node-92: + latency-ms: 3.0 + node-94: + latency-ms: 3.0 + node-95: + latency-ms: 4.0 + node-97: + latency-ms: 5.0 + node-98: + latency-ms: 17.0 + node-102: + location: + - 42.63641843886185 + - 96.29408256272364 + producers: + node-1: + latency-ms: 7.0 + node-12: + latency-ms: 12.0 + node-19: + latency-ms: 8.0 + node-2: + latency-ms: 1.0 + node-23: + latency-ms: 7.0 + node-26: + latency-ms: 12.0 + node-37: + latency-ms: 7.0 + node-44: + latency-ms: 10.0 + node-45: + latency-ms: 0.0 + node-46: + latency-ms: 40.0 + node-50: + latency-ms: 7.0 + node-53: + latency-ms: 5.0 + node-54: + latency-ms: 2.0 + node-55: + latency-ms: 9.0 + node-64: + latency-ms: 3.0 + node-65: + latency-ms: 1.0 + node-69: + latency-ms: 30.0 + node-70: + latency-ms: 25.0 + node-71: + latency-ms: 2.0 + node-72: + latency-ms: 35.0 + node-74: + latency-ms: 17.0 + node-81: + latency-ms: 6.0 + node-82: + latency-ms: 4.0 + node-85: + latency-ms: 24.0 + node-97: + latency-ms: 2.0 + node-99: + latency-ms: 7.0 + node-103: + location: + - 20.312813622846843 + - 116.7092840048878 + producers: + node-0: + latency-ms: 5.0 + node-11: + latency-ms: 20.0 + node-12: + latency-ms: 2.0 + node-13: + latency-ms: 16.0 + node-147: + latency-ms: 17.0 + node-151: + latency-ms: 30.0 + node-24: + latency-ms: 32.0 + node-4: + latency-ms: 7.0 + node-45: + latency-ms: 15.0 + node-5: + latency-ms: 49.0 + node-50: + latency-ms: 22.0 + node-52: + latency-ms: 41.0 + node-58: + latency-ms: 22.0 + node-6: + latency-ms: 23.0 + node-60: + latency-ms: 19.0 + node-64: + latency-ms: 18.0 + node-65: + latency-ms: 14.0 + node-68: + latency-ms: 19.0 + node-74: + latency-ms: 4.0 + node-85: + latency-ms: 38.0 + node-89: + latency-ms: 4.0 + node-94: + latency-ms: 18.0 + node-104: + location: + - 7.8893560467908355 + - 142.14449399093607 + producers: + node-113: + latency-ms: 9.0 + node-123: + latency-ms: 2.0 + node-13: + latency-ms: 1.0 + node-152: + latency-ms: 50.0 + node-156: + latency-ms: 6.0 + node-167: + latency-ms: 0.0 + node-18: + latency-ms: 15.0 + node-2: + latency-ms: 28.0 + node-21: + latency-ms: 28.0 + node-25: + latency-ms: 17.0 + node-34: + latency-ms: 16.0 + node-37: + latency-ms: 31.0 + node-4: + latency-ms: 8.0 + node-43: + latency-ms: 16.0 + node-55: + latency-ms: 32.0 + node-59: + latency-ms: 33.0 + node-60: + latency-ms: 17.0 + node-61: + latency-ms: 44.0 + node-69: + latency-ms: 54.0 + node-74: + latency-ms: 10.0 + node-83: + latency-ms: 1.0 + node-84: + latency-ms: 16.0 + node-105: + location: + - 33.11077589342616 + - 145.91000868848278 + producers: + node-11: + latency-ms: 5.0 + node-125: + latency-ms: 30.0 + node-128: + latency-ms: 41.0 + node-13: + latency-ms: 15.0 + node-144: + latency-ms: 4.0 + node-158: + latency-ms: 44.0 + node-161: + latency-ms: 14.0 + node-17: + latency-ms: 3.0 + node-172: + latency-ms: 3.0 + node-190: + latency-ms: 37.0 + node-199: + latency-ms: 11.0 + node-29: + latency-ms: 7.0 + node-3: + latency-ms: 20.0 + node-46: + latency-ms: 40.0 + node-60: + latency-ms: 4.0 + node-66: + latency-ms: 17.0 + node-68: + latency-ms: 3.0 + node-71: + latency-ms: 23.0 + node-84: + latency-ms: 4.0 + node-87: + latency-ms: 8.0 + node-106: + location: + - 49.58578218102627 + - 96.59206465927832 + producers: + node-11: + latency-ms: 24.0 + node-15: + latency-ms: 3.0 + node-2: + latency-ms: 3.0 + node-22: + latency-ms: 5.0 + node-27: + latency-ms: 1.0 + node-3: + latency-ms: 2.0 + node-31: + latency-ms: 17.0 + node-34: + latency-ms: 46.0 + node-37: + latency-ms: 4.0 + node-38: + latency-ms: 19.0 + node-41: + latency-ms: 5.0 + node-43: + latency-ms: 46.0 + node-52: + latency-ms: 39.0 + node-6: + latency-ms: 5.0 + node-63: + latency-ms: 6.0 + node-64: + latency-ms: 0.0 + node-65: + latency-ms: 4.0 + node-69: + latency-ms: 31.0 + node-70: + latency-ms: 24.0 + node-76: + latency-ms: 1.0 + node-77: + latency-ms: 19.0 + node-82: + latency-ms: 1.0 + node-87: + latency-ms: 23.0 + node-88: + latency-ms: 13.0 + node-91: + latency-ms: 2.0 + node-92: + latency-ms: 6.0 + node-94: + latency-ms: 0.0 + node-95: + latency-ms: 8.0 + node-96: + latency-ms: 2.0 + node-107: + location: + - 39.26932065535975 + - 141.90108579939294 + producers: + node-0: + latency-ms: 10.0 + node-121: + latency-ms: 31.0 + node-123: + latency-ms: 18.0 + node-124: + latency-ms: 5.0 + node-126: + latency-ms: 24.0 + node-132: + latency-ms: 18.0 + node-143: + latency-ms: 19.0 + node-144: + latency-ms: 4.0 + node-145: + latency-ms: 18.0 + node-159: + latency-ms: 12.0 + node-16: + latency-ms: 12.0 + node-171: + latency-ms: 12.0 + node-172: + latency-ms: 0.0 + node-175: + latency-ms: 7.0 + node-179: + latency-ms: 12.0 + node-181: + latency-ms: 34.0 + node-196: + latency-ms: 17.0 + node-27: + latency-ms: 16.0 + node-38: + latency-ms: 36.0 + node-49: + latency-ms: 4.0 + node-72: + latency-ms: 49.0 + node-84: + latency-ms: 5.0 + node-87: + latency-ms: 7.0 + node-92: + latency-ms: 19.0 + node-108: + location: + - 54.37423995274665 + - 35.76452975428256 + producers: + node-0: + latency-ms: 38.0 + node-19: + latency-ms: 16.0 + node-23: + latency-ms: 17.0 + node-26: + latency-ms: 17.0 + node-31: + latency-ms: 4.0 + node-38: + latency-ms: 0.0 + node-41: + latency-ms: 15.0 + node-42: + latency-ms: 8.0 + node-51: + latency-ms: 11.0 + node-52: + latency-ms: 34.0 + node-54: + latency-ms: 19.0 + node-71: + latency-ms: 20.0 + node-85: + latency-ms: 14.0 + node-87: + latency-ms: 38.0 + node-9: + latency-ms: 10.0 + node-90: + latency-ms: 23.0 + node-93: + latency-ms: 10.0 + node-94: + latency-ms: 19.0 + node-98: + latency-ms: 1.0 + node-109: + location: + - 16.922980294473163 + - 132.97828478871833 + producers: + node-0: + latency-ms: 5.0 + node-11: + latency-ms: 15.0 + node-113: + latency-ms: 3.0 + node-12: + latency-ms: 9.0 + node-144: + latency-ms: 15.0 + node-16: + latency-ms: 2.0 + node-17: + latency-ms: 10.0 + node-172: + latency-ms: 12.0 + node-18: + latency-ms: 13.0 + node-24: + latency-ms: 39.0 + node-25: + latency-ms: 24.0 + node-33: + latency-ms: 22.0 + node-46: + latency-ms: 30.0 + node-5: + latency-ms: 57.0 + node-61: + latency-ms: 42.0 + node-67: + latency-ms: 3.0 + node-70: + latency-ms: 18.0 + node-73: + latency-ms: 22.0 + node-87: + latency-ms: 18.0 + node-11: + stake: 844301388 + location: + - 36.05402284321775 + - 157.44171910249457 + producers: + node-103: + latency-ms: 20.0 + node-105: + latency-ms: 5.0 + node-106: + latency-ms: 24.0 + node-109: + latency-ms: 15.0 + node-119: + latency-ms: 2.0 + node-122: + latency-ms: 23.0 + node-124: + latency-ms: 1.0 + node-127: + latency-ms: 23.0 + node-129: + latency-ms: 13.0 + node-136: + latency-ms: 32.0 + node-138: + latency-ms: 25.0 + node-141: + latency-ms: 26.0 + node-144: + latency-ms: 2.0 + node-146: + latency-ms: 23.0 + node-150: + latency-ms: 1.0 + node-151: + latency-ms: 49.0 + node-155: + latency-ms: 2.0 + node-164: + latency-ms: 39.0 + node-165: + latency-ms: 15.0 + node-169: + latency-ms: 27.0 + node-172: + latency-ms: 6.0 + node-175: + latency-ms: 1.0 + node-189: + latency-ms: 23.0 + node-194: + latency-ms: 46.0 + node-110: + location: + - -16.712492953260735 + - 65.36080144013964 + producers: + node-0: + latency-ms: 38.0 + node-123: + latency-ms: 42.0 + node-128: + latency-ms: 18.0 + node-133: + latency-ms: 42.0 + node-170: + latency-ms: 44.0 + node-171: + latency-ms: 38.0 + node-180: + latency-ms: 12.0 + node-192: + latency-ms: 1.0 + node-194: + latency-ms: 18.0 + node-198: + latency-ms: 43.0 + node-24: + latency-ms: 0.0 + node-51: + latency-ms: 29.0 + node-61: + latency-ms: 2.0 + node-66: + latency-ms: 43.0 + node-72: + latency-ms: 1.0 + node-79: + latency-ms: 2.0 + node-8: + latency-ms: 23.0 + node-86: + latency-ms: 9.0 + node-87: + latency-ms: 56.0 + node-95: + latency-ms: 46.0 + node-111: + location: + - 68.11280797509288 + - 67.2214557265401 + producers: + node-10: + latency-ms: 5.0 + node-116: + latency-ms: 27.0 + node-174: + latency-ms: 8.0 + node-183: + latency-ms: 9.0 + node-191: + latency-ms: 10.0 + node-22: + latency-ms: 6.0 + node-28: + latency-ms: 19.0 + node-38: + latency-ms: 11.0 + node-41: + latency-ms: 7.0 + node-42: + latency-ms: 17.0 + node-5: + latency-ms: 40.0 + node-51: + latency-ms: 19.0 + node-65: + latency-ms: 16.0 + node-69: + latency-ms: 30.0 + node-71: + latency-ms: 15.0 + node-72: + latency-ms: 45.0 + node-77: + latency-ms: 8.0 + node-79: + latency-ms: 43.0 + node-81: + latency-ms: 11.0 + node-85: + latency-ms: 9.0 + node-88: + latency-ms: 1.0 + node-9: + latency-ms: 19.0 + node-93: + latency-ms: 20.0 + node-112: + location: + - 64.08118691334457 + - 88.84102769401353 + producers: + node-1: + latency-ms: 4.0 + node-10: + latency-ms: 0.0 + node-14: + latency-ms: 5.0 + node-15: + latency-ms: 10.0 + node-17: + latency-ms: 22.0 + node-18: + latency-ms: 25.0 + node-22: + latency-ms: 2.0 + node-23: + latency-ms: 4.0 + node-26: + latency-ms: 3.0 + node-3: + latency-ms: 6.0 + node-31: + latency-ms: 11.0 + node-32: + latency-ms: 2.0 + node-36: + latency-ms: 5.0 + node-5: + latency-ms: 42.0 + node-50: + latency-ms: 4.0 + node-53: + latency-ms: 6.0 + node-55: + latency-ms: 3.0 + node-59: + latency-ms: 3.0 + node-6: + latency-ms: 2.0 + node-63: + latency-ms: 2.0 + node-69: + latency-ms: 32.0 + node-7: + latency-ms: 5.0 + node-77: + latency-ms: 11.0 + node-79: + latency-ms: 41.0 + node-81: + latency-ms: 6.0 + node-84: + latency-ms: 25.0 + node-85: + latency-ms: 12.0 + node-88: + latency-ms: 6.0 + node-92: + latency-ms: 1.0 + node-93: + latency-ms: 22.0 + node-95: + latency-ms: 3.0 + node-98: + latency-ms: 13.0 + node-113: + location: + - 23.86145740465756 + - 132.82252078111327 + producers: + node-0: + latency-ms: 3.0 + node-104: + latency-ms: 9.0 + node-109: + latency-ms: 3.0 + node-12: + latency-ms: 8.0 + node-13: + latency-ms: 11.0 + node-143: + latency-ms: 20.0 + node-16: + latency-ms: 3.0 + node-165: + latency-ms: 2.0 + node-167: + latency-ms: 9.0 + node-17: + latency-ms: 6.0 + node-173: + latency-ms: 38.0 + node-196: + latency-ms: 23.0 + node-30: + latency-ms: 27.0 + node-42: + latency-ms: 41.0 + node-43: + latency-ms: 26.0 + node-66: + latency-ms: 14.0 + node-67: + latency-ms: 0.0 + node-68: + latency-ms: 11.0 + node-74: + latency-ms: 4.0 + node-8: + latency-ms: 47.0 + node-84: + latency-ms: 12.0 + node-86: + latency-ms: 48.0 + node-89: + latency-ms: 4.0 + node-114: + location: + - 55.74914600831989 + - 89.64685829630403 + producers: + node-1: + latency-ms: 1.0 + node-10: + latency-ms: 4.0 + node-2: + latency-ms: 7.0 + node-20: + latency-ms: 2.0 + node-24: + latency-ms: 39.0 + node-28: + latency-ms: 20.0 + node-32: + latency-ms: 2.0 + node-34: + latency-ms: 49.0 + node-38: + latency-ms: 16.0 + node-42: + latency-ms: 20.0 + node-44: + latency-ms: 3.0 + node-48: + latency-ms: 1.0 + node-5: + latency-ms: 40.0 + node-50: + latency-ms: 0.0 + node-53: + latency-ms: 3.0 + node-58: + latency-ms: 1.0 + node-59: + latency-ms: 2.0 + node-6: + latency-ms: 1.0 + node-66: + latency-ms: 38.0 + node-69: + latency-ms: 30.0 + node-7: + latency-ms: 1.0 + node-72: + latency-ms: 40.0 + node-77: + latency-ms: 15.0 + node-78: + latency-ms: 48.0 + node-88: + latency-ms: 9.0 + node-93: + latency-ms: 21.0 + node-99: + latency-ms: 1.0 + node-115: + location: + - 45.57862438305066 + - 93.34721296806995 + producers: + node-10: + latency-ms: 9.0 + node-12: + latency-ms: 14.0 + node-14: + latency-ms: 4.0 + node-15: + latency-ms: 1.0 + node-16: + latency-ms: 21.0 + node-18: + latency-ms: 24.0 + node-2: + latency-ms: 2.0 + node-21: + latency-ms: 3.0 + node-26: + latency-ms: 10.0 + node-3: + latency-ms: 4.0 + node-33: + latency-ms: 1.0 + node-36: + latency-ms: 5.0 + node-37: + latency-ms: 6.0 + node-39: + latency-ms: 2.0 + node-40: + latency-ms: 0.0 + node-48: + latency-ms: 4.0 + node-54: + latency-ms: 0.0 + node-58: + latency-ms: 6.0 + node-60: + latency-ms: 23.0 + node-61: + latency-ms: 37.0 + node-62: + latency-ms: 3.0 + node-63: + latency-ms: 8.0 + node-64: + latency-ms: 2.0 + node-65: + latency-ms: 2.0 + node-67: + latency-ms: 20.0 + node-72: + latency-ms: 36.0 + node-73: + latency-ms: 46.0 + node-82: + latency-ms: 3.0 + node-95: + latency-ms: 10.0 + node-98: + latency-ms: 19.0 + node-116: + location: + - 26.70972713205299 + - 115.40067431553491 + producers: + node-111: + latency-ms: 27.0 + node-12: + latency-ms: 0.0 + node-2: + latency-ms: 11.0 + node-28: + latency-ms: 33.0 + node-3: + latency-ms: 15.0 + node-35: + latency-ms: 33.0 + node-46: + latency-ms: 32.0 + node-57: + latency-ms: 31.0 + node-58: + latency-ms: 19.0 + node-61: + latency-ms: 36.0 + node-62: + latency-ms: 17.0 + node-68: + latency-ms: 18.0 + node-79: + latency-ms: 32.0 + node-8: + latency-ms: 38.0 + node-83: + latency-ms: 18.0 + node-86: + latency-ms: 40.0 + node-87: + latency-ms: 21.0 + node-89: + latency-ms: 5.0 + node-9: + latency-ms: 32.0 + node-117: + location: + - 46.17138667938188 + - 85.75670190407334 + producers: + node-1: + latency-ms: 6.0 + node-13: + latency-ms: 34.0 + node-14: + latency-ms: 4.0 + node-15: + latency-ms: 2.0 + node-17: + latency-ms: 22.0 + node-19: + latency-ms: 7.0 + node-25: + latency-ms: 50.0 + node-27: + latency-ms: 5.0 + node-29: + latency-ms: 28.0 + node-39: + latency-ms: 3.0 + node-40: + latency-ms: 2.0 + node-49: + latency-ms: 26.0 + node-68: + latency-ms: 27.0 + node-69: + latency-ms: 26.0 + node-71: + latency-ms: 3.0 + node-79: + latency-ms: 32.0 + node-8: + latency-ms: 26.0 + node-80: + latency-ms: 6.0 + node-88: + latency-ms: 14.0 + node-9: + latency-ms: 18.0 + node-97: + latency-ms: 4.0 + node-99: + latency-ms: 4.0 + node-118: + location: + - 23.454983256102153 + - 115.66699157286544 + producers: + node-0: + latency-ms: 5.0 + node-12: + latency-ms: 1.0 + node-13: + latency-ms: 17.0 + node-16: + latency-ms: 6.0 + node-164: + latency-ms: 34.0 + node-166: + latency-ms: 27.0 + node-176: + latency-ms: 17.0 + node-18: + latency-ms: 18.0 + node-193: + latency-ms: 19.0 + node-195: + latency-ms: 15.0 + node-2: + latency-ms: 13.0 + node-28: + latency-ms: 34.0 + node-4: + latency-ms: 8.0 + node-48: + latency-ms: 19.0 + node-74: + latency-ms: 5.0 + node-77: + latency-ms: 34.0 + node-79: + latency-ms: 32.0 + node-84: + latency-ms: 19.0 + node-87: + latency-ms: 22.0 + node-89: + latency-ms: 5.0 + node-119: + location: + - 41.441341569447395 + - 159.10982391793638 + producers: + node-11: + latency-ms: 2.0 + node-17: + latency-ms: 9.0 + node-18: + latency-ms: 4.0 + node-25: + latency-ms: 34.0 + node-29: + latency-ms: 1.0 + node-36: + latency-ms: 21.0 + node-49: + latency-ms: 2.0 + node-54: + latency-ms: 24.0 + node-60: + latency-ms: 2.0 + node-68: + latency-ms: 3.0 + node-70: + latency-ms: 1.0 + node-75: + latency-ms: 21.0 + node-76: + latency-ms: 23.0 + node-79: + latency-ms: 53.0 + node-84: + latency-ms: 3.0 + node-86: + latency-ms: 60.0 + node-87: + latency-ms: 1.0 + node-12: + stake: 1935343886 + location: + - 25.35169265154225 + - 115.17549512773417 + producers: + node-102: + latency-ms: 12.0 + node-103: + latency-ms: 2.0 + node-109: + latency-ms: 9.0 + node-113: + latency-ms: 8.0 + node-115: + latency-ms: 14.0 + node-116: + latency-ms: 0.0 + node-118: + latency-ms: 1.0 + node-120: + latency-ms: 34.0 + node-129: + latency-ms: 7.0 + node-138: + latency-ms: 16.0 + node-139: + latency-ms: 31.0 + node-144: + latency-ms: 18.0 + node-150: + latency-ms: 20.0 + node-153: + latency-ms: 19.0 + node-172: + latency-ms: 13.0 + node-176: + latency-ms: 16.0 + node-177: + latency-ms: 21.0 + node-179: + latency-ms: 2.0 + node-185: + latency-ms: 30.0 + node-186: + latency-ms: 20.0 + node-195: + latency-ms: 14.0 + node-120: + location: + - -21.874340506743216 + - 158.93273503309692 + producers: + node-12: + latency-ms: 34.0 + node-121: + latency-ms: 2.0 + node-126: + latency-ms: 11.0 + node-131: + latency-ms: 2.0 + node-134: + latency-ms: 3.0 + node-148: + latency-ms: 2.0 + node-181: + latency-ms: 67.0 + node-185: + latency-ms: 27.0 + node-25: + latency-ms: 1.0 + node-30: + latency-ms: 2.0 + node-34: + latency-ms: 4.0 + node-43: + latency-ms: 3.0 + node-46: + latency-ms: 26.0 + node-47: + latency-ms: 4.0 + node-49: + latency-ms: 32.0 + node-67: + latency-ms: 27.0 + node-73: + latency-ms: 2.0 + node-78: + latency-ms: 29.0 + node-83: + latency-ms: 17.0 + node-86: + latency-ms: 56.0 + node-97: + latency-ms: 46.0 + node-121: + location: + - -17.341858846835365 + - 158.06570947519887 + producers: + node-107: + latency-ms: 31.0 + node-120: + latency-ms: 2.0 + node-131: + latency-ms: 4.0 + node-134: + latency-ms: 2.0 + node-136: + latency-ms: 4.0 + node-148: + latency-ms: 5.0 + node-17: + latency-ms: 29.0 + node-181: + latency-ms: 65.0 + node-30: + latency-ms: 3.0 + node-34: + latency-ms: 4.0 + node-35: + latency-ms: 64.0 + node-42: + latency-ms: 66.0 + node-43: + latency-ms: 3.0 + node-46: + latency-ms: 27.0 + node-47: + latency-ms: 2.0 + node-56: + latency-ms: 72.0 + node-66: + latency-ms: 11.0 + node-73: + latency-ms: 0.0 + node-83: + latency-ms: 15.0 + node-84: + latency-ms: 28.0 + node-9: + latency-ms: 64.0 + node-93: + latency-ms: 66.0 + node-122: + location: + - 59.400115392418535 + - 99.31961055653694 + producers: + node-0: + latency-ms: 21.0 + node-1: + latency-ms: 1.0 + node-10: + latency-ms: 3.0 + node-11: + latency-ms: 23.0 + node-19: + latency-ms: 1.0 + node-20: + latency-ms: 1.0 + node-21: + latency-ms: 6.0 + node-23: + latency-ms: 1.0 + node-26: + latency-ms: 3.0 + node-27: + latency-ms: 5.0 + node-37: + latency-ms: 1.0 + node-41: + latency-ms: 2.0 + node-49: + latency-ms: 20.0 + node-50: + latency-ms: 3.0 + node-53: + latency-ms: 3.0 + node-55: + latency-ms: 0.0 + node-59: + latency-ms: 0.0 + node-6: + latency-ms: 2.0 + node-63: + latency-ms: 1.0 + node-74: + latency-ms: 23.0 + node-75: + latency-ms: 5.0 + node-82: + latency-ms: 4.0 + node-86: + latency-ms: 43.0 + node-87: + latency-ms: 21.0 + node-89: + latency-ms: 23.0 + node-9: + latency-ms: 23.0 + node-91: + latency-ms: 3.0 + node-123: + location: + - 4.07951432861865 + - 142.8669337222655 + producers: + node-104: + latency-ms: 2.0 + node-107: + latency-ms: 18.0 + node-110: + latency-ms: 42.0 + node-128: + latency-ms: 29.0 + node-13: + latency-ms: 0.0 + node-135: + latency-ms: 36.0 + node-139: + latency-ms: 28.0 + node-149: + latency-ms: 50.0 + node-150: + latency-ms: 20.0 + node-167: + latency-ms: 2.0 + node-170: + latency-ms: 15.0 + node-18: + latency-ms: 17.0 + node-34: + latency-ms: 14.0 + node-47: + latency-ms: 12.0 + node-66: + latency-ms: 2.0 + node-73: + latency-ms: 14.0 + node-86: + latency-ms: 51.0 + node-91: + latency-ms: 32.0 + node-124: + location: + - 38.16208394592795 + - 155.19925514669032 + producers: + node-0: + latency-ms: 15.0 + node-107: + latency-ms: 5.0 + node-11: + latency-ms: 1.0 + node-133: + latency-ms: 24.0 + node-136: + latency-ms: 33.0 + node-150: + latency-ms: 1.0 + node-175: + latency-ms: 2.0 + node-18: + latency-ms: 1.0 + node-186: + latency-ms: 27.0 + node-19: + latency-ms: 23.0 + node-29: + latency-ms: 2.0 + node-40: + latency-ms: 25.0 + node-49: + latency-ms: 1.0 + node-60: + latency-ms: 1.0 + node-68: + latency-ms: 1.0 + node-70: + latency-ms: 2.0 + node-79: + latency-ms: 51.0 + node-84: + latency-ms: 1.0 + node-87: + latency-ms: 3.0 + node-88: + latency-ms: 29.0 + node-9: + latency-ms: 44.0 + node-125: + location: + - 87.09048179059474 + - 51.9686844495428 + producers: + node-105: + latency-ms: 30.0 + node-14: + latency-ms: 18.0 + node-140: + latency-ms: 24.0 + node-145: + latency-ms: 13.0 + node-18: + latency-ms: 29.0 + node-36: + latency-ms: 17.0 + node-38: + latency-ms: 18.0 + node-39: + latency-ms: 25.0 + node-44: + latency-ms: 13.0 + node-48: + latency-ms: 18.0 + node-49: + latency-ms: 27.0 + node-7: + latency-ms: 18.0 + node-75: + latency-ms: 20.0 + node-77: + latency-ms: 1.0 + node-95: + latency-ms: 12.0 + node-126: + location: + - -6.108528372394691 + - 144.31448124555916 + producers: + node-0: + latency-ms: 18.0 + node-107: + latency-ms: 24.0 + node-120: + latency-ms: 11.0 + node-148: + latency-ms: 14.0 + node-165: + latency-ms: 14.0 + node-174: + latency-ms: 40.0 + node-34: + latency-ms: 8.0 + node-47: + latency-ms: 7.0 + node-58: + latency-ms: 41.0 + node-60: + latency-ms: 24.0 + node-66: + latency-ms: 3.0 + node-70: + latency-ms: 26.0 + node-73: + latency-ms: 9.0 + node-81: + latency-ms: 37.0 + node-87: + latency-ms: 27.0 + node-92: + latency-ms: 42.0 + node-127: + location: + - 48.983601923829866 + - 99.161209047302 + producers: + node-10: + latency-ms: 8.0 + node-11: + latency-ms: 23.0 + node-20: + latency-ms: 5.0 + node-22: + latency-ms: 6.0 + node-27: + latency-ms: 0.0 + node-29: + latency-ms: 23.0 + node-3: + latency-ms: 2.0 + node-33: + latency-ms: 2.0 + node-37: + latency-ms: 4.0 + node-38: + latency-ms: 20.0 + node-39: + latency-ms: 5.0 + node-45: + latency-ms: 2.0 + node-5: + latency-ms: 42.0 + node-51: + latency-ms: 24.0 + node-53: + latency-ms: 2.0 + node-57: + latency-ms: 26.0 + node-58: + latency-ms: 5.0 + node-63: + latency-ms: 6.0 + node-67: + latency-ms: 19.0 + node-7: + latency-ms: 4.0 + node-71: + latency-ms: 4.0 + node-76: + latency-ms: 2.0 + node-77: + latency-ms: 19.0 + node-80: + latency-ms: 5.0 + node-81: + latency-ms: 2.0 + node-93: + latency-ms: 24.0 + node-94: + latency-ms: 1.0 + node-96: + latency-ms: 2.0 + node-97: + latency-ms: 1.0 + node-128: + location: + - -31.40567815923727 + - 98.83931591774775 + producers: + node-105: + latency-ms: 41.0 + node-110: + latency-ms: 18.0 + node-123: + latency-ms: 29.0 + node-140: + latency-ms: 39.0 + node-172: + latency-ms: 43.0 + node-178: + latency-ms: 30.0 + node-183: + latency-ms: 45.0 + node-194: + latency-ms: 0.0 + node-26: + latency-ms: 51.0 + node-34: + latency-ms: 25.0 + node-46: + latency-ms: 2.0 + node-47: + latency-ms: 27.0 + node-5: + latency-ms: 40.0 + node-72: + latency-ms: 19.0 + node-78: + latency-ms: 1.0 + node-8: + latency-ms: 40.0 + node-83: + latency-ms: 31.0 + node-87: + latency-ms: 50.0 + node-90: + latency-ms: 41.0 + node-129: + location: + - 24.88713889216107 + - 130.98243752930512 + producers: + node-0: + latency-ms: 2.0 + node-11: + latency-ms: 13.0 + node-12: + latency-ms: 7.0 + node-13: + latency-ms: 12.0 + node-16: + latency-ms: 3.0 + node-19: + latency-ms: 23.0 + node-31: + latency-ms: 37.0 + node-4: + latency-ms: 2.0 + node-48: + latency-ms: 22.0 + node-49: + latency-ms: 12.0 + node-62: + latency-ms: 22.0 + node-67: + latency-ms: 1.0 + node-69: + latency-ms: 46.0 + node-75: + latency-ms: 18.0 + node-84: + latency-ms: 12.0 + node-88: + latency-ms: 31.0 + node-89: + latency-ms: 3.0 + node-95: + latency-ms: 23.0 + node-99: + latency-ms: 24.0 + node-13: + stake: 4164176816 + location: + - 4.374756741837587 + - 143.36143801696772 + producers: + node-103: + latency-ms: 16.0 + node-104: + latency-ms: 1.0 + node-105: + latency-ms: 15.0 + node-113: + latency-ms: 11.0 + node-117: + latency-ms: 34.0 + node-118: + latency-ms: 17.0 + node-123: + latency-ms: 0.0 + node-129: + latency-ms: 12.0 + node-137: + latency-ms: 32.0 + node-148: + latency-ms: 19.0 + node-156: + latency-ms: 5.0 + node-160: + latency-ms: 3.0 + node-161: + latency-ms: 2.0 + node-165: + latency-ms: 9.0 + node-179: + latency-ms: 16.0 + node-192: + latency-ms: 41.0 + node-195: + latency-ms: 30.0 + node-130: + location: + - 60.512382808201735 + - 101.32935986066585 + producers: + node-14: + latency-ms: 5.0 + node-17: + latency-ms: 18.0 + node-19: + latency-ms: 2.0 + node-23: + latency-ms: 2.0 + node-25: + latency-ms: 50.0 + node-27: + latency-ms: 6.0 + node-31: + latency-ms: 15.0 + node-32: + latency-ms: 2.0 + node-36: + latency-ms: 2.0 + node-37: + latency-ms: 1.0 + node-42: + latency-ms: 23.0 + node-44: + latency-ms: 4.0 + node-46: + latency-ms: 49.0 + node-50: + latency-ms: 4.0 + node-54: + latency-ms: 7.0 + node-55: + latency-ms: 0.0 + node-56: + latency-ms: 45.0 + node-6: + latency-ms: 3.0 + node-61: + latency-ms: 45.0 + node-63: + latency-ms: 1.0 + node-67: + latency-ms: 23.0 + node-74: + latency-ms: 23.0 + node-76: + latency-ms: 4.0 + node-78: + latency-ms: 50.0 + node-8: + latency-ms: 33.0 + node-81: + latency-ms: 3.0 + node-91: + latency-ms: 4.0 + node-93: + latency-ms: 25.0 + node-97: + latency-ms: 7.0 + node-131: + location: + - -24.86798469290559 + - 162.28026309239658 + producers: + node-120: + latency-ms: 2.0 + node-121: + latency-ms: 4.0 + node-136: + latency-ms: 3.0 + node-14: + latency-ms: 54.0 + node-143: + latency-ms: 50.0 + node-144: + latency-ms: 34.0 + node-148: + latency-ms: 1.0 + node-150: + latency-ms: 34.0 + node-155: + latency-ms: 30.0 + node-157: + latency-ms: 5.0 + node-16: + latency-ms: 29.0 + node-18: + latency-ms: 32.0 + node-25: + latency-ms: 3.0 + node-30: + latency-ms: 4.0 + node-34: + latency-ms: 5.0 + node-47: + latency-ms: 6.0 + node-5: + latency-ms: 70.0 + node-70: + latency-ms: 34.0 + node-73: + latency-ms: 4.0 + node-89: + latency-ms: 30.0 + node-132: + location: + - 45.076504206960735 + - 95.43830304454491 + producers: + node-1: + latency-ms: 6.0 + node-107: + latency-ms: 18.0 + node-2: + latency-ms: 1.0 + node-21: + latency-ms: 3.0 + node-3: + latency-ms: 4.0 + node-33: + latency-ms: 0.0 + node-37: + latency-ms: 6.0 + node-39: + latency-ms: 3.0 + node-40: + latency-ms: 1.0 + node-45: + latency-ms: 1.0 + node-53: + latency-ms: 4.0 + node-54: + latency-ms: 1.0 + node-58: + latency-ms: 6.0 + node-64: + latency-ms: 2.0 + node-69: + latency-ms: 30.0 + node-73: + latency-ms: 45.0 + node-75: + latency-ms: 3.0 + node-8: + latency-ms: 30.0 + node-80: + latency-ms: 6.0 + node-81: + latency-ms: 5.0 + node-9: + latency-ms: 21.0 + node-97: + latency-ms: 1.0 + node-99: + latency-ms: 6.0 + node-133: + location: + - 59.896626116938045 + - 92.00076859948686 + producers: + node-110: + latency-ms: 42.0 + node-124: + latency-ms: 24.0 + node-22: + latency-ms: 0.0 + node-28: + latency-ms: 21.0 + node-3: + latency-ms: 4.0 + node-31: + latency-ms: 13.0 + node-32: + latency-ms: 0.0 + node-37: + latency-ms: 3.0 + node-41: + latency-ms: 0.0 + node-44: + latency-ms: 2.0 + node-50: + latency-ms: 2.0 + node-51: + latency-ms: 22.0 + node-6: + latency-ms: 0.0 + node-64: + latency-ms: 5.0 + node-7: + latency-ms: 3.0 + node-75: + latency-ms: 6.0 + node-76: + latency-ms: 4.0 + node-78: + latency-ms: 50.0 + node-85: + latency-ms: 15.0 + node-89: + latency-ms: 24.0 + node-90: + latency-ms: 35.0 + node-91: + latency-ms: 4.0 + node-92: + latency-ms: 1.0 + node-93: + latency-ms: 22.0 + node-98: + latency-ms: 14.0 + node-99: + latency-ms: 3.0 + node-134: + location: + - -17.602974083803502 + - 153.9875162119402 + producers: + node-120: + latency-ms: 3.0 + node-121: + latency-ms: 2.0 + node-25: + latency-ms: 2.0 + node-27: + latency-ms: 43.0 + node-29: + latency-ms: 31.0 + node-30: + latency-ms: 2.0 + node-34: + latency-ms: 2.0 + node-43: + latency-ms: 2.0 + node-47: + latency-ms: 0.0 + node-64: + latency-ms: 45.0 + node-68: + latency-ms: 29.0 + node-72: + latency-ms: 46.0 + node-73: + latency-ms: 2.0 + node-78: + latency-ms: 28.0 + node-83: + latency-ms: 14.0 + node-86: + latency-ms: 54.0 + node-88: + latency-ms: 56.0 + node-135: + location: + - 56.37108167090979 + - 88.20708242400976 + producers: + node-1: + latency-ms: 2.0 + node-10: + latency-ms: 4.0 + node-123: + latency-ms: 36.0 + node-2: + latency-ms: 7.0 + node-23: + latency-ms: 2.0 + node-24: + latency-ms: 40.0 + node-26: + latency-ms: 6.0 + node-28: + latency-ms: 20.0 + node-31: + latency-ms: 13.0 + node-35: + latency-ms: 14.0 + node-39: + latency-ms: 8.0 + node-4: + latency-ms: 25.0 + node-41: + latency-ms: 1.0 + node-44: + latency-ms: 3.0 + node-48: + latency-ms: 1.0 + node-50: + latency-ms: 0.0 + node-58: + latency-ms: 0.0 + node-6: + latency-ms: 1.0 + node-64: + latency-ms: 4.0 + node-66: + latency-ms: 38.0 + node-67: + latency-ms: 24.0 + node-7: + latency-ms: 1.0 + node-71: + latency-ms: 7.0 + node-77: + latency-ms: 15.0 + node-78: + latency-ms: 48.0 + node-81: + latency-ms: 4.0 + node-82: + latency-ms: 3.0 + node-85: + latency-ms: 16.0 + node-88: + latency-ms: 9.0 + node-97: + latency-ms: 6.0 + node-98: + latency-ms: 14.0 + node-99: + latency-ms: 1.0 + node-136: + location: + - -24.998857033029047 + - 155.08909040884134 + producers: + node-11: + latency-ms: 32.0 + node-121: + latency-ms: 4.0 + node-124: + latency-ms: 33.0 + node-131: + latency-ms: 3.0 + node-15: + latency-ms: 48.0 + node-16: + latency-ms: 27.0 + node-170: + latency-ms: 0.0 + node-25: + latency-ms: 1.0 + node-30: + latency-ms: 1.0 + node-34: + latency-ms: 2.0 + node-43: + latency-ms: 2.0 + node-49: + latency-ms: 34.0 + node-52: + latency-ms: 55.0 + node-60: + latency-ms: 34.0 + node-66: + latency-ms: 14.0 + node-73: + latency-ms: 4.0 + node-84: + latency-ms: 32.0 + node-89: + latency-ms: 28.0 + node-137: + location: + - 47.53771679809556 + - 94.61774365971074 + producers: + node-10: + latency-ms: 8.0 + node-13: + latency-ms: 32.0 + node-15: + latency-ms: 2.0 + node-2: + latency-ms: 2.0 + node-23: + latency-ms: 4.0 + node-28: + latency-ms: 21.0 + node-31: + latency-ms: 18.0 + node-33: + latency-ms: 1.0 + node-34: + latency-ms: 45.0 + node-39: + latency-ms: 4.0 + node-40: + latency-ms: 1.0 + node-45: + latency-ms: 2.0 + node-48: + latency-ms: 3.0 + node-50: + latency-ms: 4.0 + node-53: + latency-ms: 3.0 + node-54: + latency-ms: 0.0 + node-56: + latency-ms: 41.0 + node-62: + latency-ms: 3.0 + node-64: + latency-ms: 0.0 + node-65: + latency-ms: 3.0 + node-69: + latency-ms: 30.0 + node-70: + latency-ms: 25.0 + node-74: + latency-ms: 19.0 + node-77: + latency-ms: 20.0 + node-81: + latency-ms: 4.0 + node-86: + latency-ms: 38.0 + node-90: + latency-ms: 34.0 + node-96: + latency-ms: 3.0 + node-138: + location: + - 51.44071579574141 + - 92.65299036090322 + producers: + node-0: + latency-ms: 20.0 + node-11: + latency-ms: 25.0 + node-12: + latency-ms: 16.0 + node-14: + latency-ms: 1.0 + node-15: + latency-ms: 4.0 + node-17: + latency-ms: 19.0 + node-2: + latency-ms: 4.0 + node-24: + latency-ms: 38.0 + node-27: + latency-ms: 3.0 + node-3: + latency-ms: 2.0 + node-32: + latency-ms: 4.0 + node-38: + latency-ms: 18.0 + node-42: + latency-ms: 20.0 + node-48: + latency-ms: 1.0 + node-50: + latency-ms: 2.0 + node-51: + latency-ms: 21.0 + node-53: + latency-ms: 2.0 + node-54: + latency-ms: 2.0 + node-6: + latency-ms: 4.0 + node-62: + latency-ms: 1.0 + node-63: + latency-ms: 5.0 + node-68: + latency-ms: 24.0 + node-73: + latency-ms: 48.0 + node-76: + latency-ms: 1.0 + node-8: + latency-ms: 29.0 + node-80: + latency-ms: 3.0 + node-91: + latency-ms: 2.0 + node-95: + latency-ms: 7.0 + node-96: + latency-ms: 1.0 + node-139: + location: + - -32.08816044638217 + - 102.71690678389572 + producers: + node-12: + latency-ms: 31.0 + node-123: + latency-ms: 28.0 + node-179: + latency-ms: 31.0 + node-18: + latency-ms: 44.0 + node-185: + latency-ms: 1.0 + node-196: + latency-ms: 50.0 + node-28: + latency-ms: 47.0 + node-31: + latency-ms: 57.0 + node-33: + latency-ms: 41.0 + node-43: + latency-ms: 24.0 + node-46: + latency-ms: 0.0 + node-5: + latency-ms: 42.0 + node-67: + latency-ms: 33.0 + node-78: + latency-ms: 2.0 + node-83: + latency-ms: 29.0 + node-85: + latency-ms: 64.0 + node-14: + stake: 8485854034 + location: + - 53.52714468698438 + - 88.47621641860113 + producers: + node-112: + latency-ms: 5.0 + node-115: + latency-ms: 4.0 + node-117: + latency-ms: 4.0 + node-125: + latency-ms: 18.0 + node-130: + latency-ms: 5.0 + node-131: + latency-ms: 54.0 + node-138: + latency-ms: 1.0 + node-143: + latency-ms: 5.0 + node-147: + latency-ms: 3.0 + node-173: + latency-ms: 15.0 + node-182: + latency-ms: 1.0 + node-183: + latency-ms: 0.0 + node-185: + latency-ms: 45.0 + node-188: + latency-ms: 2.0 + node-196: + latency-ms: 6.0 + node-197: + latency-ms: 5.0 + node-140: + location: + - 41.85883518428999 + - 94.46577272274249 + producers: + node-1: + latency-ms: 8.0 + node-125: + latency-ms: 24.0 + node-128: + latency-ms: 39.0 + node-16: + latency-ms: 19.0 + node-2: + latency-ms: 1.0 + node-20: + latency-ms: 9.0 + node-24: + latency-ms: 34.0 + node-27: + latency-ms: 4.0 + node-28: + latency-ms: 21.0 + node-29: + latency-ms: 26.0 + node-33: + latency-ms: 1.0 + node-39: + latency-ms: 1.0 + node-40: + latency-ms: 1.0 + node-43: + latency-ms: 44.0 + node-44: + latency-ms: 11.0 + node-45: + latency-ms: 1.0 + node-48: + latency-ms: 6.0 + node-50: + latency-ms: 7.0 + node-53: + latency-ms: 6.0 + node-58: + latency-ms: 8.0 + node-60: + latency-ms: 23.0 + node-64: + latency-ms: 3.0 + node-65: + latency-ms: 0.0 + node-66: + latency-ms: 33.0 + node-7: + latency-ms: 7.0 + node-71: + latency-ms: 1.0 + node-79: + latency-ms: 32.0 + node-91: + latency-ms: 6.0 + node-99: + latency-ms: 7.0 + node-141: + location: + - 50.02494863446695 + - 89.89654591873759 + producers: + node-0: + latency-ms: 20.0 + node-1: + latency-ms: 4.0 + node-10: + latency-ms: 7.0 + node-11: + latency-ms: 26.0 + node-24: + latency-ms: 37.0 + node-29: + latency-ms: 26.0 + node-33: + latency-ms: 3.0 + node-38: + latency-ms: 17.0 + node-39: + latency-ms: 5.0 + node-40: + latency-ms: 2.0 + node-43: + latency-ms: 48.0 + node-44: + latency-ms: 6.0 + node-45: + latency-ms: 4.0 + node-50: + latency-ms: 3.0 + node-51: + latency-ms: 20.0 + node-53: + latency-ms: 3.0 + node-54: + latency-ms: 2.0 + node-58: + latency-ms: 3.0 + node-59: + latency-ms: 5.0 + node-62: + latency-ms: 0.0 + node-63: + latency-ms: 6.0 + node-65: + latency-ms: 5.0 + node-69: + latency-ms: 29.0 + node-7: + latency-ms: 2.0 + node-76: + latency-ms: 2.0 + node-77: + latency-ms: 18.0 + node-81: + latency-ms: 4.0 + node-82: + latency-ms: 2.0 + node-88: + latency-ms: 12.0 + node-89: + latency-ms: 21.0 + node-9: + latency-ms: 19.0 + node-91: + latency-ms: 3.0 + node-98: + latency-ms: 16.0 + node-99: + latency-ms: 2.0 + node-142: + location: + - 41.833954875917314 + - 89.59727262956223 + producers: + node-39: + latency-ms: 0.0 + node-40: + latency-ms: 1.0 + node-48: + latency-ms: 5.0 + node-49: + latency-ms: 25.0 + node-5: + latency-ms: 38.0 + node-50: + latency-ms: 7.0 + node-52: + latency-ms: 35.0 + node-59: + latency-ms: 9.0 + node-61: + latency-ms: 34.0 + node-62: + latency-ms: 4.0 + node-63: + latency-ms: 10.0 + node-65: + latency-ms: 2.0 + node-71: + latency-ms: 0.0 + node-75: + latency-ms: 5.0 + node-79: + latency-ms: 31.0 + node-82: + latency-ms: 5.0 + node-83: + latency-ms: 31.0 + node-84: + latency-ms: 26.0 + node-9: + latency-ms: 19.0 + node-90: + latency-ms: 32.0 + node-91: + latency-ms: 6.0 + node-92: + latency-ms: 10.0 + node-93: + latency-ms: 21.0 + node-95: + latency-ms: 13.0 + node-143: + location: + - 44.55909392941658 + - 92.89775701061549 + producers: + node-1: + latency-ms: 6.0 + node-107: + latency-ms: 19.0 + node-113: + latency-ms: 20.0 + node-131: + latency-ms: 50.0 + node-14: + latency-ms: 5.0 + node-15: + latency-ms: 0.0 + node-2: + latency-ms: 2.0 + node-21: + latency-ms: 4.0 + node-31: + latency-ms: 18.0 + node-33: + latency-ms: 0.0 + node-39: + latency-ms: 2.0 + node-4: + latency-ms: 21.0 + node-40: + latency-ms: 0.0 + node-45: + latency-ms: 2.0 + node-5: + latency-ms: 40.0 + node-54: + latency-ms: 1.0 + node-55: + latency-ms: 8.0 + node-58: + latency-ms: 6.0 + node-63: + latency-ms: 9.0 + node-65: + latency-ms: 2.0 + node-71: + latency-ms: 1.0 + node-73: + latency-ms: 46.0 + node-75: + latency-ms: 3.0 + node-78: + latency-ms: 42.0 + node-8: + latency-ms: 29.0 + node-84: + latency-ms: 25.0 + node-96: + latency-ms: 5.0 + node-144: + location: + - 39.19322126219906 + - 153.870807979767 + producers: + node-105: + latency-ms: 4.0 + node-107: + latency-ms: 4.0 + node-109: + latency-ms: 15.0 + node-11: + latency-ms: 2.0 + node-12: + latency-ms: 18.0 + node-131: + latency-ms: 34.0 + node-16: + latency-ms: 16.0 + node-18: + latency-ms: 2.0 + node-29: + latency-ms: 3.0 + node-32: + latency-ms: 23.0 + node-49: + latency-ms: 0.0 + node-56: + latency-ms: 65.0 + node-60: + latency-ms: 0.0 + node-67: + latency-ms: 12.0 + node-68: + latency-ms: 1.0 + node-84: + latency-ms: 1.0 + node-98: + latency-ms: 37.0 + node-145: + location: + - 63.09394562019369 + - 101.47905940292935 + producers: + node-107: + latency-ms: 18.0 + node-125: + latency-ms: 13.0 + node-2: + latency-ms: 10.0 + node-20: + latency-ms: 3.0 + node-21: + latency-ms: 8.0 + node-27: + latency-ms: 7.0 + node-28: + latency-ms: 24.0 + node-36: + latency-ms: 4.0 + node-4: + latency-ms: 25.0 + node-42: + latency-ms: 23.0 + node-45: + latency-ms: 10.0 + node-5: + latency-ms: 45.0 + node-51: + latency-ms: 25.0 + node-53: + latency-ms: 5.0 + node-55: + latency-ms: 1.0 + node-61: + latency-ms: 46.0 + node-76: + latency-ms: 5.0 + node-8: + latency-ms: 34.0 + node-80: + latency-ms: 3.0 + node-82: + latency-ms: 6.0 + node-86: + latency-ms: 45.0 + node-90: + latency-ms: 38.0 + node-93: + latency-ms: 25.0 + node-95: + latency-ms: 1.0 + node-97: + latency-ms: 9.0 + node-98: + latency-ms: 16.0 + node-146: + location: + - 53.139403578927116 + - 99.57195592804517 + producers: + node-0: + latency-ms: 18.0 + node-11: + latency-ms: 23.0 + node-15: + latency-ms: 5.0 + node-17: + latency-ms: 17.0 + node-20: + latency-ms: 3.0 + node-21: + latency-ms: 2.0 + node-23: + latency-ms: 2.0 + node-27: + latency-ms: 2.0 + node-3: + latency-ms: 0.0 + node-32: + latency-ms: 4.0 + node-35: + latency-ms: 18.0 + node-37: + latency-ms: 2.0 + node-41: + latency-ms: 4.0 + node-48: + latency-ms: 3.0 + node-5: + latency-ms: 43.0 + node-53: + latency-ms: 0.0 + node-55: + latency-ms: 3.0 + node-57: + latency-ms: 27.0 + node-59: + latency-ms: 3.0 + node-6: + latency-ms: 4.0 + node-64: + latency-ms: 2.0 + node-7: + latency-ms: 4.0 + node-75: + latency-ms: 1.0 + node-77: + latency-ms: 17.0 + node-80: + latency-ms: 3.0 + node-81: + latency-ms: 0.0 + node-82: + latency-ms: 1.0 + node-91: + latency-ms: 0.0 + node-94: + latency-ms: 1.0 + node-97: + latency-ms: 3.0 + node-147: + location: + - 50.24071655567916 + - 97.75976582315998 + producers: + node-103: + latency-ms: 17.0 + node-14: + latency-ms: 3.0 + node-2: + latency-ms: 3.0 + node-22: + latency-ms: 5.0 + node-27: + latency-ms: 1.0 + node-3: + latency-ms: 1.0 + node-31: + latency-ms: 17.0 + node-32: + latency-ms: 5.0 + node-33: + latency-ms: 3.0 + node-36: + latency-ms: 3.0 + node-39: + latency-ms: 5.0 + node-47: + latency-ms: 44.0 + node-5: + latency-ms: 42.0 + node-54: + latency-ms: 2.0 + node-55: + latency-ms: 5.0 + node-6: + latency-ms: 5.0 + node-61: + latency-ms: 39.0 + node-64: + latency-ms: 1.0 + node-67: + latency-ms: 20.0 + node-75: + latency-ms: 1.0 + node-76: + latency-ms: 1.0 + node-82: + latency-ms: 0.0 + node-89: + latency-ms: 19.0 + node-9: + latency-ms: 22.0 + node-95: + latency-ms: 7.0 + node-96: + latency-ms: 2.0 + node-97: + latency-ms: 2.0 + node-148: + location: + - -26.899651784217426 + - 161.39922376694844 + producers: + node-0: + latency-ms: 32.0 + node-120: + latency-ms: 2.0 + node-121: + latency-ms: 5.0 + node-126: + latency-ms: 14.0 + node-13: + latency-ms: 19.0 + node-131: + latency-ms: 1.0 + node-25: + latency-ms: 3.0 + node-30: + latency-ms: 4.0 + node-34: + latency-ms: 5.0 + node-42: + latency-ms: 70.0 + node-43: + latency-ms: 5.0 + node-46: + latency-ms: 26.0 + node-47: + latency-ms: 6.0 + node-66: + latency-ms: 16.0 + node-67: + latency-ms: 30.0 + node-70: + latency-ms: 35.0 + node-90: + latency-ms: 70.0 + node-149: + location: + - 36.608041447389645 + - 45.9526918412337 + producers: + node-123: + latency-ms: 50.0 + node-153: + latency-ms: 15.0 + node-158: + latency-ms: 2.0 + node-159: + latency-ms: 40.0 + node-169: + latency-ms: 17.0 + node-172: + latency-ms: 38.0 + node-173: + latency-ms: 11.0 + node-177: + latency-ms: 19.0 + node-178: + latency-ms: 40.0 + node-28: + latency-ms: 1.0 + node-31: + latency-ms: 13.0 + node-35: + latency-ms: 15.0 + node-42: + latency-ms: 3.0 + node-51: + latency-ms: 2.0 + node-61: + latency-ms: 29.0 + node-79: + latency-ms: 28.0 + node-86: + latency-ms: 25.0 + node-87: + latency-ms: 43.0 + node-9: + latency-ms: 1.0 + node-90: + latency-ms: 15.0 + node-93: + latency-ms: 3.0 + node-98: + latency-ms: 11.0 + node-15: + stake: 16495872102 + location: + - 43.713882716460965 + - 90.72283669246288 + producers: + node-106: + latency-ms: 3.0 + node-112: + latency-ms: 10.0 + node-115: + latency-ms: 1.0 + node-117: + latency-ms: 2.0 + node-136: + latency-ms: 48.0 + node-137: + latency-ms: 2.0 + node-138: + latency-ms: 4.0 + node-143: + latency-ms: 0.0 + node-146: + latency-ms: 5.0 + node-154: + latency-ms: 3.0 + node-162: + latency-ms: 3.0 + node-169: + latency-ms: 0.0 + node-174: + latency-ms: 9.0 + node-176: + latency-ms: 3.0 + node-177: + latency-ms: 8.0 + node-179: + latency-ms: 16.0 + node-193: + latency-ms: 7.0 + node-150: + location: + - 38.859919303641746 + - 158.14119885271703 + producers: + node-11: + latency-ms: 1.0 + node-12: + latency-ms: 20.0 + node-123: + latency-ms: 20.0 + node-124: + latency-ms: 1.0 + node-131: + latency-ms: 34.0 + node-18: + latency-ms: 2.0 + node-22: + latency-ms: 25.0 + node-23: + latency-ms: 23.0 + node-29: + latency-ms: 1.0 + node-38: + latency-ms: 40.0 + node-40: + latency-ms: 25.0 + node-49: + latency-ms: 2.0 + node-60: + latency-ms: 2.0 + node-66: + latency-ms: 21.0 + node-68: + latency-ms: 2.0 + node-69: + latency-ms: 54.0 + node-70: + latency-ms: 1.0 + node-83: + latency-ms: 18.0 + node-84: + latency-ms: 2.0 + node-87: + latency-ms: 2.0 + node-151: + location: + - 8.849005129678012 + - 59.266344556439236 + producers: + node-103: + latency-ms: 30.0 + node-11: + latency-ms: 49.0 + node-156: + latency-ms: 43.0 + node-163: + latency-ms: 31.0 + node-167: + latency-ms: 43.0 + node-35: + latency-ms: 31.0 + node-39: + latency-ms: 22.0 + node-42: + latency-ms: 18.0 + node-52: + latency-ms: 12.0 + node-56: + latency-ms: 20.0 + node-57: + latency-ms: 6.0 + node-64: + latency-ms: 26.0 + node-72: + latency-ms: 13.0 + node-78: + latency-ms: 30.0 + node-79: + latency-ms: 11.0 + node-81: + latency-ms: 30.0 + node-86: + latency-ms: 12.0 + node-9: + latency-ms: 15.0 + node-152: + location: + - 52.89013390944609 + - 35.81880699820155 + producers: + node-0: + latency-ms: 38.0 + node-104: + latency-ms: 50.0 + node-31: + latency-ms: 5.0 + node-32: + latency-ms: 16.0 + node-38: + latency-ms: 0.0 + node-42: + latency-ms: 7.0 + node-5: + latency-ms: 29.0 + node-51: + latency-ms: 10.0 + node-56: + latency-ms: 28.0 + node-6: + latency-ms: 16.0 + node-74: + latency-ms: 39.0 + node-77: + latency-ms: 16.0 + node-83: + latency-ms: 51.0 + node-85: + latency-ms: 15.0 + node-87: + latency-ms: 39.0 + node-9: + latency-ms: 10.0 + node-90: + latency-ms: 22.0 + node-93: + latency-ms: 10.0 + node-98: + latency-ms: 2.0 + node-99: + latency-ms: 15.0 + node-153: + location: + - 50.44634645525477 + - 80.10804391451431 + producers: + node-12: + latency-ms: 19.0 + node-149: + latency-ms: 15.0 + node-18: + latency-ms: 29.0 + node-2: + latency-ms: 7.0 + node-21: + latency-ms: 7.0 + node-22: + latency-ms: 5.0 + node-28: + latency-ms: 16.0 + node-30: + latency-ms: 52.0 + node-41: + latency-ms: 5.0 + node-49: + latency-ms: 27.0 + node-51: + latency-ms: 17.0 + node-53: + latency-ms: 6.0 + node-54: + latency-ms: 5.0 + node-55: + latency-ms: 8.0 + node-7: + latency-ms: 2.0 + node-70: + latency-ms: 29.0 + node-71: + latency-ms: 6.0 + node-72: + latency-ms: 36.0 + node-75: + latency-ms: 7.0 + node-79: + latency-ms: 34.0 + node-86: + latency-ms: 36.0 + node-88: + latency-ms: 11.0 + node-154: + location: + - 49.78432377167816 + - 88.83048110306909 + producers: + node-10: + latency-ms: 7.0 + node-15: + latency-ms: 3.0 + node-22: + latency-ms: 5.0 + node-23: + latency-ms: 4.0 + node-26: + latency-ms: 9.0 + node-27: + latency-ms: 4.0 + node-28: + latency-ms: 19.0 + node-40: + latency-ms: 2.0 + node-41: + latency-ms: 5.0 + node-44: + latency-ms: 6.0 + node-46: + latency-ms: 44.0 + node-62: + latency-ms: 0.0 + node-63: + latency-ms: 6.0 + node-64: + latency-ms: 2.0 + node-7: + latency-ms: 2.0 + node-74: + latency-ms: 22.0 + node-80: + latency-ms: 4.0 + node-81: + latency-ms: 4.0 + node-82: + latency-ms: 3.0 + node-85: + latency-ms: 20.0 + node-88: + latency-ms: 12.0 + node-89: + latency-ms: 22.0 + node-92: + latency-ms: 6.0 + node-93: + latency-ms: 21.0 + node-95: + latency-ms: 9.0 + node-97: + latency-ms: 4.0 + node-99: + latency-ms: 2.0 + node-155: + location: + - 31.5415721180687 + - 161.11046701541426 + producers: + node-11: + latency-ms: 2.0 + node-131: + latency-ms: 30.0 + node-18: + latency-ms: 3.0 + node-197: + latency-ms: 24.0 + node-29: + latency-ms: 4.0 + node-43: + latency-ms: 28.0 + node-46: + latency-ms: 44.0 + node-49: + latency-ms: 5.0 + node-56: + latency-ms: 69.0 + node-60: + latency-ms: 5.0 + node-68: + latency-ms: 4.0 + node-69: + latency-ms: 58.0 + node-7: + latency-ms: 30.0 + node-70: + latency-ms: 4.0 + node-81: + latency-ms: 25.0 + node-87: + latency-ms: 6.0 + node-156: + location: + - -3.915822553234444 + - 138.71694687407486 + producers: + node-104: + latency-ms: 6.0 + node-13: + latency-ms: 5.0 + node-151: + latency-ms: 43.0 + node-178: + latency-ms: 12.0 + node-24: + latency-ms: 38.0 + node-25: + latency-ms: 13.0 + node-29: + latency-ms: 26.0 + node-34: + latency-ms: 11.0 + node-39: + latency-ms: 33.0 + node-40: + latency-ms: 34.0 + node-42: + latency-ms: 53.0 + node-43: + latency-ms: 11.0 + node-57: + latency-ms: 47.0 + node-61: + latency-ms: 41.0 + node-63: + latency-ms: 38.0 + node-66: + latency-ms: 4.0 + node-72: + latency-ms: 40.0 + node-73: + latency-ms: 13.0 + node-74: + latency-ms: 14.0 + node-83: + latency-ms: 6.0 + node-86: + latency-ms: 48.0 + node-87: + latency-ms: 27.0 + node-9: + latency-ms: 51.0 + node-157: + location: + - -23.78206436286434 + - 151.47867836921728 + producers: + node-131: + latency-ms: 5.0 + node-16: + latency-ms: 25.0 + node-18: + latency-ms: 31.0 + node-25: + latency-ms: 2.0 + node-29: + latency-ms: 34.0 + node-30: + latency-ms: 1.0 + node-34: + latency-ms: 1.0 + node-37: + latency-ms: 48.0 + node-43: + latency-ms: 1.0 + node-47: + latency-ms: 3.0 + node-48: + latency-ms: 50.0 + node-49: + latency-ms: 33.0 + node-52: + latency-ms: 54.0 + node-66: + latency-ms: 13.0 + node-68: + latency-ms: 32.0 + node-70: + latency-ms: 34.0 + node-73: + latency-ms: 5.0 + node-78: + latency-ms: 25.0 + node-79: + latency-ms: 43.0 + node-80: + latency-ms: 50.0 + node-89: + latency-ms: 27.0 + node-95: + latency-ms: 51.0 + node-97: + latency-ms: 45.0 + node-158: + location: + - 34.26844950587602 + - 40.75492582806285 + producers: + node-105: + latency-ms: 44.0 + node-149: + latency-ms: 2.0 + node-164: + latency-ms: 12.0 + node-18: + latency-ms: 46.0 + node-181: + latency-ms: 15.0 + node-182: + latency-ms: 22.0 + node-196: + latency-ms: 25.0 + node-24: + latency-ms: 30.0 + node-26: + latency-ms: 25.0 + node-28: + latency-ms: 0.0 + node-31: + latency-ms: 14.0 + node-38: + latency-ms: 10.0 + node-42: + latency-ms: 2.0 + node-51: + latency-ms: 0.0 + node-55: + latency-ms: 24.0 + node-69: + latency-ms: 10.0 + node-77: + latency-ms: 26.0 + node-8: + latency-ms: 9.0 + node-88: + latency-ms: 21.0 + node-9: + latency-ms: 1.0 + node-90: + latency-ms: 13.0 + node-93: + latency-ms: 0.0 + node-159: + location: + - 18.191207826997164 + - 131.94787721363596 + producers: + node-107: + latency-ms: 12.0 + node-149: + latency-ms: 40.0 + node-160: + latency-ms: 12.0 + node-165: + latency-ms: 0.0 + node-173: + latency-ms: 41.0 + node-178: + latency-ms: 1.0 + node-193: + latency-ms: 25.0 + node-196: + latency-ms: 25.0 + node-198: + latency-ms: 24.0 + node-199: + latency-ms: 0.0 + node-32: + latency-ms: 27.0 + node-4: + latency-ms: 1.0 + node-40: + latency-ms: 22.0 + node-41: + latency-ms: 27.0 + node-5: + latency-ms: 56.0 + node-60: + latency-ms: 14.0 + node-64: + latency-ms: 23.0 + node-67: + latency-ms: 2.0 + node-73: + latency-ms: 23.0 + node-74: + latency-ms: 3.0 + node-78: + latency-ms: 33.0 + node-89: + latency-ms: 3.0 + node-16: + stake: 30768634644 + location: + - 18.75235272257453 + - 128.1004753752174 + producers: + node-107: + latency-ms: 12.0 + node-109: + latency-ms: 2.0 + node-113: + latency-ms: 3.0 + node-115: + latency-ms: 21.0 + node-118: + latency-ms: 6.0 + node-129: + latency-ms: 3.0 + node-131: + latency-ms: 29.0 + node-136: + latency-ms: 27.0 + node-140: + latency-ms: 19.0 + node-144: + latency-ms: 16.0 + node-157: + latency-ms: 25.0 + node-161: + latency-ms: 12.0 + node-171: + latency-ms: 1.0 + node-172: + latency-ms: 12.0 + node-178: + latency-ms: 0.0 + node-179: + latency-ms: 5.0 + node-184: + latency-ms: 25.0 + node-199: + latency-ms: 2.0 + node-160: + location: + - 0.35876887912116096 + - 148.12842302441135 + producers: + node-10: + latency-ms: 41.0 + node-13: + latency-ms: 3.0 + node-159: + latency-ms: 12.0 + node-161: + latency-ms: 3.0 + node-162: + latency-ms: 35.0 + node-167: + latency-ms: 5.0 + node-174: + latency-ms: 37.0 + node-175: + latency-ms: 21.0 + node-180: + latency-ms: 50.0 + node-184: + latency-ms: 38.0 + node-185: + latency-ms: 28.0 + node-193: + latency-ms: 37.0 + node-199: + latency-ms: 12.0 + node-30: + latency-ms: 12.0 + node-34: + latency-ms: 11.0 + node-43: + latency-ms: 11.0 + node-5: + latency-ms: 65.0 + node-51: + latency-ms: 55.0 + node-62: + latency-ms: 38.0 + node-66: + latency-ms: 1.0 + node-83: + latency-ms: 4.0 + node-86: + latency-ms: 53.0 + node-96: + latency-ms: 36.0 + node-98: + latency-ms: 54.0 + node-161: + location: + - 6.551302504638038 + - 147.94989612347106 + producers: + node-105: + latency-ms: 14.0 + node-13: + latency-ms: 2.0 + node-16: + latency-ms: 12.0 + node-160: + latency-ms: 3.0 + node-165: + latency-ms: 10.0 + node-167: + latency-ms: 3.0 + node-169: + latency-ms: 34.0 + node-170: + latency-ms: 16.0 + node-172: + latency-ms: 17.0 + node-175: + latency-ms: 18.0 + node-178: + latency-ms: 11.0 + node-191: + latency-ms: 33.0 + node-198: + latency-ms: 34.0 + node-199: + latency-ms: 10.0 + node-29: + latency-ms: 19.0 + node-36: + latency-ms: 32.0 + node-4: + latency-ms: 11.0 + node-47: + latency-ms: 12.0 + node-62: + latency-ms: 35.0 + node-63: + latency-ms: 35.0 + node-66: + latency-ms: 3.0 + node-79: + latency-ms: 44.0 + node-83: + latency-ms: 2.0 + node-162: + location: + - 48.68754745776129 + - 96.61415438566705 + producers: + node-0: + latency-ms: 18.0 + node-1: + latency-ms: 4.0 + node-15: + latency-ms: 3.0 + node-160: + latency-ms: 35.0 + node-17: + latency-ms: 18.0 + node-24: + latency-ms: 37.0 + node-27: + latency-ms: 1.0 + node-29: + latency-ms: 24.0 + node-33: + latency-ms: 2.0 + node-36: + latency-ms: 3.0 + node-38: + latency-ms: 19.0 + node-39: + latency-ms: 4.0 + node-40: + latency-ms: 2.0 + node-44: + latency-ms: 7.0 + node-45: + latency-ms: 2.0 + node-49: + latency-ms: 21.0 + node-52: + latency-ms: 39.0 + node-53: + latency-ms: 2.0 + node-55: + latency-ms: 6.0 + node-59: + latency-ms: 5.0 + node-6: + latency-ms: 5.0 + node-64: + latency-ms: 0.0 + node-68: + latency-ms: 22.0 + node-72: + latency-ms: 38.0 + node-75: + latency-ms: 1.0 + node-76: + latency-ms: 2.0 + node-82: + latency-ms: 1.0 + node-86: + latency-ms: 39.0 + node-88: + latency-ms: 14.0 + node-91: + latency-ms: 2.0 + node-94: + latency-ms: 1.0 + node-95: + latency-ms: 8.0 + node-97: + latency-ms: 1.0 + node-98: + latency-ms: 19.0 + node-163: + location: + - 63.747364669475004 + - 33.16541666883417 + producers: + node-151: + latency-ms: 31.0 + node-181: + latency-ms: 1.0 + node-26: + latency-ms: 15.0 + node-31: + latency-ms: 1.0 + node-34: + latency-ms: 65.0 + node-35: + latency-ms: 0.0 + node-38: + latency-ms: 5.0 + node-42: + latency-ms: 13.0 + node-51: + latency-ms: 16.0 + node-67: + latency-ms: 39.0 + node-77: + latency-ms: 10.0 + node-81: + latency-ms: 19.0 + node-82: + latency-ms: 18.0 + node-85: + latency-ms: 9.0 + node-88: + latency-ms: 7.0 + node-94: + latency-ms: 18.0 + node-98: + latency-ms: 3.0 + node-164: + location: + - 58.18328271629785 + - 37.73064974661846 + producers: + node-11: + latency-ms: 39.0 + node-118: + latency-ms: 34.0 + node-158: + latency-ms: 12.0 + node-28: + latency-ms: 12.0 + node-31: + latency-ms: 2.0 + node-32: + latency-ms: 14.0 + node-34: + latency-ms: 64.0 + node-38: + latency-ms: 2.0 + node-42: + latency-ms: 10.0 + node-57: + latency-ms: 22.0 + node-58: + latency-ms: 13.0 + node-66: + latency-ms: 53.0 + node-69: + latency-ms: 22.0 + node-7: + latency-ms: 14.0 + node-70: + latency-ms: 38.0 + node-74: + latency-ms: 38.0 + node-77: + latency-ms: 13.0 + node-83: + latency-ms: 49.0 + node-98: + latency-ms: 0.0 + node-99: + latency-ms: 13.0 + node-165: + location: + - 18.65930753585654 + - 132.2810111328846 + producers: + node-0: + latency-ms: 4.0 + node-11: + latency-ms: 15.0 + node-113: + latency-ms: 2.0 + node-126: + latency-ms: 14.0 + node-13: + latency-ms: 9.0 + node-159: + latency-ms: 0.0 + node-161: + latency-ms: 10.0 + node-17: + latency-ms: 9.0 + node-183: + latency-ms: 25.0 + node-199: + latency-ms: 1.0 + node-29: + latency-ms: 17.0 + node-30: + latency-ms: 24.0 + node-37: + latency-ms: 23.0 + node-4: + latency-ms: 1.0 + node-44: + latency-ms: 29.0 + node-67: + latency-ms: 2.0 + node-75: + latency-ms: 21.0 + node-83: + latency-ms: 8.0 + node-84: + latency-ms: 14.0 + node-166: + location: + - 58.341591960550566 + - 60.71510967266049 + producers: + node-118: + latency-ms: 27.0 + node-168: + latency-ms: 12.0 + node-174: + latency-ms: 10.0 + node-181: + latency-ms: 7.0 + node-182: + latency-ms: 9.0 + node-27: + latency-ms: 13.0 + node-31: + latency-ms: 6.0 + node-35: + latency-ms: 7.0 + node-41: + latency-ms: 7.0 + node-42: + latency-ms: 12.0 + node-50: + latency-ms: 8.0 + node-58: + latency-ms: 7.0 + node-6: + latency-ms: 8.0 + node-61: + latency-ms: 40.0 + node-69: + latency-ms: 24.0 + node-71: + latency-ms: 13.0 + node-85: + latency-ms: 13.0 + node-88: + latency-ms: 7.0 + node-9: + latency-ms: 13.0 + node-93: + latency-ms: 15.0 + node-167: + location: + - 9.066331733079343 + - 141.45035475472923 + producers: + node-104: + latency-ms: 0.0 + node-113: + latency-ms: 9.0 + node-123: + latency-ms: 2.0 + node-151: + latency-ms: 43.0 + node-160: + latency-ms: 5.0 + node-161: + latency-ms: 3.0 + node-17: + latency-ms: 13.0 + node-191: + latency-ms: 30.0 + node-194: + latency-ms: 30.0 + node-21: + latency-ms: 27.0 + node-28: + latency-ms: 49.0 + node-30: + latency-ms: 18.0 + node-31: + latency-ms: 47.0 + node-42: + latency-ms: 50.0 + node-47: + latency-ms: 15.0 + node-66: + latency-ms: 5.0 + node-74: + latency-ms: 10.0 + node-79: + latency-ms: 41.0 + node-8: + latency-ms: 54.0 + node-83: + latency-ms: 1.0 + node-84: + latency-ms: 15.0 + node-168: + location: + - 53.32382554352548 + - 100.03325290300764 + producers: + node-1: + latency-ms: 2.0 + node-10: + latency-ms: 6.0 + node-166: + latency-ms: 12.0 + node-2: + latency-ms: 5.0 + node-21: + latency-ms: 2.0 + node-26: + latency-ms: 6.0 + node-28: + latency-ms: 23.0 + node-3: + latency-ms: 0.0 + node-32: + latency-ms: 4.0 + node-37: + latency-ms: 2.0 + node-42: + latency-ms: 23.0 + node-45: + latency-ms: 5.0 + node-51: + latency-ms: 24.0 + node-53: + latency-ms: 0.0 + node-64: + latency-ms: 2.0 + node-65: + latency-ms: 6.0 + node-71: + latency-ms: 6.0 + node-73: + latency-ms: 46.0 + node-75: + latency-ms: 1.0 + node-76: + latency-ms: 1.0 + node-81: + latency-ms: 0.0 + node-82: + latency-ms: 1.0 + node-85: + latency-ms: 19.0 + node-89: + latency-ms: 20.0 + node-91: + latency-ms: 0.0 + node-97: + latency-ms: 3.0 + node-169: + location: + - 44.036047105355344 + - 88.9348378844395 + producers: + node-11: + latency-ms: 27.0 + node-149: + latency-ms: 17.0 + node-15: + latency-ms: 0.0 + node-161: + latency-ms: 34.0 + node-24: + latency-ms: 34.0 + node-26: + latency-ms: 12.0 + node-3: + latency-ms: 6.0 + node-32: + latency-ms: 8.0 + node-40: + latency-ms: 1.0 + node-44: + latency-ms: 9.0 + node-46: + latency-ms: 41.0 + node-5: + latency-ms: 38.0 + node-54: + latency-ms: 2.0 + node-58: + latency-ms: 6.0 + node-62: + latency-ms: 3.0 + node-71: + latency-ms: 1.0 + node-82: + latency-ms: 4.0 + node-90: + latency-ms: 32.0 + node-91: + latency-ms: 6.0 + node-94: + latency-ms: 4.0 + node-97: + latency-ms: 3.0 + node-99: + latency-ms: 5.0 + node-17: + stake: 55333801264 + location: + - 34.88450142759759 + - 139.08894929751472 + producers: + node-105: + latency-ms: 3.0 + node-109: + latency-ms: 10.0 + node-112: + latency-ms: 22.0 + node-113: + latency-ms: 6.0 + node-117: + latency-ms: 22.0 + node-119: + latency-ms: 9.0 + node-121: + latency-ms: 29.0 + node-130: + latency-ms: 18.0 + node-138: + latency-ms: 19.0 + node-146: + latency-ms: 17.0 + node-162: + latency-ms: 18.0 + node-165: + latency-ms: 9.0 + node-167: + latency-ms: 13.0 + node-171: + latency-ms: 9.0 + node-184: + latency-ms: 20.0 + node-188: + latency-ms: 20.0 + node-196: + latency-ms: 19.0 + node-199: + latency-ms: 10.0 + node-170: + location: + - -23.43974479328716 + - 154.68838500946546 + producers: + node-110: + latency-ms: 44.0 + node-123: + latency-ms: 15.0 + node-136: + latency-ms: 0.0 + node-161: + latency-ms: 16.0 + node-178: + latency-ms: 25.0 + node-182: + latency-ms: 50.0 + node-195: + latency-ms: 46.0 + node-199: + latency-ms: 24.0 + node-25: + latency-ms: 0.0 + node-26: + latency-ms: 52.0 + node-30: + latency-ms: 0.0 + node-34: + latency-ms: 2.0 + node-4: + latency-ms: 26.0 + node-43: + latency-ms: 1.0 + node-47: + latency-ms: 3.0 + node-49: + latency-ms: 33.0 + node-52: + latency-ms: 56.0 + node-65: + latency-ms: 45.0 + node-66: + latency-ms: 13.0 + node-75: + latency-ms: 46.0 + node-90: + latency-ms: 67.0 + node-171: + location: + - 20.587034257450686 + - 127.27899647679523 + producers: + node-0: + latency-ms: 1.0 + node-107: + latency-ms: 12.0 + node-110: + latency-ms: 38.0 + node-16: + latency-ms: 1.0 + node-17: + latency-ms: 9.0 + node-178: + latency-ms: 1.0 + node-2: + latency-ms: 17.0 + node-29: + latency-ms: 18.0 + node-32: + latency-ms: 25.0 + node-38: + latency-ms: 39.0 + node-42: + latency-ms: 40.0 + node-54: + latency-ms: 20.0 + node-55: + latency-ms: 23.0 + node-60: + latency-ms: 15.0 + node-66: + latency-ms: 14.0 + node-67: + latency-ms: 3.0 + node-74: + latency-ms: 1.0 + node-88: + latency-ms: 33.0 + node-89: + latency-ms: 0.0 + node-172: + location: + - 38.27027066933438 + - 141.8510878680142 + producers: + node-10: + latency-ms: 21.0 + node-105: + latency-ms: 3.0 + node-107: + latency-ms: 0.0 + node-109: + latency-ms: 12.0 + node-11: + latency-ms: 6.0 + node-12: + latency-ms: 13.0 + node-128: + latency-ms: 43.0 + node-149: + latency-ms: 38.0 + node-16: + latency-ms: 12.0 + node-161: + latency-ms: 17.0 + node-174: + latency-ms: 18.0 + node-176: + latency-ms: 20.0 + node-18: + latency-ms: 5.0 + node-180: + latency-ms: 59.0 + node-192: + latency-ms: 46.0 + node-196: + latency-ms: 18.0 + node-198: + latency-ms: 17.0 + node-199: + latency-ms: 12.0 + node-22: + latency-ms: 20.0 + node-26: + latency-ms: 19.0 + node-28: + latency-ms: 40.0 + node-49: + latency-ms: 4.0 + node-60: + latency-ms: 4.0 + node-8: + latency-ms: 48.0 + node-173: + location: + - 57.96665777422314 + - 38.12287011076056 + producers: + node-113: + latency-ms: 38.0 + node-14: + latency-ms: 15.0 + node-149: + latency-ms: 11.0 + node-159: + latency-ms: 41.0 + node-28: + latency-ms: 12.0 + node-33: + latency-ms: 19.0 + node-34: + latency-ms: 64.0 + node-35: + latency-ms: 3.0 + node-38: + latency-ms: 2.0 + node-44: + latency-ms: 12.0 + node-57: + latency-ms: 22.0 + node-61: + latency-ms: 41.0 + node-7: + latency-ms: 14.0 + node-81: + latency-ms: 18.0 + node-83: + latency-ms: 49.0 + node-84: + latency-ms: 38.0 + node-87: + latency-ms: 36.0 + node-98: + latency-ms: 0.0 + node-174: + location: + - 60.36225463625945 + - 99.85566088603946 + producers: + node-10: + latency-ms: 3.0 + node-111: + latency-ms: 8.0 + node-126: + latency-ms: 40.0 + node-15: + latency-ms: 9.0 + node-160: + latency-ms: 37.0 + node-166: + latency-ms: 10.0 + node-172: + latency-ms: 18.0 + node-19: + latency-ms: 1.0 + node-2: + latency-ms: 8.0 + node-22: + latency-ms: 2.0 + node-26: + latency-ms: 2.0 + node-3: + latency-ms: 3.0 + node-30: + latency-ms: 50.0 + node-37: + latency-ms: 2.0 + node-38: + latency-ms: 18.0 + node-39: + latency-ms: 11.0 + node-4: + latency-ms: 24.0 + node-40: + latency-ms: 8.0 + node-45: + latency-ms: 8.0 + node-50: + latency-ms: 4.0 + node-54: + latency-ms: 7.0 + node-55: + latency-ms: 0.0 + node-58: + latency-ms: 4.0 + node-6: + latency-ms: 2.0 + node-62: + latency-ms: 6.0 + node-75: + latency-ms: 5.0 + node-81: + latency-ms: 3.0 + node-82: + latency-ms: 4.0 + node-89: + latency-ms: 23.0 + node-95: + latency-ms: 2.0 + node-175: + location: + - 38.7454159754805 + - 160.4298263892766 + producers: + node-107: + latency-ms: 7.0 + node-11: + latency-ms: 1.0 + node-124: + latency-ms: 2.0 + node-160: + latency-ms: 21.0 + node-161: + latency-ms: 18.0 + node-178: + latency-ms: 18.0 + node-25: + latency-ms: 33.0 + node-29: + latency-ms: 1.0 + node-4: + latency-ms: 16.0 + node-42: + latency-ms: 46.0 + node-49: + latency-ms: 3.0 + node-57: + latency-ms: 49.0 + node-70: + latency-ms: 0.0 + node-84: + latency-ms: 2.0 + node-87: + latency-ms: 2.0 + node-176: + location: + - 49.53686410152321 + - 91.21344602677566 + producers: + node-118: + latency-ms: 17.0 + node-12: + latency-ms: 16.0 + node-15: + latency-ms: 3.0 + node-172: + latency-ms: 20.0 + node-2: + latency-ms: 4.0 + node-22: + latency-ms: 5.0 + node-26: + latency-ms: 9.0 + node-27: + latency-ms: 3.0 + node-28: + latency-ms: 20.0 + node-29: + latency-ms: 26.0 + node-3: + latency-ms: 3.0 + node-33: + latency-ms: 3.0 + node-38: + latency-ms: 18.0 + node-39: + latency-ms: 4.0 + node-40: + latency-ms: 2.0 + node-45: + latency-ms: 3.0 + node-48: + latency-ms: 1.0 + node-50: + latency-ms: 3.0 + node-51: + latency-ms: 21.0 + node-58: + latency-ms: 3.0 + node-59: + latency-ms: 5.0 + node-64: + latency-ms: 1.0 + node-66: + latency-ms: 36.0 + node-7: + latency-ms: 2.0 + node-86: + latency-ms: 38.0 + node-90: + latency-ms: 33.0 + node-91: + latency-ms: 3.0 + node-92: + latency-ms: 6.0 + node-99: + latency-ms: 3.0 + node-177: + location: + - 60.22805033627879 + - 89.42366919174337 + producers: + node-1: + latency-ms: 2.0 + node-12: + latency-ms: 21.0 + node-149: + latency-ms: 19.0 + node-15: + latency-ms: 8.0 + node-22: + latency-ms: 0.0 + node-24: + latency-ms: 42.0 + node-26: + latency-ms: 4.0 + node-30: + latency-ms: 52.0 + node-32: + latency-ms: 0.0 + node-33: + latency-ms: 8.0 + node-35: + latency-ms: 13.0 + node-39: + latency-ms: 10.0 + node-41: + latency-ms: 0.0 + node-44: + latency-ms: 1.0 + node-50: + latency-ms: 2.0 + node-58: + latency-ms: 2.0 + node-6: + latency-ms: 0.0 + node-64: + latency-ms: 6.0 + node-7: + latency-ms: 3.0 + node-76: + latency-ms: 4.0 + node-77: + latency-ms: 13.0 + node-80: + latency-ms: 1.0 + node-84: + latency-ms: 25.0 + node-90: + latency-ms: 35.0 + node-178: + location: + - 17.469731939493123 + - 129.33267990401276 + producers: + node-0: + latency-ms: 3.0 + node-128: + latency-ms: 30.0 + node-149: + latency-ms: 40.0 + node-156: + latency-ms: 12.0 + node-159: + latency-ms: 1.0 + node-16: + latency-ms: 0.0 + node-161: + latency-ms: 11.0 + node-170: + latency-ms: 25.0 + node-171: + latency-ms: 1.0 + node-175: + latency-ms: 18.0 + node-18: + latency-ms: 15.0 + node-186: + latency-ms: 27.0 + node-199: + latency-ms: 1.0 + node-4: + latency-ms: 2.0 + node-52: + latency-ms: 47.0 + node-54: + latency-ms: 22.0 + node-67: + latency-ms: 3.0 + node-7: + latency-ms: 26.0 + node-70: + latency-ms: 19.0 + node-84: + latency-ms: 15.0 + node-88: + latency-ms: 35.0 + node-93: + latency-ms: 43.0 + node-179: + location: + - 24.485054226224456 + - 119.80879272520114 + producers: + node-0: + latency-ms: 3.0 + node-107: + latency-ms: 12.0 + node-12: + latency-ms: 2.0 + node-13: + latency-ms: 16.0 + node-139: + latency-ms: 31.0 + node-15: + latency-ms: 16.0 + node-16: + latency-ms: 5.0 + node-24: + latency-ms: 35.0 + node-25: + latency-ms: 31.0 + node-49: + latency-ms: 16.0 + node-5: + latency-ms: 50.0 + node-51: + latency-ms: 36.0 + node-56: + latency-ms: 52.0 + node-57: + latency-ms: 33.0 + node-60: + latency-ms: 16.0 + node-67: + latency-ms: 6.0 + node-73: + latency-ms: 30.0 + node-91: + latency-ms: 16.0 + node-92: + latency-ms: 22.0 + node-18: + stake: 96332308021 + location: + - 35.0647680515537 + - 153.73124157894162 + producers: + node-104: + latency-ms: 15.0 + node-109: + latency-ms: 13.0 + node-112: + latency-ms: 25.0 + node-115: + latency-ms: 24.0 + node-118: + latency-ms: 18.0 + node-119: + latency-ms: 4.0 + node-123: + latency-ms: 17.0 + node-124: + latency-ms: 1.0 + node-125: + latency-ms: 29.0 + node-131: + latency-ms: 32.0 + node-139: + latency-ms: 44.0 + node-144: + latency-ms: 2.0 + node-150: + latency-ms: 2.0 + node-153: + latency-ms: 29.0 + node-155: + latency-ms: 3.0 + node-157: + latency-ms: 31.0 + node-158: + latency-ms: 46.0 + node-172: + latency-ms: 5.0 + node-178: + latency-ms: 15.0 + node-181: + latency-ms: 39.0 + node-182: + latency-ms: 24.0 + node-191: + latency-ms: 21.0 + node-195: + latency-ms: 22.0 + node-199: + latency-ms: 14.0 + node-180: + location: + - -37.075899185671524 + - 52.7700632015709 + producers: + node-110: + latency-ms: 12.0 + node-160: + latency-ms: 50.0 + node-172: + latency-ms: 59.0 + node-181: + latency-ms: 53.0 + node-182: + latency-ms: 52.0 + node-183: + latency-ms: 51.0 + node-193: + latency-ms: 54.0 + node-5: + latency-ms: 23.0 + node-52: + latency-ms: 15.0 + node-56: + latency-ms: 25.0 + node-72: + latency-ms: 12.0 + node-73: + latency-ms: 49.0 + node-78: + latency-ms: 19.0 + node-8: + latency-ms: 29.0 + node-86: + latency-ms: 13.0 + node-181: + location: + - 61.78266333613544 + - 31.711311212324503 + producers: + node-10: + latency-ms: 13.0 + node-107: + latency-ms: 34.0 + node-120: + latency-ms: 67.0 + node-121: + latency-ms: 65.0 + node-158: + latency-ms: 15.0 + node-163: + latency-ms: 1.0 + node-166: + latency-ms: 7.0 + node-18: + latency-ms: 39.0 + node-180: + latency-ms: 53.0 + node-21: + latency-ms: 21.0 + node-22: + latency-ms: 14.0 + node-31: + latency-ms: 1.0 + node-35: + latency-ms: 1.0 + node-38: + latency-ms: 4.0 + node-56: + latency-ms: 32.0 + node-77: + latency-ms: 11.0 + node-84: + latency-ms: 38.0 + node-86: + latency-ms: 39.0 + node-88: + latency-ms: 8.0 + node-9: + latency-ms: 14.0 + node-94: + latency-ms: 19.0 + node-98: + latency-ms: 2.0 + node-182: + location: + - 55.10214877710403 + - 92.26991392577239 + producers: + node-1: + latency-ms: 1.0 + node-10: + latency-ms: 4.0 + node-14: + latency-ms: 1.0 + node-158: + latency-ms: 22.0 + node-166: + latency-ms: 9.0 + node-170: + latency-ms: 50.0 + node-18: + latency-ms: 24.0 + node-180: + latency-ms: 52.0 + node-19: + latency-ms: 2.0 + node-2: + latency-ms: 6.0 + node-20: + latency-ms: 1.0 + node-23: + latency-ms: 1.0 + node-32: + latency-ms: 2.0 + node-35: + latency-ms: 16.0 + node-41: + latency-ms: 2.0 + node-42: + latency-ms: 20.0 + node-46: + latency-ms: 47.0 + node-58: + latency-ms: 1.0 + node-59: + latency-ms: 2.0 + node-62: + latency-ms: 2.0 + node-69: + latency-ms: 30.0 + node-7: + latency-ms: 1.0 + node-70: + latency-ms: 25.0 + node-75: + latency-ms: 4.0 + node-76: + latency-ms: 1.0 + node-80: + latency-ms: 1.0 + node-81: + latency-ms: 3.0 + node-88: + latency-ms: 10.0 + node-96: + latency-ms: 1.0 + node-97: + latency-ms: 5.0 + node-98: + latency-ms: 15.0 + node-99: + latency-ms: 2.0 + node-183: + location: + - 53.946050996554774 + - 88.96204775957167 + producers: + node-1: + latency-ms: 2.0 + node-111: + latency-ms: 9.0 + node-128: + latency-ms: 45.0 + node-14: + latency-ms: 0.0 + node-165: + latency-ms: 25.0 + node-180: + latency-ms: 51.0 + node-19: + latency-ms: 3.0 + node-20: + latency-ms: 2.0 + node-21: + latency-ms: 5.0 + node-22: + latency-ms: 3.0 + node-3: + latency-ms: 3.0 + node-36: + latency-ms: 4.0 + node-37: + latency-ms: 4.0 + node-4: + latency-ms: 25.0 + node-40: + latency-ms: 4.0 + node-41: + latency-ms: 2.0 + node-46: + latency-ms: 46.0 + node-47: + latency-ms: 47.0 + node-48: + latency-ms: 0.0 + node-50: + latency-ms: 0.0 + node-54: + latency-ms: 4.0 + node-55: + latency-ms: 4.0 + node-56: + latency-ms: 40.0 + node-58: + latency-ms: 1.0 + node-60: + latency-ms: 24.0 + node-66: + latency-ms: 38.0 + node-7: + latency-ms: 0.0 + node-71: + latency-ms: 6.0 + node-78: + latency-ms: 47.0 + node-79: + latency-ms: 36.0 + node-80: + latency-ms: 2.0 + node-84: + latency-ms: 25.0 + node-85: + latency-ms: 18.0 + node-92: + latency-ms: 4.0 + node-97: + latency-ms: 5.0 + node-99: + latency-ms: 1.0 + node-184: + location: + - 60.46365482420094 + - 95.59090407530117 + producers: + node-0: + latency-ms: 22.0 + node-1: + latency-ms: 1.0 + node-16: + latency-ms: 25.0 + node-160: + latency-ms: 38.0 + node-17: + latency-ms: 20.0 + node-20: + latency-ms: 1.0 + node-23: + latency-ms: 1.0 + node-26: + latency-ms: 3.0 + node-27: + latency-ms: 6.0 + node-3: + latency-ms: 3.0 + node-36: + latency-ms: 3.0 + node-41: + latency-ms: 1.0 + node-42: + latency-ms: 21.0 + node-48: + latency-ms: 4.0 + node-5: + latency-ms: 43.0 + node-51: + latency-ms: 23.0 + node-55: + latency-ms: 1.0 + node-58: + latency-ms: 3.0 + node-62: + latency-ms: 5.0 + node-63: + latency-ms: 0.0 + node-64: + latency-ms: 6.0 + node-91: + latency-ms: 4.0 + node-92: + latency-ms: 0.0 + node-94: + latency-ms: 4.0 + node-95: + latency-ms: 3.0 + node-96: + latency-ms: 3.0 + node-99: + latency-ms: 4.0 + node-185: + location: + - -29.83835677974909 + - 102.53539121314844 + producers: + node-0: + latency-ms: 31.0 + node-12: + latency-ms: 30.0 + node-120: + latency-ms: 27.0 + node-139: + latency-ms: 1.0 + node-14: + latency-ms: 45.0 + node-160: + latency-ms: 28.0 + node-186: + latency-ms: 46.0 + node-187: + latency-ms: 48.0 + node-188: + latency-ms: 47.0 + node-189: + latency-ms: 48.0 + node-191: + latency-ms: 47.0 + node-192: + latency-ms: 19.0 + node-193: + latency-ms: 46.0 + node-194: + latency-ms: 1.0 + node-196: + latency-ms: 49.0 + node-197: + latency-ms: 43.0 + node-199: + latency-ms: 29.0 + node-25: + latency-ms: 25.0 + node-46: + latency-ms: 1.0 + node-51: + latency-ms: 46.0 + node-78: + latency-ms: 3.0 + node-79: + latency-ms: 20.0 + node-97: + latency-ms: 40.0 + node-186: + location: + - 54.48050962387465 + - 82.60130911237495 + producers: + node-1: + latency-ms: 4.0 + node-12: + latency-ms: 20.0 + node-124: + latency-ms: 27.0 + node-178: + latency-ms: 27.0 + node-185: + latency-ms: 46.0 + node-19: + latency-ms: 4.0 + node-20: + latency-ms: 4.0 + node-22: + latency-ms: 3.0 + node-24: + latency-ms: 38.0 + node-27: + latency-ms: 6.0 + node-35: + latency-ms: 14.0 + node-4: + latency-ms: 27.0 + node-41: + latency-ms: 3.0 + node-44: + latency-ms: 4.0 + node-45: + latency-ms: 7.0 + node-48: + latency-ms: 2.0 + node-50: + latency-ms: 1.0 + node-53: + latency-ms: 5.0 + node-57: + latency-ms: 23.0 + node-58: + latency-ms: 1.0 + node-59: + latency-ms: 4.0 + node-6: + latency-ms: 3.0 + node-60: + latency-ms: 26.0 + node-62: + latency-ms: 2.0 + node-69: + latency-ms: 27.0 + node-7: + latency-ms: 1.0 + node-86: + latency-ms: 38.0 + node-91: + latency-ms: 5.0 + node-92: + latency-ms: 5.0 + node-94: + latency-ms: 4.0 + node-96: + latency-ms: 4.0 + node-98: + latency-ms: 13.0 + node-99: + latency-ms: 0.0 + node-187: + location: + - 59.671024147900795 + - 95.77616132973624 + producers: + node-1: + latency-ms: 1.0 + node-185: + latency-ms: 48.0 + node-19: + latency-ms: 0.0 + node-20: + latency-ms: 0.0 + node-22: + latency-ms: 1.0 + node-26: + latency-ms: 3.0 + node-36: + latency-ms: 2.0 + node-37: + latency-ms: 2.0 + node-40: + latency-ms: 7.0 + node-45: + latency-ms: 8.0 + node-48: + latency-ms: 4.0 + node-53: + latency-ms: 3.0 + node-55: + latency-ms: 1.0 + node-56: + latency-ms: 43.0 + node-59: + latency-ms: 0.0 + node-6: + latency-ms: 1.0 + node-63: + latency-ms: 0.0 + node-64: + latency-ms: 5.0 + node-65: + latency-ms: 10.0 + node-75: + latency-ms: 5.0 + node-76: + latency-ms: 3.0 + node-80: + latency-ms: 1.0 + node-81: + latency-ms: 3.0 + node-85: + latency-ms: 15.0 + node-91: + latency-ms: 4.0 + node-93: + latency-ms: 23.0 + node-95: + latency-ms: 3.0 + node-96: + latency-ms: 3.0 + node-97: + latency-ms: 7.0 + node-99: + latency-ms: 4.0 + node-188: + location: + - 57.647437653763085 + - 94.34556624403785 + producers: + node-0: + latency-ms: 21.0 + node-1: + latency-ms: 0.0 + node-10: + latency-ms: 3.0 + node-14: + latency-ms: 2.0 + node-17: + latency-ms: 20.0 + node-185: + latency-ms: 47.0 + node-19: + latency-ms: 0.0 + node-20: + latency-ms: 0.0 + node-22: + latency-ms: 1.0 + node-23: + latency-ms: 0.0 + node-24: + latency-ms: 41.0 + node-32: + latency-ms: 1.0 + node-37: + latency-ms: 2.0 + node-40: + latency-ms: 6.0 + node-41: + latency-ms: 1.0 + node-43: + latency-ms: 49.0 + node-47: + latency-ms: 47.0 + node-5: + latency-ms: 42.0 + node-50: + latency-ms: 2.0 + node-55: + latency-ms: 2.0 + node-6: + latency-ms: 1.0 + node-61: + latency-ms: 42.0 + node-63: + latency-ms: 2.0 + node-68: + latency-ms: 23.0 + node-70: + latency-ms: 24.0 + node-77: + latency-ms: 14.0 + node-80: + latency-ms: 0.0 + node-93: + latency-ms: 23.0 + node-96: + latency-ms: 1.0 + node-99: + latency-ms: 3.0 + node-189: + location: + - 60.557344106866836 + - 100.83938452772864 + producers: + node-11: + latency-ms: 23.0 + node-185: + latency-ms: 48.0 + node-19: + latency-ms: 2.0 + node-21: + latency-ms: 6.0 + node-22: + latency-ms: 2.0 + node-27: + latency-ms: 6.0 + node-33: + latency-ms: 8.0 + node-35: + latency-ms: 16.0 + node-37: + latency-ms: 2.0 + node-50: + latency-ms: 4.0 + node-53: + latency-ms: 3.0 + node-54: + latency-ms: 7.0 + node-55: + latency-ms: 0.0 + node-56: + latency-ms: 45.0 + node-57: + latency-ms: 29.0 + node-58: + latency-ms: 4.0 + node-67: + latency-ms: 23.0 + node-77: + latency-ms: 13.0 + node-80: + latency-ms: 2.0 + node-89: + latency-ms: 23.0 + node-97: + latency-ms: 7.0 + node-98: + latency-ms: 16.0 + node-99: + latency-ms: 5.0 + node-19: + stake: 162902719332 + location: + - 58.9947860806269 + - 93.95801249407637 + producers: + node-100: + latency-ms: 1.0 + node-101: + latency-ms: 1.0 + node-102: + latency-ms: 8.0 + node-108: + latency-ms: 16.0 + node-117: + latency-ms: 7.0 + node-122: + latency-ms: 1.0 + node-124: + latency-ms: 23.0 + node-129: + latency-ms: 23.0 + node-130: + latency-ms: 2.0 + node-174: + latency-ms: 1.0 + node-182: + latency-ms: 2.0 + node-183: + latency-ms: 3.0 + node-186: + latency-ms: 4.0 + node-187: + latency-ms: 0.0 + node-188: + latency-ms: 0.0 + node-189: + latency-ms: 2.0 + node-191: + latency-ms: 3.0 + node-193: + latency-ms: 1.0 + node-190: + location: + - 59.05601674181214 + - 41.2742742374935 + producers: + node-105: + latency-ms: 37.0 + node-24: + latency-ms: 41.0 + node-3: + latency-ms: 17.0 + node-31: + latency-ms: 1.0 + node-35: + latency-ms: 3.0 + node-38: + latency-ms: 3.0 + node-39: + latency-ms: 19.0 + node-49: + latency-ms: 35.0 + node-56: + latency-ms: 32.0 + node-57: + latency-ms: 22.0 + node-59: + latency-ms: 14.0 + node-63: + latency-ms: 14.0 + node-65: + latency-ms: 20.0 + node-70: + latency-ms: 37.0 + node-72: + latency-ms: 41.0 + node-93: + latency-ms: 13.0 + node-98: + latency-ms: 1.0 + node-191: + location: + - 58.6102023334111 + - 105.02410542204734 + producers: + node-111: + latency-ms: 10.0 + node-161: + latency-ms: 33.0 + node-167: + latency-ms: 30.0 + node-18: + latency-ms: 21.0 + node-185: + latency-ms: 47.0 + node-19: + latency-ms: 3.0 + node-21: + latency-ms: 5.0 + node-26: + latency-ms: 3.0 + node-27: + latency-ms: 5.0 + node-37: + latency-ms: 1.0 + node-39: + latency-ms: 10.0 + node-41: + latency-ms: 4.0 + node-5: + latency-ms: 45.0 + node-50: + latency-ms: 5.0 + node-51: + latency-ms: 25.0 + node-52: + latency-ms: 44.0 + node-53: + latency-ms: 3.0 + node-55: + latency-ms: 1.0 + node-59: + latency-ms: 2.0 + node-6: + latency-ms: 4.0 + node-64: + latency-ms: 5.0 + node-7: + latency-ms: 5.0 + node-75: + latency-ms: 5.0 + node-77: + latency-ms: 15.0 + node-79: + latency-ms: 41.0 + node-80: + latency-ms: 3.0 + node-89: + latency-ms: 21.0 + node-90: + latency-ms: 38.0 + node-94: + latency-ms: 4.0 + node-95: + latency-ms: 3.0 + node-96: + latency-ms: 3.0 + node-97: + latency-ms: 6.0 + node-192: + location: + - -14.916660384980437 + - 67.49701445552341 + producers: + node-10: + latency-ms: 43.0 + node-110: + latency-ms: 1.0 + node-13: + latency-ms: 41.0 + node-172: + latency-ms: 46.0 + node-185: + latency-ms: 19.0 + node-24: + latency-ms: 0.0 + node-30: + latency-ms: 43.0 + node-32: + latency-ms: 41.0 + node-38: + latency-ms: 39.0 + node-53: + latency-ms: 39.0 + node-61: + latency-ms: 3.0 + node-69: + latency-ms: 22.0 + node-72: + latency-ms: 2.0 + node-77: + latency-ms: 52.0 + node-78: + latency-ms: 17.0 + node-79: + latency-ms: 1.0 + node-83: + latency-ms: 42.0 + node-86: + latency-ms: 10.0 + node-9: + latency-ms: 29.0 + node-93: + latency-ms: 30.0 + node-98: + latency-ms: 41.0 + node-193: + location: + - 57.214372217014 + - 95.06583066659958 + producers: + node-1: + latency-ms: 0.0 + node-10: + latency-ms: 3.0 + node-118: + latency-ms: 19.0 + node-15: + latency-ms: 7.0 + node-159: + latency-ms: 25.0 + node-160: + latency-ms: 37.0 + node-180: + latency-ms: 54.0 + node-185: + latency-ms: 46.0 + node-19: + latency-ms: 1.0 + node-20: + latency-ms: 0.0 + node-23: + latency-ms: 0.0 + node-32: + latency-ms: 1.0 + node-35: + latency-ms: 16.0 + node-36: + latency-ms: 2.0 + node-40: + latency-ms: 6.0 + node-41: + latency-ms: 1.0 + node-43: + latency-ms: 49.0 + node-44: + latency-ms: 3.0 + node-55: + latency-ms: 2.0 + node-59: + latency-ms: 1.0 + node-7: + latency-ms: 3.0 + node-75: + latency-ms: 4.0 + node-78: + latency-ms: 48.0 + node-80: + latency-ms: 0.0 + node-81: + latency-ms: 2.0 + node-82: + latency-ms: 3.0 + node-86: + latency-ms: 42.0 + node-9: + latency-ms: 21.0 + node-91: + latency-ms: 3.0 + node-94: + latency-ms: 3.0 + node-96: + latency-ms: 1.0 + node-99: + latency-ms: 3.0 + node-194: + location: + - -31.73181120809813 + - 99.68309429322173 + producers: + node-11: + latency-ms: 46.0 + node-110: + latency-ms: 18.0 + node-128: + latency-ms: 0.0 + node-167: + latency-ms: 30.0 + node-185: + latency-ms: 1.0 + node-195: + latency-ms: 43.0 + node-196: + latency-ms: 50.0 + node-197: + latency-ms: 44.0 + node-198: + latency-ms: 48.0 + node-199: + latency-ms: 30.0 + node-46: + latency-ms: 1.0 + node-48: + latency-ms: 45.0 + node-5: + latency-ms: 40.0 + node-52: + latency-ms: 29.0 + node-56: + latency-ms: 43.0 + node-78: + latency-ms: 1.0 + node-79: + latency-ms: 19.0 + node-86: + latency-ms: 27.0 + node-88: + latency-ms: 56.0 + node-90: + latency-ms: 42.0 + node-195: + location: + - 48.81001563666805 + - 100.20619818724421 + producers: + node-1: + latency-ms: 4.0 + node-118: + latency-ms: 15.0 + node-12: + latency-ms: 14.0 + node-13: + latency-ms: 30.0 + node-170: + latency-ms: 46.0 + node-18: + latency-ms: 22.0 + node-194: + latency-ms: 43.0 + node-21: + latency-ms: 0.0 + node-26: + latency-ms: 8.0 + node-27: + latency-ms: 0.0 + node-3: + latency-ms: 2.0 + node-32: + latency-ms: 6.0 + node-36: + latency-ms: 3.0 + node-37: + latency-ms: 4.0 + node-51: + latency-ms: 24.0 + node-53: + latency-ms: 2.0 + node-54: + latency-ms: 2.0 + node-56: + latency-ms: 44.0 + node-57: + latency-ms: 26.0 + node-63: + latency-ms: 6.0 + node-65: + latency-ms: 4.0 + node-7: + latency-ms: 5.0 + node-71: + latency-ms: 5.0 + node-75: + latency-ms: 0.0 + node-76: + latency-ms: 2.0 + node-8: + latency-ms: 32.0 + node-82: + latency-ms: 1.0 + node-83: + latency-ms: 29.0 + node-87: + latency-ms: 22.0 + node-96: + latency-ms: 3.0 + node-196: + location: + - 62.09602402916327 + - 103.0205290391534 + producers: + node-107: + latency-ms: 17.0 + node-113: + latency-ms: 23.0 + node-139: + latency-ms: 50.0 + node-14: + latency-ms: 6.0 + node-158: + latency-ms: 25.0 + node-159: + latency-ms: 25.0 + node-17: + latency-ms: 19.0 + node-172: + latency-ms: 18.0 + node-185: + latency-ms: 49.0 + node-194: + latency-ms: 50.0 + node-2: + latency-ms: 9.0 + node-20: + latency-ms: 3.0 + node-24: + latency-ms: 44.0 + node-26: + latency-ms: 1.0 + node-27: + latency-ms: 7.0 + node-36: + latency-ms: 3.0 + node-53: + latency-ms: 4.0 + node-55: + latency-ms: 1.0 + node-58: + latency-ms: 5.0 + node-59: + latency-ms: 2.0 + node-6: + latency-ms: 3.0 + node-71: + latency-ms: 11.0 + node-77: + latency-ms: 13.0 + node-79: + latency-ms: 42.0 + node-82: + latency-ms: 5.0 + node-91: + latency-ms: 5.0 + node-95: + latency-ms: 1.0 + node-197: + location: + - 52.089300840702066 + - 103.68406615383033 + producers: + node-14: + latency-ms: 5.0 + node-155: + latency-ms: 24.0 + node-185: + latency-ms: 43.0 + node-194: + latency-ms: 44.0 + node-198: + latency-ms: 3.0 + node-199: + latency-ms: 22.0 + node-21: + latency-ms: 2.0 + node-27: + latency-ms: 2.0 + node-3: + latency-ms: 1.0 + node-36: + latency-ms: 1.0 + node-40: + latency-ms: 5.0 + node-41: + latency-ms: 5.0 + node-43: + latency-ms: 45.0 + node-57: + latency-ms: 28.0 + node-69: + latency-ms: 33.0 + node-8: + latency-ms: 33.0 + node-81: + latency-ms: 0.0 + node-82: + latency-ms: 2.0 + node-89: + latency-ms: 19.0 + node-94: + latency-ms: 2.0 + node-198: + location: + - 58.8989730347337 + - 100.99233964882757 + producers: + node-110: + latency-ms: 43.0 + node-159: + latency-ms: 24.0 + node-161: + latency-ms: 34.0 + node-172: + latency-ms: 17.0 + node-194: + latency-ms: 48.0 + node-197: + latency-ms: 3.0 + node-26: + latency-ms: 3.0 + node-3: + latency-ms: 3.0 + node-32: + latency-ms: 2.0 + node-33: + latency-ms: 8.0 + node-36: + latency-ms: 1.0 + node-37: + latency-ms: 1.0 + node-41: + latency-ms: 3.0 + node-48: + latency-ms: 4.0 + node-50: + latency-ms: 4.0 + node-54: + latency-ms: 6.0 + node-55: + latency-ms: 0.0 + node-56: + latency-ms: 45.0 + node-58: + latency-ms: 4.0 + node-59: + latency-ms: 1.0 + node-6: + latency-ms: 3.0 + node-70: + latency-ms: 22.0 + node-81: + latency-ms: 2.0 + node-83: + latency-ms: 32.0 + node-90: + latency-ms: 37.0 + node-91: + latency-ms: 3.0 + node-92: + latency-ms: 2.0 + node-94: + latency-ms: 4.0 + node-95: + latency-ms: 3.0 + node-199: + location: + - 16.71065061134041 + - 131.4870350041882 + producers: + node-10: + latency-ms: 29.0 + node-105: + latency-ms: 11.0 + node-159: + latency-ms: 0.0 + node-16: + latency-ms: 2.0 + node-160: + latency-ms: 12.0 + node-161: + latency-ms: 10.0 + node-165: + latency-ms: 1.0 + node-17: + latency-ms: 10.0 + node-170: + latency-ms: 24.0 + node-172: + latency-ms: 12.0 + node-178: + latency-ms: 1.0 + node-18: + latency-ms: 14.0 + node-185: + latency-ms: 29.0 + node-194: + latency-ms: 30.0 + node-197: + latency-ms: 22.0 + node-25: + latency-ms: 24.0 + node-47: + latency-ms: 21.0 + node-66: + latency-ms: 11.0 + node-87: + latency-ms: 19.0 + node-2: + stake: 323 + location: + - 43.86167960402092 + - 98.55251881234163 + producers: + node-101: + latency-ms: 6.0 + node-102: + latency-ms: 1.0 + node-104: + latency-ms: 28.0 + node-106: + latency-ms: 3.0 + node-114: + latency-ms: 7.0 + node-115: + latency-ms: 2.0 + node-116: + latency-ms: 11.0 + node-118: + latency-ms: 13.0 + node-132: + latency-ms: 1.0 + node-135: + latency-ms: 7.0 + node-137: + latency-ms: 2.0 + node-138: + latency-ms: 4.0 + node-140: + latency-ms: 1.0 + node-143: + latency-ms: 2.0 + node-145: + latency-ms: 10.0 + node-147: + latency-ms: 3.0 + node-153: + latency-ms: 7.0 + node-168: + latency-ms: 5.0 + node-171: + latency-ms: 17.0 + node-174: + latency-ms: 8.0 + node-176: + latency-ms: 4.0 + node-182: + latency-ms: 6.0 + node-196: + latency-ms: 9.0 + node-20: + stake: 268358622098 + location: + - 58.64661908019925 + - 93.99773138229826 + producers: + node-100: + latency-ms: 1.0 + node-101: + latency-ms: 1.0 + node-114: + latency-ms: 2.0 + node-122: + latency-ms: 1.0 + node-127: + latency-ms: 5.0 + node-140: + latency-ms: 9.0 + node-145: + latency-ms: 3.0 + node-146: + latency-ms: 3.0 + node-182: + latency-ms: 1.0 + node-183: + latency-ms: 2.0 + node-184: + latency-ms: 1.0 + node-186: + latency-ms: 4.0 + node-187: + latency-ms: 0.0 + node-188: + latency-ms: 0.0 + node-193: + latency-ms: 0.0 + node-196: + latency-ms: 3.0 + node-21: + stake: 431729075643 + location: + - 48.19028687031496 + - 102.48359601471766 + producers: + node-101: + latency-ms: 4.0 + node-104: + latency-ms: 28.0 + node-115: + latency-ms: 3.0 + node-122: + latency-ms: 6.0 + node-132: + latency-ms: 3.0 + node-143: + latency-ms: 4.0 + node-145: + latency-ms: 8.0 + node-146: + latency-ms: 2.0 + node-153: + latency-ms: 7.0 + node-167: + latency-ms: 27.0 + node-168: + latency-ms: 2.0 + node-181: + latency-ms: 21.0 + node-183: + latency-ms: 5.0 + node-189: + latency-ms: 6.0 + node-191: + latency-ms: 5.0 + node-195: + latency-ms: 0.0 + node-197: + latency-ms: 2.0 + node-22: + stake: 679746759145 + location: + - 59.91475949331106 + - 89.76019321504037 + producers: + node-100: + latency-ms: 0.0 + node-106: + latency-ms: 5.0 + node-111: + latency-ms: 6.0 + node-112: + latency-ms: 2.0 + node-127: + latency-ms: 6.0 + node-133: + latency-ms: 0.0 + node-147: + latency-ms: 5.0 + node-150: + latency-ms: 25.0 + node-153: + latency-ms: 5.0 + node-154: + latency-ms: 5.0 + node-172: + latency-ms: 20.0 + node-174: + latency-ms: 2.0 + node-176: + latency-ms: 5.0 + node-177: + latency-ms: 0.0 + node-181: + latency-ms: 14.0 + node-183: + latency-ms: 3.0 + node-186: + latency-ms: 3.0 + node-187: + latency-ms: 1.0 + node-188: + latency-ms: 1.0 + node-189: + latency-ms: 2.0 + node-23: + stake: 1049382485465 + location: + - 56.774915360831756 + - 95.6850343505495 + producers: + node-101: + latency-ms: 0.0 + node-102: + latency-ms: 7.0 + node-108: + latency-ms: 17.0 + node-112: + latency-ms: 4.0 + node-122: + latency-ms: 1.0 + node-130: + latency-ms: 2.0 + node-135: + latency-ms: 2.0 + node-137: + latency-ms: 4.0 + node-146: + latency-ms: 2.0 + node-150: + latency-ms: 23.0 + node-154: + latency-ms: 4.0 + node-182: + latency-ms: 1.0 + node-184: + latency-ms: 1.0 + node-188: + latency-ms: 0.0 + node-193: + latency-ms: 0.0 + node-24: + stake: 1591040250121 + location: + - -16.216620728586932 + - 66.56704048457124 + producers: + node-103: + latency-ms: 32.0 + node-109: + latency-ms: 39.0 + node-110: + latency-ms: 0.0 + node-114: + latency-ms: 39.0 + node-135: + latency-ms: 40.0 + node-138: + latency-ms: 38.0 + node-140: + latency-ms: 34.0 + node-141: + latency-ms: 37.0 + node-156: + latency-ms: 38.0 + node-158: + latency-ms: 30.0 + node-162: + latency-ms: 37.0 + node-169: + latency-ms: 34.0 + node-177: + latency-ms: 42.0 + node-179: + latency-ms: 35.0 + node-186: + latency-ms: 38.0 + node-188: + latency-ms: 41.0 + node-190: + latency-ms: 41.0 + node-192: + latency-ms: 0.0 + node-196: + latency-ms: 44.0 + node-25: + stake: 2372544030277 + location: + - -22.898875764990503 + - 155.5666030918123 + producers: + node-104: + latency-ms: 17.0 + node-109: + latency-ms: 24.0 + node-117: + latency-ms: 50.0 + node-119: + latency-ms: 34.0 + node-120: + latency-ms: 1.0 + node-130: + latency-ms: 50.0 + node-131: + latency-ms: 3.0 + node-134: + latency-ms: 2.0 + node-136: + latency-ms: 1.0 + node-148: + latency-ms: 3.0 + node-156: + latency-ms: 13.0 + node-157: + latency-ms: 2.0 + node-170: + latency-ms: 0.0 + node-175: + latency-ms: 33.0 + node-179: + latency-ms: 31.0 + node-185: + latency-ms: 25.0 + node-199: + latency-ms: 24.0 + node-26: + stake: 3484066214768 + location: + - 65.48680987590298 + - 101.73035201067344 + producers: + node-101: + latency-ms: 4.0 + node-102: + latency-ms: 12.0 + node-108: + latency-ms: 17.0 + node-112: + latency-ms: 3.0 + node-115: + latency-ms: 10.0 + node-122: + latency-ms: 3.0 + node-128: + latency-ms: 51.0 + node-135: + latency-ms: 6.0 + node-154: + latency-ms: 9.0 + node-158: + latency-ms: 25.0 + node-163: + latency-ms: 15.0 + node-168: + latency-ms: 6.0 + node-169: + latency-ms: 12.0 + node-170: + latency-ms: 52.0 + node-172: + latency-ms: 19.0 + node-174: + latency-ms: 2.0 + node-176: + latency-ms: 9.0 + node-177: + latency-ms: 4.0 + node-184: + latency-ms: 3.0 + node-187: + latency-ms: 3.0 + node-191: + latency-ms: 3.0 + node-195: + latency-ms: 8.0 + node-196: + latency-ms: 1.0 + node-198: + latency-ms: 3.0 + node-27: + stake: 5044167905784 + location: + - 48.49955480202856 + - 100.98023130231716 + producers: + node-101: + latency-ms: 4.0 + node-106: + latency-ms: 1.0 + node-107: + latency-ms: 16.0 + node-117: + latency-ms: 5.0 + node-122: + latency-ms: 5.0 + node-127: + latency-ms: 0.0 + node-130: + latency-ms: 6.0 + node-134: + latency-ms: 43.0 + node-138: + latency-ms: 3.0 + node-140: + latency-ms: 4.0 + node-145: + latency-ms: 7.0 + node-146: + latency-ms: 2.0 + node-147: + latency-ms: 1.0 + node-154: + latency-ms: 4.0 + node-162: + latency-ms: 1.0 + node-166: + latency-ms: 13.0 + node-176: + latency-ms: 3.0 + node-184: + latency-ms: 6.0 + node-186: + latency-ms: 6.0 + node-189: + latency-ms: 6.0 + node-191: + latency-ms: 5.0 + node-195: + latency-ms: 0.0 + node-196: + latency-ms: 7.0 + node-197: + latency-ms: 2.0 + node-28: + stake: 7207143459742 + location: + - 35.24919740165077 + - 42.18838106663199 + producers: + node-111: + latency-ms: 19.0 + node-114: + latency-ms: 20.0 + node-116: + latency-ms: 33.0 + node-118: + latency-ms: 34.0 + node-133: + latency-ms: 21.0 + node-135: + latency-ms: 20.0 + node-137: + latency-ms: 21.0 + node-139: + latency-ms: 47.0 + node-140: + latency-ms: 21.0 + node-145: + latency-ms: 24.0 + node-149: + latency-ms: 1.0 + node-153: + latency-ms: 16.0 + node-154: + latency-ms: 19.0 + node-158: + latency-ms: 0.0 + node-164: + latency-ms: 12.0 + node-167: + latency-ms: 49.0 + node-168: + latency-ms: 23.0 + node-172: + latency-ms: 40.0 + node-173: + latency-ms: 12.0 + node-176: + latency-ms: 20.0 + node-29: + stake: 10171885602577 + location: + - 40.69141801881747 + - 161.36408766728366 + producers: + node-105: + latency-ms: 7.0 + node-117: + latency-ms: 28.0 + node-119: + latency-ms: 1.0 + node-124: + latency-ms: 2.0 + node-127: + latency-ms: 23.0 + node-134: + latency-ms: 31.0 + node-140: + latency-ms: 26.0 + node-141: + latency-ms: 26.0 + node-144: + latency-ms: 3.0 + node-150: + latency-ms: 1.0 + node-155: + latency-ms: 4.0 + node-156: + latency-ms: 26.0 + node-157: + latency-ms: 34.0 + node-161: + latency-ms: 19.0 + node-162: + latency-ms: 24.0 + node-165: + latency-ms: 17.0 + node-171: + latency-ms: 18.0 + node-175: + latency-ms: 1.0 + node-176: + latency-ms: 26.0 + node-3: + stake: 7410 + location: + - 53.38108775179904 + - 99.22104953985155 + producers: + node-100: + latency-ms: 5.0 + node-105: + latency-ms: 20.0 + node-106: + latency-ms: 2.0 + node-112: + latency-ms: 6.0 + node-115: + latency-ms: 4.0 + node-116: + latency-ms: 15.0 + node-127: + latency-ms: 2.0 + node-132: + latency-ms: 4.0 + node-133: + latency-ms: 4.0 + node-138: + latency-ms: 2.0 + node-146: + latency-ms: 0.0 + node-147: + latency-ms: 1.0 + node-168: + latency-ms: 0.0 + node-169: + latency-ms: 6.0 + node-174: + latency-ms: 3.0 + node-176: + latency-ms: 3.0 + node-183: + latency-ms: 3.0 + node-184: + latency-ms: 3.0 + node-190: + latency-ms: 17.0 + node-195: + latency-ms: 2.0 + node-197: + latency-ms: 1.0 + node-198: + latency-ms: 3.0 + node-30: + stake: 14192513336820 + location: + - -22.55739615520439 + - 153.9518738979489 + producers: + node-113: + latency-ms: 27.0 + node-120: + latency-ms: 2.0 + node-121: + latency-ms: 3.0 + node-131: + latency-ms: 4.0 + node-134: + latency-ms: 2.0 + node-136: + latency-ms: 1.0 + node-148: + latency-ms: 4.0 + node-153: + latency-ms: 52.0 + node-157: + latency-ms: 1.0 + node-160: + latency-ms: 12.0 + node-165: + latency-ms: 24.0 + node-167: + latency-ms: 18.0 + node-170: + latency-ms: 0.0 + node-174: + latency-ms: 50.0 + node-177: + latency-ms: 52.0 + node-192: + latency-ms: 43.0 + node-31: + stake: 19591032728171 + location: + - 62.10287467022511 + - 39.3729711106536 + producers: + node-106: + latency-ms: 17.0 + node-108: + latency-ms: 4.0 + node-112: + latency-ms: 11.0 + node-129: + latency-ms: 37.0 + node-130: + latency-ms: 15.0 + node-133: + latency-ms: 13.0 + node-135: + latency-ms: 13.0 + node-137: + latency-ms: 18.0 + node-139: + latency-ms: 57.0 + node-143: + latency-ms: 18.0 + node-147: + latency-ms: 17.0 + node-149: + latency-ms: 13.0 + node-152: + latency-ms: 5.0 + node-158: + latency-ms: 14.0 + node-163: + latency-ms: 1.0 + node-164: + latency-ms: 2.0 + node-166: + latency-ms: 6.0 + node-167: + latency-ms: 47.0 + node-181: + latency-ms: 1.0 + node-190: + latency-ms: 1.0 + node-32: + stake: 26772330591242 + location: + - 59.60900400446233 + - 91.53044461408035 + producers: + node-100: + latency-ms: 1.0 + node-101: + latency-ms: 2.0 + node-112: + latency-ms: 2.0 + node-114: + latency-ms: 2.0 + node-130: + latency-ms: 2.0 + node-133: + latency-ms: 0.0 + node-138: + latency-ms: 4.0 + node-144: + latency-ms: 23.0 + node-146: + latency-ms: 4.0 + node-147: + latency-ms: 5.0 + node-152: + latency-ms: 16.0 + node-159: + latency-ms: 27.0 + node-164: + latency-ms: 14.0 + node-168: + latency-ms: 4.0 + node-169: + latency-ms: 8.0 + node-171: + latency-ms: 25.0 + node-177: + latency-ms: 0.0 + node-182: + latency-ms: 2.0 + node-188: + latency-ms: 1.0 + node-192: + latency-ms: 41.0 + node-193: + latency-ms: 1.0 + node-195: + latency-ms: 6.0 + node-198: + latency-ms: 2.0 + node-33: + stake: 36241833161551 + location: + - 44.289213212029296 + - 95.31542312406374 + producers: + node-109: + latency-ms: 22.0 + node-115: + latency-ms: 1.0 + node-127: + latency-ms: 2.0 + node-132: + latency-ms: 0.0 + node-137: + latency-ms: 1.0 + node-139: + latency-ms: 41.0 + node-140: + latency-ms: 1.0 + node-141: + latency-ms: 3.0 + node-143: + latency-ms: 0.0 + node-147: + latency-ms: 3.0 + node-162: + latency-ms: 2.0 + node-173: + latency-ms: 19.0 + node-176: + latency-ms: 3.0 + node-177: + latency-ms: 8.0 + node-189: + latency-ms: 8.0 + node-198: + latency-ms: 8.0 + node-34: + stake: 48626196117250 + location: + - -21.52259687763849 + - 150.89285498632398 + producers: + node-104: + latency-ms: 16.0 + node-106: + latency-ms: 46.0 + node-114: + latency-ms: 49.0 + node-120: + latency-ms: 4.0 + node-121: + latency-ms: 4.0 + node-123: + latency-ms: 14.0 + node-126: + latency-ms: 8.0 + node-128: + latency-ms: 25.0 + node-131: + latency-ms: 5.0 + node-134: + latency-ms: 2.0 + node-136: + latency-ms: 2.0 + node-137: + latency-ms: 45.0 + node-148: + latency-ms: 5.0 + node-156: + latency-ms: 11.0 + node-157: + latency-ms: 1.0 + node-160: + latency-ms: 11.0 + node-163: + latency-ms: 65.0 + node-164: + latency-ms: 64.0 + node-170: + latency-ms: 2.0 + node-173: + latency-ms: 64.0 + node-35: + stake: 64697428873099 + location: + - 64.81468282710108 + - 32.74881902083457 + producers: + node-116: + latency-ms: 33.0 + node-121: + latency-ms: 64.0 + node-135: + latency-ms: 14.0 + node-146: + latency-ms: 18.0 + node-149: + latency-ms: 15.0 + node-151: + latency-ms: 31.0 + node-163: + latency-ms: 0.0 + node-166: + latency-ms: 7.0 + node-173: + latency-ms: 3.0 + node-177: + latency-ms: 13.0 + node-181: + latency-ms: 1.0 + node-182: + latency-ms: 16.0 + node-186: + latency-ms: 14.0 + node-189: + latency-ms: 16.0 + node-190: + latency-ms: 3.0 + node-193: + latency-ms: 16.0 + node-36: + stake: 85400894984486 + location: + - 55.31568359870685 + - 101.9370114892377 + producers: + node-101: + latency-ms: 1.0 + node-112: + latency-ms: 5.0 + node-115: + latency-ms: 5.0 + node-119: + latency-ms: 21.0 + node-125: + latency-ms: 17.0 + node-130: + latency-ms: 2.0 + node-145: + latency-ms: 4.0 + node-147: + latency-ms: 3.0 + node-161: + latency-ms: 32.0 + node-162: + latency-ms: 3.0 + node-183: + latency-ms: 4.0 + node-184: + latency-ms: 3.0 + node-187: + latency-ms: 2.0 + node-193: + latency-ms: 2.0 + node-195: + latency-ms: 3.0 + node-196: + latency-ms: 3.0 + node-197: + latency-ms: 1.0 + node-198: + latency-ms: 1.0 + node-37: + stake: 111887671844529 + location: + - 56.89327278030015 + - 102.80676073498459 + producers: + node-101: + latency-ms: 1.0 + node-102: + latency-ms: 7.0 + node-104: + latency-ms: 31.0 + node-106: + latency-ms: 4.0 + node-115: + latency-ms: 6.0 + node-122: + latency-ms: 1.0 + node-127: + latency-ms: 4.0 + node-130: + latency-ms: 1.0 + node-132: + latency-ms: 6.0 + node-133: + latency-ms: 3.0 + node-146: + latency-ms: 2.0 + node-157: + latency-ms: 48.0 + node-165: + latency-ms: 23.0 + node-168: + latency-ms: 2.0 + node-174: + latency-ms: 2.0 + node-183: + latency-ms: 4.0 + node-187: + latency-ms: 2.0 + node-188: + latency-ms: 2.0 + node-189: + latency-ms: 2.0 + node-191: + latency-ms: 1.0 + node-195: + latency-ms: 4.0 + node-198: + latency-ms: 1.0 + node-38: + stake: 145551796706024 + location: + - 53.48267527878383 + - 36.45183132783051 + producers: + node-106: + latency-ms: 19.0 + node-107: + latency-ms: 36.0 + node-108: + latency-ms: 0.0 + node-111: + latency-ms: 11.0 + node-114: + latency-ms: 16.0 + node-125: + latency-ms: 18.0 + node-127: + latency-ms: 20.0 + node-138: + latency-ms: 18.0 + node-141: + latency-ms: 17.0 + node-150: + latency-ms: 40.0 + node-152: + latency-ms: 0.0 + node-158: + latency-ms: 10.0 + node-162: + latency-ms: 19.0 + node-163: + latency-ms: 5.0 + node-164: + latency-ms: 2.0 + node-171: + latency-ms: 39.0 + node-173: + latency-ms: 2.0 + node-174: + latency-ms: 18.0 + node-176: + latency-ms: 18.0 + node-181: + latency-ms: 4.0 + node-190: + latency-ms: 3.0 + node-192: + latency-ms: 39.0 + node-39: + stake: 188072972485933 + location: + - 40.58146769806294 + - 90.37844245431567 + producers: + node-115: + latency-ms: 2.0 + node-117: + latency-ms: 3.0 + node-125: + latency-ms: 25.0 + node-127: + latency-ms: 5.0 + node-132: + latency-ms: 3.0 + node-135: + latency-ms: 8.0 + node-137: + latency-ms: 4.0 + node-140: + latency-ms: 1.0 + node-141: + latency-ms: 5.0 + node-142: + latency-ms: 0.0 + node-143: + latency-ms: 2.0 + node-147: + latency-ms: 5.0 + node-151: + latency-ms: 22.0 + node-156: + latency-ms: 33.0 + node-162: + latency-ms: 4.0 + node-174: + latency-ms: 11.0 + node-176: + latency-ms: 4.0 + node-177: + latency-ms: 10.0 + node-190: + latency-ms: 19.0 + node-191: + latency-ms: 10.0 + node-4: + stake: 82334 + location: + - 20.677923774355538 + - 132.29949412693009 + producers: + node-103: + latency-ms: 7.0 + node-104: + latency-ms: 8.0 + node-118: + latency-ms: 8.0 + node-129: + latency-ms: 2.0 + node-135: + latency-ms: 25.0 + node-143: + latency-ms: 21.0 + node-145: + latency-ms: 25.0 + node-159: + latency-ms: 1.0 + node-161: + latency-ms: 11.0 + node-165: + latency-ms: 1.0 + node-170: + latency-ms: 26.0 + node-174: + latency-ms: 24.0 + node-175: + latency-ms: 16.0 + node-178: + latency-ms: 2.0 + node-183: + latency-ms: 25.0 + node-186: + latency-ms: 27.0 + node-40: + stake: 241465355886838 + location: + - 45.07712683293185 + - 91.98424487022255 + producers: + node-115: + latency-ms: 0.0 + node-117: + latency-ms: 2.0 + node-124: + latency-ms: 25.0 + node-132: + latency-ms: 1.0 + node-137: + latency-ms: 1.0 + node-140: + latency-ms: 1.0 + node-141: + latency-ms: 2.0 + node-142: + latency-ms: 1.0 + node-143: + latency-ms: 0.0 + node-150: + latency-ms: 25.0 + node-154: + latency-ms: 2.0 + node-156: + latency-ms: 34.0 + node-159: + latency-ms: 22.0 + node-162: + latency-ms: 2.0 + node-169: + latency-ms: 1.0 + node-174: + latency-ms: 8.0 + node-176: + latency-ms: 2.0 + node-183: + latency-ms: 4.0 + node-187: + latency-ms: 7.0 + node-188: + latency-ms: 6.0 + node-193: + latency-ms: 6.0 + node-197: + latency-ms: 5.0 + node-41: + stake: 308133102170950 + location: + - 59.38711460810126 + - 89.42543041952955 + producers: + node-100: + latency-ms: 0.0 + node-101: + latency-ms: 2.0 + node-106: + latency-ms: 5.0 + node-108: + latency-ms: 15.0 + node-111: + latency-ms: 7.0 + node-122: + latency-ms: 2.0 + node-133: + latency-ms: 0.0 + node-135: + latency-ms: 1.0 + node-146: + latency-ms: 4.0 + node-153: + latency-ms: 5.0 + node-154: + latency-ms: 5.0 + node-159: + latency-ms: 27.0 + node-166: + latency-ms: 7.0 + node-177: + latency-ms: 0.0 + node-182: + latency-ms: 2.0 + node-183: + latency-ms: 2.0 + node-184: + latency-ms: 1.0 + node-186: + latency-ms: 3.0 + node-188: + latency-ms: 1.0 + node-191: + latency-ms: 4.0 + node-193: + latency-ms: 1.0 + node-197: + latency-ms: 5.0 + node-198: + latency-ms: 3.0 + node-42: + stake: 390933395521464 + location: + - 38.65498989509632 + - 39.35906637320697 + producers: + node-108: + latency-ms: 8.0 + node-111: + latency-ms: 17.0 + node-113: + latency-ms: 41.0 + node-114: + latency-ms: 20.0 + node-121: + latency-ms: 66.0 + node-130: + latency-ms: 23.0 + node-138: + latency-ms: 20.0 + node-145: + latency-ms: 23.0 + node-148: + latency-ms: 70.0 + node-149: + latency-ms: 3.0 + node-151: + latency-ms: 18.0 + node-152: + latency-ms: 7.0 + node-156: + latency-ms: 53.0 + node-158: + latency-ms: 2.0 + node-163: + latency-ms: 13.0 + node-164: + latency-ms: 10.0 + node-166: + latency-ms: 12.0 + node-167: + latency-ms: 50.0 + node-168: + latency-ms: 23.0 + node-171: + latency-ms: 40.0 + node-175: + latency-ms: 46.0 + node-182: + latency-ms: 20.0 + node-184: + latency-ms: 21.0 + node-43: + stake: 493247751397128 + location: + - -21.369420159912863 + - 152.04568584258013 + producers: + node-104: + latency-ms: 16.0 + node-106: + latency-ms: 46.0 + node-113: + latency-ms: 26.0 + node-120: + latency-ms: 3.0 + node-121: + latency-ms: 3.0 + node-134: + latency-ms: 2.0 + node-136: + latency-ms: 2.0 + node-139: + latency-ms: 24.0 + node-140: + latency-ms: 44.0 + node-141: + latency-ms: 48.0 + node-148: + latency-ms: 5.0 + node-155: + latency-ms: 28.0 + node-156: + latency-ms: 11.0 + node-157: + latency-ms: 1.0 + node-160: + latency-ms: 11.0 + node-170: + latency-ms: 1.0 + node-188: + latency-ms: 49.0 + node-193: + latency-ms: 49.0 + node-197: + latency-ms: 45.0 + node-44: + stake: 619062437701929 + location: + - 61.996080864047784 + - 85.50310800196773 + producers: + node-102: + latency-ms: 10.0 + node-114: + latency-ms: 3.0 + node-125: + latency-ms: 13.0 + node-130: + latency-ms: 4.0 + node-133: + latency-ms: 2.0 + node-135: + latency-ms: 3.0 + node-140: + latency-ms: 11.0 + node-141: + latency-ms: 6.0 + node-154: + latency-ms: 6.0 + node-162: + latency-ms: 7.0 + node-165: + latency-ms: 29.0 + node-169: + latency-ms: 9.0 + node-173: + latency-ms: 12.0 + node-177: + latency-ms: 1.0 + node-186: + latency-ms: 4.0 + node-193: + latency-ms: 3.0 + node-45: + stake: 773058925027429 + location: + - 43.830674345480276 + - 98.16776251799942 + producers: + node-101: + latency-ms: 6.0 + node-102: + latency-ms: 0.0 + node-103: + latency-ms: 15.0 + node-127: + latency-ms: 2.0 + node-132: + latency-ms: 1.0 + node-137: + latency-ms: 2.0 + node-140: + latency-ms: 1.0 + node-141: + latency-ms: 4.0 + node-143: + latency-ms: 2.0 + node-145: + latency-ms: 10.0 + node-162: + latency-ms: 2.0 + node-168: + latency-ms: 5.0 + node-174: + latency-ms: 8.0 + node-176: + latency-ms: 3.0 + node-186: + latency-ms: 7.0 + node-187: + latency-ms: 8.0 + node-46: + stake: 960715342752648 + location: + - -32.245160100201275 + - 103.93497642188427 + producers: + node-102: + latency-ms: 40.0 + node-105: + latency-ms: 40.0 + node-109: + latency-ms: 30.0 + node-116: + latency-ms: 32.0 + node-120: + latency-ms: 26.0 + node-121: + latency-ms: 27.0 + node-128: + latency-ms: 2.0 + node-130: + latency-ms: 49.0 + node-139: + latency-ms: 0.0 + node-148: + latency-ms: 26.0 + node-154: + latency-ms: 44.0 + node-155: + latency-ms: 44.0 + node-169: + latency-ms: 41.0 + node-182: + latency-ms: 47.0 + node-183: + latency-ms: 46.0 + node-185: + latency-ms: 1.0 + node-194: + latency-ms: 1.0 + node-47: + stake: 1188419987481189 + location: + - -17.1253334371208 + - 152.357570546835 + producers: + node-101: + latency-ms: 46.0 + node-120: + latency-ms: 4.0 + node-121: + latency-ms: 2.0 + node-123: + latency-ms: 12.0 + node-126: + latency-ms: 7.0 + node-128: + latency-ms: 27.0 + node-131: + latency-ms: 6.0 + node-134: + latency-ms: 0.0 + node-147: + latency-ms: 44.0 + node-148: + latency-ms: 6.0 + node-157: + latency-ms: 3.0 + node-161: + latency-ms: 12.0 + node-167: + latency-ms: 15.0 + node-170: + latency-ms: 3.0 + node-183: + latency-ms: 47.0 + node-188: + latency-ms: 47.0 + node-199: + latency-ms: 21.0 + node-48: + stake: 1463598003228382 + location: + - 52.85777435642482 + - 89.65109736657577 + producers: + node-101: + latency-ms: 3.0 + node-114: + latency-ms: 1.0 + node-115: + latency-ms: 4.0 + node-118: + latency-ms: 19.0 + node-125: + latency-ms: 18.0 + node-129: + latency-ms: 22.0 + node-135: + latency-ms: 1.0 + node-137: + latency-ms: 3.0 + node-138: + latency-ms: 1.0 + node-140: + latency-ms: 6.0 + node-142: + latency-ms: 5.0 + node-146: + latency-ms: 3.0 + node-157: + latency-ms: 50.0 + node-176: + latency-ms: 1.0 + node-183: + latency-ms: 0.0 + node-184: + latency-ms: 4.0 + node-186: + latency-ms: 2.0 + node-187: + latency-ms: 4.0 + node-194: + latency-ms: 45.0 + node-198: + latency-ms: 4.0 + node-49: + stake: 1794852429019691 + location: + - 39.24103571631854 + - 152.75192695899003 + producers: + node-107: + latency-ms: 4.0 + node-117: + latency-ms: 26.0 + node-119: + latency-ms: 2.0 + node-120: + latency-ms: 32.0 + node-122: + latency-ms: 20.0 + node-124: + latency-ms: 1.0 + node-125: + latency-ms: 27.0 + node-129: + latency-ms: 12.0 + node-136: + latency-ms: 34.0 + node-142: + latency-ms: 25.0 + node-144: + latency-ms: 0.0 + node-150: + latency-ms: 2.0 + node-153: + latency-ms: 27.0 + node-155: + latency-ms: 5.0 + node-157: + latency-ms: 33.0 + node-162: + latency-ms: 21.0 + node-170: + latency-ms: 33.0 + node-172: + latency-ms: 4.0 + node-175: + latency-ms: 3.0 + node-179: + latency-ms: 16.0 + node-190: + latency-ms: 35.0 + node-5: + stake: 579170 + location: + - -0.783040801316913 + - 25.76206593486134 + producers: + node-103: + latency-ms: 49.0 + node-109: + latency-ms: 57.0 + node-111: + latency-ms: 40.0 + node-112: + latency-ms: 42.0 + node-114: + latency-ms: 40.0 + node-127: + latency-ms: 42.0 + node-128: + latency-ms: 40.0 + node-131: + latency-ms: 70.0 + node-139: + latency-ms: 42.0 + node-142: + latency-ms: 38.0 + node-143: + latency-ms: 40.0 + node-145: + latency-ms: 45.0 + node-146: + latency-ms: 43.0 + node-147: + latency-ms: 42.0 + node-152: + latency-ms: 29.0 + node-159: + latency-ms: 56.0 + node-160: + latency-ms: 65.0 + node-169: + latency-ms: 38.0 + node-179: + latency-ms: 50.0 + node-180: + latency-ms: 23.0 + node-184: + latency-ms: 43.0 + node-188: + latency-ms: 42.0 + node-191: + latency-ms: 45.0 + node-194: + latency-ms: 40.0 + node-50: + stake: 2192120889195408 + location: + - 55.631175941270904 + - 88.07557669652616 + producers: + node-102: + latency-ms: 7.0 + node-103: + latency-ms: 22.0 + node-112: + latency-ms: 4.0 + node-114: + latency-ms: 0.0 + node-122: + latency-ms: 3.0 + node-130: + latency-ms: 4.0 + node-133: + latency-ms: 2.0 + node-135: + latency-ms: 0.0 + node-137: + latency-ms: 4.0 + node-138: + latency-ms: 2.0 + node-140: + latency-ms: 7.0 + node-141: + latency-ms: 3.0 + node-142: + latency-ms: 7.0 + node-166: + latency-ms: 8.0 + node-174: + latency-ms: 4.0 + node-176: + latency-ms: 3.0 + node-177: + latency-ms: 2.0 + node-183: + latency-ms: 0.0 + node-186: + latency-ms: 1.0 + node-188: + latency-ms: 2.0 + node-189: + latency-ms: 4.0 + node-191: + latency-ms: 5.0 + node-198: + latency-ms: 4.0 + node-51: + stake: 2666849284812790 + location: + - 34.02908979521748 + - 41.35245593197193 + producers: + node-100: + latency-ms: 21.0 + node-108: + latency-ms: 11.0 + node-110: + latency-ms: 29.0 + node-111: + latency-ms: 19.0 + node-127: + latency-ms: 24.0 + node-133: + latency-ms: 22.0 + node-138: + latency-ms: 21.0 + node-141: + latency-ms: 20.0 + node-145: + latency-ms: 25.0 + node-149: + latency-ms: 2.0 + node-152: + latency-ms: 10.0 + node-153: + latency-ms: 17.0 + node-158: + latency-ms: 0.0 + node-160: + latency-ms: 55.0 + node-163: + latency-ms: 16.0 + node-168: + latency-ms: 24.0 + node-176: + latency-ms: 21.0 + node-179: + latency-ms: 36.0 + node-184: + latency-ms: 23.0 + node-185: + latency-ms: 46.0 + node-191: + latency-ms: 25.0 + node-195: + latency-ms: 24.0 + node-52: + stake: 3232183931165588 + location: + - -9.363567898213786 + - 44.79024350634022 + producers: + node-100: + latency-ms: 41.0 + node-101: + latency-ms: 42.0 + node-103: + latency-ms: 41.0 + node-106: + latency-ms: 39.0 + node-108: + latency-ms: 34.0 + node-136: + latency-ms: 55.0 + node-142: + latency-ms: 35.0 + node-151: + latency-ms: 12.0 + node-157: + latency-ms: 54.0 + node-162: + latency-ms: 39.0 + node-170: + latency-ms: 56.0 + node-178: + latency-ms: 47.0 + node-180: + latency-ms: 15.0 + node-191: + latency-ms: 44.0 + node-194: + latency-ms: 29.0 + node-53: + stake: 3903183676680554 + location: + - 53.28874693083472 + - 99.79501261617821 + producers: + node-100: + latency-ms: 5.0 + node-102: + latency-ms: 5.0 + node-112: + latency-ms: 6.0 + node-114: + latency-ms: 3.0 + node-122: + latency-ms: 3.0 + node-127: + latency-ms: 2.0 + node-132: + latency-ms: 4.0 + node-137: + latency-ms: 3.0 + node-138: + latency-ms: 2.0 + node-140: + latency-ms: 6.0 + node-141: + latency-ms: 3.0 + node-145: + latency-ms: 5.0 + node-146: + latency-ms: 0.0 + node-153: + latency-ms: 6.0 + node-162: + latency-ms: 2.0 + node-168: + latency-ms: 0.0 + node-186: + latency-ms: 5.0 + node-187: + latency-ms: 3.0 + node-189: + latency-ms: 3.0 + node-191: + latency-ms: 3.0 + node-192: + latency-ms: 39.0 + node-195: + latency-ms: 2.0 + node-196: + latency-ms: 4.0 + node-54: + stake: 4697053632367764 + location: + - 46.765376700093285 + - 94.00320948703057 + producers: + node-100: + latency-ms: 7.0 + node-101: + latency-ms: 5.0 + node-102: + latency-ms: 2.0 + node-108: + latency-ms: 19.0 + node-115: + latency-ms: 0.0 + node-119: + latency-ms: 24.0 + node-130: + latency-ms: 7.0 + node-132: + latency-ms: 1.0 + node-137: + latency-ms: 0.0 + node-138: + latency-ms: 2.0 + node-141: + latency-ms: 2.0 + node-143: + latency-ms: 1.0 + node-147: + latency-ms: 2.0 + node-153: + latency-ms: 5.0 + node-169: + latency-ms: 2.0 + node-171: + latency-ms: 20.0 + node-174: + latency-ms: 7.0 + node-178: + latency-ms: 22.0 + node-183: + latency-ms: 4.0 + node-189: + latency-ms: 7.0 + node-195: + latency-ms: 2.0 + node-198: + latency-ms: 6.0 + node-55: + stake: 5633402238677984 + location: + - 60.56485451589586 + - 99.80915867729145 + producers: + node-101: + latency-ms: 2.0 + node-102: + latency-ms: 9.0 + node-104: + latency-ms: 32.0 + node-112: + latency-ms: 3.0 + node-122: + latency-ms: 0.0 + node-130: + latency-ms: 0.0 + node-143: + latency-ms: 8.0 + node-145: + latency-ms: 1.0 + node-146: + latency-ms: 3.0 + node-147: + latency-ms: 5.0 + node-153: + latency-ms: 8.0 + node-158: + latency-ms: 24.0 + node-162: + latency-ms: 6.0 + node-171: + latency-ms: 23.0 + node-174: + latency-ms: 0.0 + node-183: + latency-ms: 4.0 + node-184: + latency-ms: 1.0 + node-187: + latency-ms: 1.0 + node-188: + latency-ms: 2.0 + node-189: + latency-ms: 0.0 + node-191: + latency-ms: 1.0 + node-193: + latency-ms: 2.0 + node-196: + latency-ms: 1.0 + node-198: + latency-ms: 0.0 + node-56: + stake: 6734523498124048 + location: + - 1.2165829838416666 + - 21.00389042851659 + producers: + node-121: + latency-ms: 72.0 + node-130: + latency-ms: 45.0 + node-137: + latency-ms: 41.0 + node-144: + latency-ms: 65.0 + node-151: + latency-ms: 20.0 + node-152: + latency-ms: 28.0 + node-155: + latency-ms: 69.0 + node-179: + latency-ms: 52.0 + node-180: + latency-ms: 25.0 + node-181: + latency-ms: 32.0 + node-183: + latency-ms: 40.0 + node-187: + latency-ms: 43.0 + node-189: + latency-ms: 45.0 + node-190: + latency-ms: 32.0 + node-194: + latency-ms: 43.0 + node-195: + latency-ms: 44.0 + node-198: + latency-ms: 45.0 + node-57: + stake: 8025706307429320 + location: + - 17.943380392271038 + - 51.77631044661058 + producers: + node-101: + latency-ms: 28.0 + node-116: + latency-ms: 31.0 + node-127: + latency-ms: 26.0 + node-146: + latency-ms: 27.0 + node-151: + latency-ms: 6.0 + node-156: + latency-ms: 47.0 + node-164: + latency-ms: 22.0 + node-173: + latency-ms: 22.0 + node-175: + latency-ms: 49.0 + node-179: + latency-ms: 33.0 + node-186: + latency-ms: 23.0 + node-189: + latency-ms: 29.0 + node-190: + latency-ms: 22.0 + node-195: + latency-ms: 26.0 + node-197: + latency-ms: 28.0 + node-58: + stake: 9535572932347024 + location: + - 55.81093341070863 + - 86.22571777806444 + producers: + node-103: + latency-ms: 22.0 + node-114: + latency-ms: 1.0 + node-115: + latency-ms: 6.0 + node-116: + latency-ms: 19.0 + node-126: + latency-ms: 41.0 + node-127: + latency-ms: 5.0 + node-132: + latency-ms: 6.0 + node-135: + latency-ms: 0.0 + node-140: + latency-ms: 8.0 + node-141: + latency-ms: 3.0 + node-143: + latency-ms: 6.0 + node-164: + latency-ms: 13.0 + node-166: + latency-ms: 7.0 + node-169: + latency-ms: 6.0 + node-174: + latency-ms: 4.0 + node-176: + latency-ms: 3.0 + node-177: + latency-ms: 2.0 + node-182: + latency-ms: 1.0 + node-183: + latency-ms: 1.0 + node-184: + latency-ms: 3.0 + node-186: + latency-ms: 1.0 + node-189: + latency-ms: 4.0 + node-196: + latency-ms: 5.0 + node-198: + latency-ms: 4.0 + node-59: + stake: 11296448781731360 + location: + - 59.037209782942455 + - 95.81693230163415 + producers: + node-100: + latency-ms: 2.0 + node-101: + latency-ms: 1.0 + node-104: + latency-ms: 33.0 + node-112: + latency-ms: 3.0 + node-114: + latency-ms: 2.0 + node-122: + latency-ms: 0.0 + node-141: + latency-ms: 5.0 + node-142: + latency-ms: 9.0 + node-146: + latency-ms: 3.0 + node-162: + latency-ms: 5.0 + node-176: + latency-ms: 5.0 + node-182: + latency-ms: 2.0 + node-186: + latency-ms: 4.0 + node-187: + latency-ms: 0.0 + node-190: + latency-ms: 14.0 + node-191: + latency-ms: 2.0 + node-193: + latency-ms: 1.0 + node-196: + latency-ms: 2.0 + node-198: + latency-ms: 1.0 + node-6: + stake: 2978281 + location: + - 59.01830967658948 + - 89.73051662953547 + producers: + node-100: + latency-ms: 0.0 + node-101: + latency-ms: 2.0 + node-103: + latency-ms: 23.0 + node-106: + latency-ms: 5.0 + node-112: + latency-ms: 2.0 + node-114: + latency-ms: 1.0 + node-122: + latency-ms: 2.0 + node-130: + latency-ms: 3.0 + node-133: + latency-ms: 0.0 + node-135: + latency-ms: 1.0 + node-138: + latency-ms: 4.0 + node-146: + latency-ms: 4.0 + node-147: + latency-ms: 5.0 + node-152: + latency-ms: 16.0 + node-162: + latency-ms: 5.0 + node-166: + latency-ms: 8.0 + node-174: + latency-ms: 2.0 + node-177: + latency-ms: 0.0 + node-186: + latency-ms: 3.0 + node-187: + latency-ms: 1.0 + node-188: + latency-ms: 1.0 + node-191: + latency-ms: 4.0 + node-196: + latency-ms: 3.0 + node-198: + latency-ms: 3.0 + node-60: + stake: 13344765754991288 + location: + - 38.86856435313046 + - 152.74834243428134 + producers: + node-103: + latency-ms: 19.0 + node-104: + latency-ms: 17.0 + node-105: + latency-ms: 4.0 + node-115: + latency-ms: 23.0 + node-119: + latency-ms: 2.0 + node-124: + latency-ms: 1.0 + node-126: + latency-ms: 24.0 + node-136: + latency-ms: 34.0 + node-140: + latency-ms: 23.0 + node-144: + latency-ms: 0.0 + node-150: + latency-ms: 2.0 + node-155: + latency-ms: 5.0 + node-159: + latency-ms: 14.0 + node-171: + latency-ms: 15.0 + node-172: + latency-ms: 4.0 + node-179: + latency-ms: 16.0 + node-183: + latency-ms: 24.0 + node-186: + latency-ms: 26.0 + node-61: + stake: 15721501558816032 + location: + - -17.12955459202604 + - 61.446343520790634 + producers: + node-100: + latency-ms: 43.0 + node-104: + latency-ms: 44.0 + node-109: + latency-ms: 42.0 + node-110: + latency-ms: 2.0 + node-115: + latency-ms: 37.0 + node-116: + latency-ms: 36.0 + node-130: + latency-ms: 45.0 + node-142: + latency-ms: 34.0 + node-145: + latency-ms: 46.0 + node-147: + latency-ms: 39.0 + node-149: + latency-ms: 29.0 + node-156: + latency-ms: 41.0 + node-166: + latency-ms: 40.0 + node-173: + latency-ms: 41.0 + node-188: + latency-ms: 42.0 + node-192: + latency-ms: 3.0 + node-62: + stake: 18472657515081008 + location: + - 50.819940239501484 + - 87.72654649206572 + producers: + node-115: + latency-ms: 3.0 + node-116: + latency-ms: 17.0 + node-129: + latency-ms: 22.0 + node-137: + latency-ms: 3.0 + node-138: + latency-ms: 1.0 + node-141: + latency-ms: 0.0 + node-142: + latency-ms: 4.0 + node-154: + latency-ms: 0.0 + node-160: + latency-ms: 38.0 + node-161: + latency-ms: 35.0 + node-169: + latency-ms: 3.0 + node-174: + latency-ms: 6.0 + node-182: + latency-ms: 2.0 + node-184: + latency-ms: 5.0 + node-186: + latency-ms: 2.0 + node-63: + stake: 21649777512214528 + location: + - 61.211130749904314 + - 97.62169828913906 + producers: + node-106: + latency-ms: 6.0 + node-112: + latency-ms: 2.0 + node-115: + latency-ms: 8.0 + node-122: + latency-ms: 1.0 + node-127: + latency-ms: 6.0 + node-130: + latency-ms: 1.0 + node-138: + latency-ms: 5.0 + node-141: + latency-ms: 6.0 + node-142: + latency-ms: 10.0 + node-143: + latency-ms: 9.0 + node-154: + latency-ms: 6.0 + node-156: + latency-ms: 38.0 + node-161: + latency-ms: 35.0 + node-184: + latency-ms: 0.0 + node-187: + latency-ms: 0.0 + node-188: + latency-ms: 2.0 + node-190: + latency-ms: 14.0 + node-195: + latency-ms: 6.0 + node-64: + stake: 25310510887088640 + location: + - 49.26499890165388 + - 94.66529210788121 + producers: + node-100: + latency-ms: 6.0 + node-101: + latency-ms: 4.0 + node-102: + latency-ms: 3.0 + node-103: + latency-ms: 18.0 + node-106: + latency-ms: 0.0 + node-115: + latency-ms: 2.0 + node-132: + latency-ms: 2.0 + node-133: + latency-ms: 5.0 + node-134: + latency-ms: 45.0 + node-135: + latency-ms: 4.0 + node-137: + latency-ms: 0.0 + node-140: + latency-ms: 3.0 + node-146: + latency-ms: 2.0 + node-147: + latency-ms: 1.0 + node-151: + latency-ms: 26.0 + node-154: + latency-ms: 2.0 + node-159: + latency-ms: 23.0 + node-162: + latency-ms: 0.0 + node-168: + latency-ms: 2.0 + node-176: + latency-ms: 1.0 + node-177: + latency-ms: 6.0 + node-184: + latency-ms: 6.0 + node-187: + latency-ms: 5.0 + node-191: + latency-ms: 5.0 + node-65: + stake: 29519222163777056 + location: + - 40.83943378400555 + - 95.37582605677292 + producers: + node-102: + latency-ms: 1.0 + node-103: + latency-ms: 14.0 + node-106: + latency-ms: 4.0 + node-111: + latency-ms: 16.0 + node-115: + latency-ms: 2.0 + node-137: + latency-ms: 3.0 + node-140: + latency-ms: 0.0 + node-141: + latency-ms: 5.0 + node-142: + latency-ms: 2.0 + node-143: + latency-ms: 2.0 + node-168: + latency-ms: 6.0 + node-170: + latency-ms: 45.0 + node-187: + latency-ms: 10.0 + node-190: + latency-ms: 20.0 + node-195: + latency-ms: 4.0 + node-66: + stake: 34347650719367008 + location: + - 0.09439099219316183 + - 145.09766185436757 + producers: + node-105: + latency-ms: 17.0 + node-110: + latency-ms: 43.0 + node-113: + latency-ms: 14.0 + node-114: + latency-ms: 38.0 + node-121: + latency-ms: 11.0 + node-123: + latency-ms: 2.0 + node-126: + latency-ms: 3.0 + node-135: + latency-ms: 38.0 + node-136: + latency-ms: 14.0 + node-140: + latency-ms: 33.0 + node-148: + latency-ms: 16.0 + node-150: + latency-ms: 21.0 + node-156: + latency-ms: 4.0 + node-157: + latency-ms: 13.0 + node-160: + latency-ms: 1.0 + node-161: + latency-ms: 3.0 + node-164: + latency-ms: 53.0 + node-167: + latency-ms: 5.0 + node-170: + latency-ms: 13.0 + node-171: + latency-ms: 14.0 + node-176: + latency-ms: 36.0 + node-183: + latency-ms: 38.0 + node-199: + latency-ms: 11.0 + node-67: + stake: 39875623595490304 + location: + - 23.266965701409454 + - 133.02746157426884 + producers: + node-109: + latency-ms: 3.0 + node-113: + latency-ms: 0.0 + node-115: + latency-ms: 20.0 + node-120: + latency-ms: 27.0 + node-127: + latency-ms: 19.0 + node-129: + latency-ms: 1.0 + node-130: + latency-ms: 23.0 + node-135: + latency-ms: 24.0 + node-139: + latency-ms: 33.0 + node-144: + latency-ms: 12.0 + node-147: + latency-ms: 20.0 + node-148: + latency-ms: 30.0 + node-159: + latency-ms: 2.0 + node-163: + latency-ms: 39.0 + node-165: + latency-ms: 2.0 + node-171: + latency-ms: 3.0 + node-178: + latency-ms: 3.0 + node-179: + latency-ms: 6.0 + node-189: + latency-ms: 23.0 + node-68: + stake: 46191824827435872 + location: + - 36.65662681453722 + - 153.55246513002328 + producers: + node-103: + latency-ms: 19.0 + node-105: + latency-ms: 3.0 + node-113: + latency-ms: 11.0 + node-116: + latency-ms: 18.0 + node-117: + latency-ms: 27.0 + node-119: + latency-ms: 3.0 + node-124: + latency-ms: 1.0 + node-134: + latency-ms: 29.0 + node-138: + latency-ms: 24.0 + node-144: + latency-ms: 1.0 + node-150: + latency-ms: 2.0 + node-155: + latency-ms: 4.0 + node-157: + latency-ms: 32.0 + node-162: + latency-ms: 22.0 + node-188: + latency-ms: 23.0 + node-69: + stake: 53394624820692480 + location: + - 15.43884261233389 + - 38.19889770359828 + producers: + node-102: + latency-ms: 30.0 + node-104: + latency-ms: 54.0 + node-106: + latency-ms: 31.0 + node-111: + latency-ms: 30.0 + node-112: + latency-ms: 32.0 + node-114: + latency-ms: 30.0 + node-117: + latency-ms: 26.0 + node-129: + latency-ms: 46.0 + node-132: + latency-ms: 30.0 + node-137: + latency-ms: 30.0 + node-141: + latency-ms: 29.0 + node-150: + latency-ms: 54.0 + node-155: + latency-ms: 58.0 + node-158: + latency-ms: 10.0 + node-164: + latency-ms: 22.0 + node-166: + latency-ms: 24.0 + node-182: + latency-ms: 30.0 + node-186: + latency-ms: 27.0 + node-192: + latency-ms: 22.0 + node-197: + latency-ms: 33.0 + node-7: + stake: 12198108 + location: + - 54.1123548743235 + - 86.84173851168896 + producers: + node-112: + latency-ms: 5.0 + node-114: + latency-ms: 1.0 + node-125: + latency-ms: 18.0 + node-127: + latency-ms: 4.0 + node-133: + latency-ms: 3.0 + node-135: + latency-ms: 1.0 + node-140: + latency-ms: 7.0 + node-141: + latency-ms: 2.0 + node-146: + latency-ms: 4.0 + node-153: + latency-ms: 2.0 + node-154: + latency-ms: 2.0 + node-155: + latency-ms: 30.0 + node-164: + latency-ms: 14.0 + node-173: + latency-ms: 14.0 + node-176: + latency-ms: 2.0 + node-177: + latency-ms: 3.0 + node-178: + latency-ms: 26.0 + node-182: + latency-ms: 1.0 + node-183: + latency-ms: 0.0 + node-186: + latency-ms: 1.0 + node-191: + latency-ms: 5.0 + node-193: + latency-ms: 3.0 + node-195: + latency-ms: 5.0 + node-70: + stake: 61592973467590144 + location: + - 40.00058570309622 + - 161.1846362600719 + producers: + node-101: + latency-ms: 23.0 + node-102: + latency-ms: 25.0 + node-106: + latency-ms: 24.0 + node-109: + latency-ms: 18.0 + node-119: + latency-ms: 1.0 + node-124: + latency-ms: 2.0 + node-126: + latency-ms: 26.0 + node-131: + latency-ms: 34.0 + node-137: + latency-ms: 25.0 + node-148: + latency-ms: 35.0 + node-150: + latency-ms: 1.0 + node-153: + latency-ms: 29.0 + node-155: + latency-ms: 4.0 + node-157: + latency-ms: 34.0 + node-164: + latency-ms: 38.0 + node-175: + latency-ms: 0.0 + node-178: + latency-ms: 19.0 + node-182: + latency-ms: 25.0 + node-188: + latency-ms: 24.0 + node-190: + latency-ms: 37.0 + node-198: + latency-ms: 22.0 + node-71: + stake: 70907360864517760 + location: + - 41.90029567453285 + - 91.01442450580609 + producers: + node-101: + latency-ms: 8.0 + node-102: + latency-ms: 2.0 + node-105: + latency-ms: 23.0 + node-108: + latency-ms: 20.0 + node-111: + latency-ms: 15.0 + node-117: + latency-ms: 3.0 + node-127: + latency-ms: 4.0 + node-135: + latency-ms: 7.0 + node-140: + latency-ms: 1.0 + node-142: + latency-ms: 0.0 + node-143: + latency-ms: 1.0 + node-153: + latency-ms: 6.0 + node-166: + latency-ms: 13.0 + node-168: + latency-ms: 6.0 + node-169: + latency-ms: 1.0 + node-183: + latency-ms: 6.0 + node-195: + latency-ms: 5.0 + node-196: + latency-ms: 11.0 + node-72: + stake: 81470849662934272 + location: + - -16.014325267825704 + - 62.19507475425644 + producers: + node-100: + latency-ms: 42.0 + node-102: + latency-ms: 35.0 + node-107: + latency-ms: 49.0 + node-110: + latency-ms: 1.0 + node-111: + latency-ms: 45.0 + node-114: + latency-ms: 40.0 + node-115: + latency-ms: 36.0 + node-128: + latency-ms: 19.0 + node-134: + latency-ms: 46.0 + node-151: + latency-ms: 13.0 + node-153: + latency-ms: 36.0 + node-156: + latency-ms: 40.0 + node-162: + latency-ms: 38.0 + node-180: + latency-ms: 12.0 + node-190: + latency-ms: 41.0 + node-192: + latency-ms: 2.0 + node-73: + stake: 93430183265293952 + location: + - -17.012602659877004 + - 159.6045507440213 + producers: + node-109: + latency-ms: 22.0 + node-115: + latency-ms: 46.0 + node-120: + latency-ms: 2.0 + node-121: + latency-ms: 0.0 + node-123: + latency-ms: 14.0 + node-126: + latency-ms: 9.0 + node-131: + latency-ms: 4.0 + node-132: + latency-ms: 45.0 + node-134: + latency-ms: 2.0 + node-136: + latency-ms: 4.0 + node-138: + latency-ms: 48.0 + node-143: + latency-ms: 46.0 + node-156: + latency-ms: 13.0 + node-157: + latency-ms: 5.0 + node-159: + latency-ms: 23.0 + node-168: + latency-ms: 46.0 + node-179: + latency-ms: 30.0 + node-180: + latency-ms: 49.0 + node-74: + stake: 106946974259979008 + location: + - 19.80476181010423 + - 125.22867146097734 + producers: + node-100: + latency-ms: 26.0 + node-102: + latency-ms: 17.0 + node-103: + latency-ms: 4.0 + node-104: + latency-ms: 10.0 + node-113: + latency-ms: 4.0 + node-118: + latency-ms: 5.0 + node-122: + latency-ms: 23.0 + node-130: + latency-ms: 23.0 + node-137: + latency-ms: 19.0 + node-152: + latency-ms: 39.0 + node-154: + latency-ms: 22.0 + node-156: + latency-ms: 14.0 + node-159: + latency-ms: 3.0 + node-164: + latency-ms: 38.0 + node-167: + latency-ms: 10.0 + node-171: + latency-ms: 1.0 + node-75: + stake: 122198977677618816 + location: + - 49.65968429813242 + - 100.71138874773678 + producers: + node-100: + latency-ms: 7.0 + node-101: + latency-ms: 3.0 + node-119: + latency-ms: 21.0 + node-122: + latency-ms: 5.0 + node-125: + latency-ms: 20.0 + node-129: + latency-ms: 18.0 + node-132: + latency-ms: 3.0 + node-133: + latency-ms: 6.0 + node-142: + latency-ms: 5.0 + node-143: + latency-ms: 3.0 + node-146: + latency-ms: 1.0 + node-147: + latency-ms: 1.0 + node-153: + latency-ms: 7.0 + node-162: + latency-ms: 1.0 + node-165: + latency-ms: 21.0 + node-168: + latency-ms: 1.0 + node-170: + latency-ms: 46.0 + node-174: + latency-ms: 5.0 + node-182: + latency-ms: 4.0 + node-187: + latency-ms: 5.0 + node-191: + latency-ms: 5.0 + node-193: + latency-ms: 4.0 + node-195: + latency-ms: 0.0 + node-76: + stake: 139381453844692608 + location: + - 52.55978851345525 + - 96.06951725412372 + producers: + node-100: + latency-ms: 4.0 + node-106: + latency-ms: 1.0 + node-119: + latency-ms: 23.0 + node-127: + latency-ms: 2.0 + node-130: + latency-ms: 4.0 + node-133: + latency-ms: 4.0 + node-138: + latency-ms: 1.0 + node-141: + latency-ms: 2.0 + node-145: + latency-ms: 5.0 + node-147: + latency-ms: 1.0 + node-162: + latency-ms: 2.0 + node-168: + latency-ms: 1.0 + node-177: + latency-ms: 4.0 + node-182: + latency-ms: 1.0 + node-187: + latency-ms: 3.0 + node-195: + latency-ms: 2.0 + node-77: + stake: 158708625809244544 + location: + - 83.43779718233787 + - 52.72935287673235 + producers: + node-106: + latency-ms: 19.0 + node-111: + latency-ms: 8.0 + node-112: + latency-ms: 11.0 + node-114: + latency-ms: 15.0 + node-118: + latency-ms: 34.0 + node-125: + latency-ms: 1.0 + node-127: + latency-ms: 19.0 + node-135: + latency-ms: 15.0 + node-137: + latency-ms: 20.0 + node-141: + latency-ms: 18.0 + node-146: + latency-ms: 17.0 + node-152: + latency-ms: 16.0 + node-158: + latency-ms: 26.0 + node-163: + latency-ms: 10.0 + node-164: + latency-ms: 13.0 + node-177: + latency-ms: 13.0 + node-181: + latency-ms: 11.0 + node-188: + latency-ms: 14.0 + node-189: + latency-ms: 13.0 + node-191: + latency-ms: 15.0 + node-192: + latency-ms: 52.0 + node-196: + latency-ms: 13.0 + node-78: + stake: 180415236517902848 + location: + - -34.0138885436824 + - 97.17592331460071 + producers: + node-101: + latency-ms: 48.0 + node-114: + latency-ms: 48.0 + node-120: + latency-ms: 29.0 + node-128: + latency-ms: 1.0 + node-130: + latency-ms: 50.0 + node-133: + latency-ms: 50.0 + node-134: + latency-ms: 28.0 + node-135: + latency-ms: 48.0 + node-139: + latency-ms: 2.0 + node-143: + latency-ms: 42.0 + node-151: + latency-ms: 30.0 + node-157: + latency-ms: 25.0 + node-159: + latency-ms: 33.0 + node-180: + latency-ms: 19.0 + node-183: + latency-ms: 47.0 + node-185: + latency-ms: 3.0 + node-192: + latency-ms: 17.0 + node-193: + latency-ms: 48.0 + node-194: + latency-ms: 1.0 + node-79: + stake: 204758211133291264 + location: + - -12.139524104238197 + - 66.60622706051952 + producers: + node-110: + latency-ms: 2.0 + node-111: + latency-ms: 43.0 + node-112: + latency-ms: 41.0 + node-116: + latency-ms: 32.0 + node-117: + latency-ms: 32.0 + node-118: + latency-ms: 32.0 + node-119: + latency-ms: 53.0 + node-124: + latency-ms: 51.0 + node-140: + latency-ms: 32.0 + node-142: + latency-ms: 31.0 + node-149: + latency-ms: 28.0 + node-151: + latency-ms: 11.0 + node-153: + latency-ms: 34.0 + node-157: + latency-ms: 43.0 + node-161: + latency-ms: 44.0 + node-167: + latency-ms: 41.0 + node-183: + latency-ms: 36.0 + node-185: + latency-ms: 20.0 + node-191: + latency-ms: 41.0 + node-192: + latency-ms: 1.0 + node-194: + latency-ms: 19.0 + node-196: + latency-ms: 42.0 + node-8: + stake: 42042205 + location: + - 16.790827480041028 + - 37.15796442536405 + producers: + node-101: + latency-ms: 32.0 + node-110: + latency-ms: 23.0 + node-113: + latency-ms: 47.0 + node-116: + latency-ms: 38.0 + node-117: + latency-ms: 26.0 + node-128: + latency-ms: 40.0 + node-130: + latency-ms: 33.0 + node-132: + latency-ms: 30.0 + node-138: + latency-ms: 29.0 + node-143: + latency-ms: 29.0 + node-145: + latency-ms: 34.0 + node-158: + latency-ms: 9.0 + node-167: + latency-ms: 54.0 + node-172: + latency-ms: 48.0 + node-180: + latency-ms: 29.0 + node-195: + latency-ms: 32.0 + node-197: + latency-ms: 33.0 + node-80: + stake: 232018430096427008 + location: + - 57.97873449724844 + - 92.99737772976677 + producers: + node-100: + latency-ms: 1.0 + node-117: + latency-ms: 6.0 + node-127: + latency-ms: 5.0 + node-132: + latency-ms: 6.0 + node-138: + latency-ms: 3.0 + node-145: + latency-ms: 3.0 + node-146: + latency-ms: 3.0 + node-154: + latency-ms: 4.0 + node-157: + latency-ms: 50.0 + node-177: + latency-ms: 1.0 + node-182: + latency-ms: 1.0 + node-183: + latency-ms: 2.0 + node-187: + latency-ms: 1.0 + node-188: + latency-ms: 0.0 + node-189: + latency-ms: 2.0 + node-191: + latency-ms: 3.0 + node-193: + latency-ms: 0.0 + node-81: + stake: 262502618759817728 + location: + - 53.440669433597925 + - 101.80495049005638 + producers: + node-101: + latency-ms: 2.0 + node-102: + latency-ms: 6.0 + node-111: + latency-ms: 11.0 + node-112: + latency-ms: 6.0 + node-126: + latency-ms: 37.0 + node-127: + latency-ms: 2.0 + node-130: + latency-ms: 3.0 + node-132: + latency-ms: 5.0 + node-135: + latency-ms: 4.0 + node-137: + latency-ms: 4.0 + node-141: + latency-ms: 4.0 + node-146: + latency-ms: 0.0 + node-151: + latency-ms: 30.0 + node-154: + latency-ms: 4.0 + node-155: + latency-ms: 25.0 + node-163: + latency-ms: 19.0 + node-168: + latency-ms: 0.0 + node-173: + latency-ms: 18.0 + node-174: + latency-ms: 3.0 + node-182: + latency-ms: 3.0 + node-187: + latency-ms: 3.0 + node-193: + latency-ms: 2.0 + node-197: + latency-ms: 0.0 + node-198: + latency-ms: 2.0 + node-82: + stake: 296545359643907328 + location: + - 51.44346349587447 + - 97.27279587697107 + producers: + node-102: + latency-ms: 4.0 + node-106: + latency-ms: 1.0 + node-115: + latency-ms: 3.0 + node-122: + latency-ms: 4.0 + node-135: + latency-ms: 3.0 + node-141: + latency-ms: 2.0 + node-142: + latency-ms: 5.0 + node-145: + latency-ms: 6.0 + node-146: + latency-ms: 1.0 + node-147: + latency-ms: 0.0 + node-154: + latency-ms: 3.0 + node-162: + latency-ms: 1.0 + node-163: + latency-ms: 18.0 + node-168: + latency-ms: 1.0 + node-169: + latency-ms: 4.0 + node-174: + latency-ms: 4.0 + node-193: + latency-ms: 3.0 + node-195: + latency-ms: 1.0 + node-196: + latency-ms: 5.0 + node-197: + latency-ms: 2.0 + node-83: + stake: 334511233602197504 + location: + - 7.08914922469784 + - 144.179157006712 + producers: + node-100: + latency-ms: 36.0 + node-104: + latency-ms: 1.0 + node-116: + latency-ms: 18.0 + node-120: + latency-ms: 17.0 + node-121: + latency-ms: 15.0 + node-128: + latency-ms: 31.0 + node-134: + latency-ms: 14.0 + node-139: + latency-ms: 29.0 + node-142: + latency-ms: 31.0 + node-150: + latency-ms: 18.0 + node-152: + latency-ms: 51.0 + node-156: + latency-ms: 6.0 + node-160: + latency-ms: 4.0 + node-161: + latency-ms: 2.0 + node-164: + latency-ms: 49.0 + node-165: + latency-ms: 8.0 + node-167: + latency-ms: 1.0 + node-173: + latency-ms: 49.0 + node-192: + latency-ms: 42.0 + node-195: + latency-ms: 29.0 + node-198: + latency-ms: 32.0 + node-84: + stake: 376797096419089920 + location: + - 36.14260073118139 + - 154.90006103751043 + producers: + node-104: + latency-ms: 16.0 + node-105: + latency-ms: 4.0 + node-107: + latency-ms: 5.0 + node-112: + latency-ms: 25.0 + node-113: + latency-ms: 12.0 + node-118: + latency-ms: 19.0 + node-119: + latency-ms: 3.0 + node-121: + latency-ms: 28.0 + node-124: + latency-ms: 1.0 + node-129: + latency-ms: 12.0 + node-136: + latency-ms: 32.0 + node-142: + latency-ms: 26.0 + node-143: + latency-ms: 25.0 + node-144: + latency-ms: 1.0 + node-150: + latency-ms: 2.0 + node-165: + latency-ms: 14.0 + node-167: + latency-ms: 15.0 + node-173: + latency-ms: 38.0 + node-175: + latency-ms: 2.0 + node-177: + latency-ms: 25.0 + node-178: + latency-ms: 15.0 + node-181: + latency-ms: 38.0 + node-183: + latency-ms: 25.0 + node-85: + stake: 423834497608837120 + location: + - 80.90287529164033 + - 22.031961566598135 + producers: + node-102: + latency-ms: 24.0 + node-103: + latency-ms: 38.0 + node-108: + latency-ms: 14.0 + node-111: + latency-ms: 9.0 + node-112: + latency-ms: 12.0 + node-133: + latency-ms: 15.0 + node-135: + latency-ms: 16.0 + node-139: + latency-ms: 64.0 + node-152: + latency-ms: 15.0 + node-154: + latency-ms: 20.0 + node-163: + latency-ms: 9.0 + node-166: + latency-ms: 13.0 + node-168: + latency-ms: 19.0 + node-183: + latency-ms: 18.0 + node-187: + latency-ms: 15.0 + node-86: + stake: 476092248435116032 + location: + - -11.496594499228813 + - 48.482249077177606 + producers: + node-100: + latency-ms: 42.0 + node-110: + latency-ms: 9.0 + node-113: + latency-ms: 48.0 + node-116: + latency-ms: 40.0 + node-119: + latency-ms: 60.0 + node-120: + latency-ms: 56.0 + node-122: + latency-ms: 43.0 + node-123: + latency-ms: 51.0 + node-134: + latency-ms: 54.0 + node-137: + latency-ms: 38.0 + node-145: + latency-ms: 45.0 + node-149: + latency-ms: 25.0 + node-151: + latency-ms: 12.0 + node-153: + latency-ms: 36.0 + node-156: + latency-ms: 48.0 + node-160: + latency-ms: 53.0 + node-162: + latency-ms: 39.0 + node-176: + latency-ms: 38.0 + node-180: + latency-ms: 13.0 + node-181: + latency-ms: 39.0 + node-186: + latency-ms: 38.0 + node-192: + latency-ms: 10.0 + node-193: + latency-ms: 42.0 + node-194: + latency-ms: 27.0 + node-87: + stake: 534079146426200064 + location: + - 43.41918871129047 + - 160.18308409996013 + producers: + node-105: + latency-ms: 8.0 + node-106: + latency-ms: 23.0 + node-107: + latency-ms: 7.0 + node-108: + latency-ms: 38.0 + node-109: + latency-ms: 18.0 + node-110: + latency-ms: 56.0 + node-116: + latency-ms: 21.0 + node-118: + latency-ms: 22.0 + node-119: + latency-ms: 1.0 + node-122: + latency-ms: 21.0 + node-124: + latency-ms: 3.0 + node-126: + latency-ms: 27.0 + node-128: + latency-ms: 50.0 + node-149: + latency-ms: 43.0 + node-150: + latency-ms: 2.0 + node-152: + latency-ms: 39.0 + node-155: + latency-ms: 6.0 + node-156: + latency-ms: 27.0 + node-173: + latency-ms: 36.0 + node-175: + latency-ms: 2.0 + node-195: + latency-ms: 22.0 + node-199: + latency-ms: 19.0 + node-88: + stake: 598346863926046720 + location: + - 71.18807938938974 + - 65.55827970121365 + producers: + node-100: + latency-ms: 7.0 + node-106: + latency-ms: 13.0 + node-111: + latency-ms: 1.0 + node-112: + latency-ms: 6.0 + node-114: + latency-ms: 9.0 + node-117: + latency-ms: 14.0 + node-124: + latency-ms: 29.0 + node-129: + latency-ms: 31.0 + node-134: + latency-ms: 56.0 + node-135: + latency-ms: 9.0 + node-141: + latency-ms: 12.0 + node-153: + latency-ms: 11.0 + node-154: + latency-ms: 12.0 + node-158: + latency-ms: 21.0 + node-162: + latency-ms: 14.0 + node-163: + latency-ms: 7.0 + node-166: + latency-ms: 7.0 + node-171: + latency-ms: 33.0 + node-178: + latency-ms: 35.0 + node-181: + latency-ms: 8.0 + node-182: + latency-ms: 10.0 + node-194: + latency-ms: 56.0 + node-89: + stake: 669493008487518208 + location: + - 20.447860860616032 + - 125.45242080237807 + producers: + node-101: + latency-ms: 22.0 + node-103: + latency-ms: 4.0 + node-113: + latency-ms: 4.0 + node-116: + latency-ms: 5.0 + node-118: + latency-ms: 5.0 + node-122: + latency-ms: 23.0 + node-129: + latency-ms: 3.0 + node-131: + latency-ms: 30.0 + node-133: + latency-ms: 24.0 + node-136: + latency-ms: 28.0 + node-141: + latency-ms: 21.0 + node-147: + latency-ms: 19.0 + node-154: + latency-ms: 22.0 + node-157: + latency-ms: 27.0 + node-159: + latency-ms: 3.0 + node-168: + latency-ms: 20.0 + node-171: + latency-ms: 0.0 + node-174: + latency-ms: 23.0 + node-189: + latency-ms: 23.0 + node-191: + latency-ms: 21.0 + node-197: + latency-ms: 19.0 + node-9: + stake: 126579603 + location: + - 34.98426213862068 + - 43.51696705511743 + producers: + node-108: + latency-ms: 10.0 + node-111: + latency-ms: 19.0 + node-116: + latency-ms: 32.0 + node-117: + latency-ms: 18.0 + node-121: + latency-ms: 64.0 + node-122: + latency-ms: 23.0 + node-124: + latency-ms: 44.0 + node-132: + latency-ms: 21.0 + node-141: + latency-ms: 19.0 + node-142: + latency-ms: 19.0 + node-147: + latency-ms: 22.0 + node-149: + latency-ms: 1.0 + node-151: + latency-ms: 15.0 + node-152: + latency-ms: 10.0 + node-156: + latency-ms: 51.0 + node-158: + latency-ms: 1.0 + node-166: + latency-ms: 13.0 + node-181: + latency-ms: 14.0 + node-192: + latency-ms: 29.0 + node-193: + latency-ms: 21.0 + node-90: + stake: 748164363192498176 + location: + - 11.07420202173092 + - 30.61520439535694 + producers: + node-100: + latency-ms: 34.0 + node-101: + latency-ms: 37.0 + node-108: + latency-ms: 23.0 + node-128: + latency-ms: 41.0 + node-133: + latency-ms: 35.0 + node-137: + latency-ms: 34.0 + node-142: + latency-ms: 32.0 + node-145: + latency-ms: 38.0 + node-148: + latency-ms: 70.0 + node-149: + latency-ms: 15.0 + node-152: + latency-ms: 22.0 + node-158: + latency-ms: 13.0 + node-169: + latency-ms: 32.0 + node-170: + latency-ms: 67.0 + node-176: + latency-ms: 33.0 + node-177: + latency-ms: 35.0 + node-191: + latency-ms: 38.0 + node-194: + latency-ms: 42.0 + node-198: + latency-ms: 37.0 + node-91: + stake: 835060315263657984 + location: + - 52.476811719104575 + - 100.40350293973476 + producers: + node-101: + latency-ms: 2.0 + node-106: + latency-ms: 2.0 + node-122: + latency-ms: 3.0 + node-123: + latency-ms: 32.0 + node-130: + latency-ms: 4.0 + node-133: + latency-ms: 4.0 + node-138: + latency-ms: 2.0 + node-140: + latency-ms: 6.0 + node-141: + latency-ms: 3.0 + node-142: + latency-ms: 6.0 + node-146: + latency-ms: 0.0 + node-162: + latency-ms: 2.0 + node-168: + latency-ms: 0.0 + node-169: + latency-ms: 6.0 + node-176: + latency-ms: 3.0 + node-179: + latency-ms: 16.0 + node-184: + latency-ms: 4.0 + node-186: + latency-ms: 5.0 + node-187: + latency-ms: 4.0 + node-193: + latency-ms: 3.0 + node-196: + latency-ms: 5.0 + node-198: + latency-ms: 3.0 + node-92: + stake: 930936481621477376 + location: + - 62.036481414084506 + - 93.83841331294387 + producers: + node-100: + latency-ms: 1.0 + node-101: + latency-ms: 3.0 + node-106: + latency-ms: 6.0 + node-107: + latency-ms: 19.0 + node-112: + latency-ms: 1.0 + node-126: + latency-ms: 42.0 + node-133: + latency-ms: 1.0 + node-142: + latency-ms: 10.0 + node-154: + latency-ms: 6.0 + node-176: + latency-ms: 6.0 + node-179: + latency-ms: 22.0 + node-183: + latency-ms: 4.0 + node-184: + latency-ms: 0.0 + node-186: + latency-ms: 5.0 + node-198: + latency-ms: 2.0 + node-93: + stake: 1036608540335951872 + location: + - 34.237196357047765 + - 39.187358289401 + producers: + node-100: + latency-ms: 21.0 + node-108: + latency-ms: 10.0 + node-111: + latency-ms: 20.0 + node-112: + latency-ms: 22.0 + node-114: + latency-ms: 21.0 + node-121: + latency-ms: 66.0 + node-127: + latency-ms: 24.0 + node-130: + latency-ms: 25.0 + node-133: + latency-ms: 22.0 + node-142: + latency-ms: 21.0 + node-145: + latency-ms: 25.0 + node-149: + latency-ms: 3.0 + node-152: + latency-ms: 10.0 + node-154: + latency-ms: 21.0 + node-158: + latency-ms: 0.0 + node-166: + latency-ms: 15.0 + node-178: + latency-ms: 43.0 + node-187: + latency-ms: 23.0 + node-188: + latency-ms: 23.0 + node-190: + latency-ms: 13.0 + node-192: + latency-ms: 30.0 + node-94: + stake: 1152956277222178816 + location: + - 51.3161397265033 + - 96.24650418787533 + producers: + node-101: + latency-ms: 3.0 + node-103: + latency-ms: 18.0 + node-106: + latency-ms: 0.0 + node-108: + latency-ms: 19.0 + node-127: + latency-ms: 1.0 + node-146: + latency-ms: 1.0 + node-162: + latency-ms: 1.0 + node-163: + latency-ms: 18.0 + node-169: + latency-ms: 4.0 + node-181: + latency-ms: 19.0 + node-184: + latency-ms: 4.0 + node-186: + latency-ms: 4.0 + node-191: + latency-ms: 4.0 + node-193: + latency-ms: 3.0 + node-197: + latency-ms: 2.0 + node-198: + latency-ms: 4.0 + node-95: + stake: 1280927857139290112 + location: + - 64.55717416922106 + - 105.13798140152706 + producers: + node-100: + latency-ms: 4.0 + node-101: + latency-ms: 4.0 + node-106: + latency-ms: 8.0 + node-110: + latency-ms: 46.0 + node-112: + latency-ms: 3.0 + node-115: + latency-ms: 10.0 + node-125: + latency-ms: 12.0 + node-129: + latency-ms: 23.0 + node-138: + latency-ms: 7.0 + node-142: + latency-ms: 13.0 + node-145: + latency-ms: 1.0 + node-147: + latency-ms: 7.0 + node-154: + latency-ms: 9.0 + node-157: + latency-ms: 51.0 + node-162: + latency-ms: 8.0 + node-174: + latency-ms: 2.0 + node-184: + latency-ms: 3.0 + node-187: + latency-ms: 3.0 + node-191: + latency-ms: 3.0 + node-196: + latency-ms: 1.0 + node-198: + latency-ms: 3.0 + node-96: + stake: 1421544329865654272 + location: + - 54.019012936800955 + - 95.57903582930845 + producers: + node-106: + latency-ms: 2.0 + node-127: + latency-ms: 2.0 + node-137: + latency-ms: 3.0 + node-138: + latency-ms: 1.0 + node-143: + latency-ms: 5.0 + node-147: + latency-ms: 2.0 + node-160: + latency-ms: 36.0 + node-182: + latency-ms: 1.0 + node-184: + latency-ms: 3.0 + node-186: + latency-ms: 4.0 + node-187: + latency-ms: 3.0 + node-188: + latency-ms: 1.0 + node-191: + latency-ms: 3.0 + node-193: + latency-ms: 1.0 + node-195: + latency-ms: 3.0 + node-97: + stake: 1575904380746070016 + location: + - 46.174877688799974 + - 98.86196340031226 + producers: + node-101: + latency-ms: 5.0 + node-102: + latency-ms: 2.0 + node-117: + latency-ms: 4.0 + node-120: + latency-ms: 46.0 + node-127: + latency-ms: 1.0 + node-130: + latency-ms: 7.0 + node-132: + latency-ms: 1.0 + node-135: + latency-ms: 6.0 + node-145: + latency-ms: 9.0 + node-146: + latency-ms: 3.0 + node-147: + latency-ms: 2.0 + node-154: + latency-ms: 4.0 + node-157: + latency-ms: 45.0 + node-162: + latency-ms: 1.0 + node-168: + latency-ms: 3.0 + node-169: + latency-ms: 3.0 + node-182: + latency-ms: 5.0 + node-183: + latency-ms: 5.0 + node-185: + latency-ms: 40.0 + node-187: + latency-ms: 7.0 + node-189: + latency-ms: 7.0 + node-191: + latency-ms: 6.0 + node-98: + stake: 1745189336635199488 + location: + - 57.93225892654101 + - 37.400126114975066 + producers: + node-101: + latency-ms: 17.0 + node-108: + latency-ms: 1.0 + node-112: + latency-ms: 13.0 + node-115: + latency-ms: 19.0 + node-133: + latency-ms: 14.0 + node-135: + latency-ms: 14.0 + node-141: + latency-ms: 16.0 + node-144: + latency-ms: 37.0 + node-145: + latency-ms: 16.0 + node-149: + latency-ms: 11.0 + node-152: + latency-ms: 2.0 + node-160: + latency-ms: 54.0 + node-162: + latency-ms: 19.0 + node-163: + latency-ms: 3.0 + node-164: + latency-ms: 0.0 + node-173: + latency-ms: 0.0 + node-181: + latency-ms: 2.0 + node-182: + latency-ms: 15.0 + node-186: + latency-ms: 13.0 + node-189: + latency-ms: 16.0 + node-190: + latency-ms: 1.0 + node-192: + latency-ms: 41.0 + node-99: + stake: 1930668437997123584 + location: + - 54.562117545478344 + - 84.91596149263404 + producers: + node-100: + latency-ms: 3.0 + node-102: + latency-ms: 7.0 + node-114: + latency-ms: 1.0 + node-117: + latency-ms: 4.0 + node-129: + latency-ms: 24.0 + node-132: + latency-ms: 6.0 + node-133: + latency-ms: 3.0 + node-135: + latency-ms: 1.0 + node-140: + latency-ms: 7.0 + node-141: + latency-ms: 2.0 + node-152: + latency-ms: 15.0 + node-154: + latency-ms: 2.0 + node-164: + latency-ms: 13.0 + node-169: + latency-ms: 5.0 + node-176: + latency-ms: 3.0 + node-182: + latency-ms: 2.0 + node-183: + latency-ms: 1.0 + node-184: + latency-ms: 4.0 + node-186: + latency-ms: 0.0 + node-187: + latency-ms: 4.0 + node-188: + latency-ms: 3.0 + node-189: + latency-ms: 5.0 + node-193: + latency-ms: 3.0 diff --git a/ui/public/traces/100xsummary.jsonl.gz b/ui/public/traces/100xsummary.jsonl.gz new file mode 100644 index 000000000..1f67dd97d --- /dev/null +++ b/ui/public/traces/100xsummary.jsonl.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dea5e6b659ca40ddb93154586f30654851d25afb9ae792072ffdd2173c98d0c +size 41430131 diff --git a/ui/public/traces/10xsummary.jsonl.gz b/ui/public/traces/10xsummary.jsonl.gz new file mode 100644 index 000000000..3f4254134 --- /dev/null +++ b/ui/public/traces/10xsummary.jsonl.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b3646e613e38c9a9c7cba1516030f2daee22c0e1accb5e56419b405ab0b1eaa +size 17086322 diff --git a/ui/public/traces/1xsummary.jsonl.gz b/ui/public/traces/1xsummary.jsonl.gz new file mode 100644 index 000000000..7e7c15b4c --- /dev/null +++ b/ui/public/traces/1xsummary.jsonl.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:925fc1e0f6b9a45f4122ceccf41c7c6bdb6a9bc71a239faca88f523b93c03712 +size 10095171 diff --git a/ui/src/components/Graph/modules/NodeStats.tsx b/ui/src/components/Graph/modules/NodeStats.tsx index 9acdf95cf..8d4374e24 100644 --- a/ui/src/components/Graph/modules/NodeStats.tsx +++ b/ui/src/components/Graph/modules/NodeStats.tsx @@ -3,9 +3,6 @@ import { printBytes } from "@/utils"; import { FC, useMemo, useRef } from "react"; import { Cell, Pie, PieChart, ResponsiveContainer, Tooltip } from "recharts"; -interface ILabelProps { -} - export const NodeStats: FC = () => { const { state: { diff --git a/ui/src/components/Sim/SimWrapper.tsx b/ui/src/components/Sim/SimWrapper.tsx index 54403d816..3244289a3 100644 --- a/ui/src/components/Sim/SimWrapper.tsx +++ b/ui/src/components/Sim/SimWrapper.tsx @@ -7,10 +7,10 @@ import { parse } from "yaml"; import { Coord2D, Node } from "../../../../data/simulation/topology"; import { BlocksView } from "../Blocks/BlocksView"; import { GraphWrapper } from "../Graph/GraphWrapper"; -import { BatchSize } from "./modules/BatchSize"; import { Controls } from "./modules/Controls"; import { Scenario } from "./modules/Scenario"; import { Progress } from "./modules/Slider"; +import { Speed } from "./modules/Speed"; import { Stats } from "./modules/Stats"; import { ITransformedNode } from "./types"; @@ -98,7 +98,7 @@ export const SimWrapper: FC = ({
- +
diff --git a/ui/src/components/Sim/hooks/useStreamMessagesHandler.tsx b/ui/src/components/Sim/hooks/useStreamMessagesHandler.ts similarity index 90% rename from ui/src/components/Sim/hooks/useStreamMessagesHandler.tsx rename to ui/src/components/Sim/hooks/useStreamMessagesHandler.ts index 62b1fdd2b..63b0d04a8 100644 --- a/ui/src/components/Sim/hooks/useStreamMessagesHandler.tsx +++ b/ui/src/components/Sim/hooks/useStreamMessagesHandler.ts @@ -6,8 +6,10 @@ import StreamWorker from './worker?worker'; export const useStreamMessagesHandler = () => { const { state: { - batchSize, tracePath, + aggregated, + batchSize, + speedMultiplier, }, dispatch } = useSimContext(); @@ -21,10 +23,12 @@ export const useStreamMessagesHandler = () => { worker.postMessage({ type: "START", tracePath, + aggregated, batchSize, + speedMultiplier, }); setStreaming(true); - }, [worker, tracePath, batchSize]); + }, [worker, tracePath, aggregated, batchSize, speedMultiplier]); const stopStream = useCallback(() => { worker.postMessage({ type: "STOP" }); diff --git a/ui/src/components/Sim/hooks/worker.ts b/ui/src/components/Sim/hooks/worker.ts index ad7e439d2..21c029724 100644 --- a/ui/src/components/Sim/hooks/worker.ts +++ b/ui/src/components/Sim/hooks/worker.ts @@ -1,27 +1,31 @@ import { ISimulationAggregatedDataState, ISimulationIntermediateDataState } from '@/contexts/SimContext/types'; -import * as cbor from 'cbor'; +import * as cbor from 'cborg'; import type { ReadableStream } from 'stream/web'; import { IServerMessage } from '../types'; import { processMessage } from './utils'; export type TWorkerRequest = - { type: "START", tracePath: string, batchSize: number } | + { type: "START", tracePath: string, aggregated: true, speedMultiplier: number } | + { type: "START", tracePath: string, aggregated?: false, batchSize: number } | { type: "STOP" }; export type TWorkerResponse = { type: "EVENT", tracePath: string, aggregatedData: ISimulationAggregatedDataState } | { type: "DONE", tracePath: string }; -const createEventStream = async (path: string, signal: AbortSignal): Promise> => { +const createEventStream = async (path: string, signal: AbortSignal): Promise> => { const res = await fetch(path, { signal }); if (!res.body) { throw new Error("body not streamed"); } + if (path.endsWith('.gz')) { + path = path.substring(0, path.length - 3); + } const transform = path.endsWith('.cbor') ? createCborTransformer() : createJsonTransformer(); - return res.body.pipeThrough(transform) as unknown as ReadableStream; + return res.body.pipeThrough(transform) as unknown as ReadableStream; } -const createJsonTransformer = (): TransformStream => { +const createJsonTransformer = (): TransformStream => { let buffer = ""; const decoder = new TextDecoder(); return new TransformStream({ @@ -38,18 +42,18 @@ const createJsonTransformer = (): TransformStream => }); } -const createCborTransformer = (): TransformStream => { +const createCborTransformer = (): TransformStream => { let buffer: Buffer | null = null; return new TransformStream({ transform(chunk, controller) { buffer = buffer ? Buffer.concat([buffer, chunk]) : Buffer.from(chunk); while (buffer != null) { try { - const { value, unused } = cbor.decodeFirstSync(buffer, { extendedResults: true }); + const [value, unused] = cbor.decodeFirst(buffer); buffer = unused as Buffer; controller.enqueue(value); } catch (error: any) { - if (error.message === 'Insufficient data') { + if (error.message.startsWith('CBOR decode error:')) { break; } else { throw error; @@ -126,6 +130,32 @@ const consumeStream = async ( postMessage({ type: "DONE", tracePath }); } +const consumeAggregateStream = async ( + stream: ReadableStream, + tracePath: string, + speedMultiplier: number, +) => { + let lastTimestamp = 0; + for await (const aggregatedData of stream) { + const nodes = new Map(); + for (const [id, stats] of Object.entries(aggregatedData.nodes)) { + nodes.set(id, stats); + } + aggregatedData.nodes = nodes; + + const elapsedMs = (aggregatedData.progress - lastTimestamp) * 1000; + lastTimestamp = aggregatedData.progress; + await new Promise(resolve => setTimeout(resolve, elapsedMs / speedMultiplier)); + + postMessage({ + type: "EVENT", + tracePath, + aggregatedData, + } as TWorkerResponse); + } + postMessage({ type: "DONE", tracePath }); +} + let controller = new AbortController(); onmessage = (e: MessageEvent) => { controller.abort(); @@ -135,11 +165,22 @@ onmessage = (e: MessageEvent) => { } controller = new AbortController(); - createEventStream(request.tracePath, controller.signal) - .then(stream => consumeStream(stream, request.tracePath, request.batchSize)) - .catch(err => { - if (err.name !== "AbortError") { - throw err; - } - }); + if (request.aggregated) { + createEventStream(request.tracePath, controller.signal) + .then(stream => consumeAggregateStream(stream, request.tracePath, request.speedMultiplier)) + .catch(err => { + if (err.name !== "AbortError") { + throw err; + } + }); + + } else { + createEventStream(request.tracePath, controller.signal) + .then(stream => consumeStream(stream, request.tracePath, request.batchSize)) + .catch(err => { + if (err.name !== "AbortError") { + throw err; + } + }); + } } \ No newline at end of file diff --git a/ui/src/components/Sim/modules/BatchSize.tsx b/ui/src/components/Sim/modules/BatchSize.tsx deleted file mode 100644 index 87f228ead..000000000 --- a/ui/src/components/Sim/modules/BatchSize.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { useSimContext } from "@/contexts/SimContext/context"; -import { FC } from "react"; -import { useStreamMessagesHandler } from "../hooks/useStreamMessagesHandler"; - -export const BatchSize: FC = () => { - const { - state: { batchSize }, - dispatch, - } = useSimContext(); - const { streaming } = useStreamMessagesHandler(); - - return ( -
- - - dispatch({ type: "SET_BATCH_SIZE", payload: Number(e.target.value) }) - } - /> -
- ); -}; diff --git a/ui/src/components/Sim/modules/Scenario.tsx b/ui/src/components/Sim/modules/Scenario.tsx index b772544bc..6bb9c8368 100644 --- a/ui/src/components/Sim/modules/Scenario.tsx +++ b/ui/src/components/Sim/modules/Scenario.tsx @@ -10,11 +10,12 @@ export const Scenario: FC = () => { useEffect(() => { (async () => { - const response = await fetch("scenarios.json"); + const response = await fetch("visualizer/scenarios.json"); const body: { scenarios: IScenario[] } = await response.json(); const scenarios = body.scenarios.map(scenario => ({ ...scenario, - trace: new URL(scenario.trace, window.location.toString()).toString(), + topology: new URL(`visualizer/${scenario.topology}`, window.location.toString()).toString(), + trace: new URL(`visualizer/${scenario.trace}`, window.location.toString()).toString(), })); dispatch({ type: "SET_SCENARIOS", payload: scenarios }); })(); diff --git a/ui/src/components/Sim/modules/Speed.tsx b/ui/src/components/Sim/modules/Speed.tsx new file mode 100644 index 000000000..59ba9c1cf --- /dev/null +++ b/ui/src/components/Sim/modules/Speed.tsx @@ -0,0 +1,57 @@ +import { useSimContext } from "@/contexts/SimContext/context"; +import { FC } from "react"; +import { useStreamMessagesHandler } from "../hooks/useStreamMessagesHandler"; + +export const Speed: FC = () => { + const { + state: { aggregated, batchSize, speedMultiplier }, + dispatch, + } = useSimContext(); + const { streaming } = useStreamMessagesHandler(); + + if (aggregated) { + return ( +
+ + +
+ ); + } else { + return ( +
+ + + dispatch({ + type: "SET_SPEED", payload: { + batchSize: Number(e.target.value), + speedMultiplier, + } + }) + } + /> +
+ ); + + } +}; diff --git a/ui/src/contexts/SimContext/context.ts b/ui/src/contexts/SimContext/context.ts index c60ca05d6..0745ee2ce 100644 --- a/ui/src/contexts/SimContext/context.ts +++ b/ui/src/contexts/SimContext/context.ts @@ -16,6 +16,7 @@ export const defaultAggregatedData: ISimulationAggregatedDataState = { export const defaultState: ISimContextState = { allScenarios: [], activeScenario: '', + aggregated: true, graph: { canvasRef: { current: null }, canvasOffsetX: 0, @@ -25,6 +26,7 @@ export const defaultState: ISimContextState = { blocks: {}, activeTab: Tab.Graph, batchSize: 5000, + speedMultiplier: 10, aggregatedData: defaultAggregatedData, maxTime: 0, tracePath: '', diff --git a/ui/src/contexts/SimContext/reducer.ts b/ui/src/contexts/SimContext/reducer.ts index 9e7525c54..2bf0ee91f 100644 --- a/ui/src/contexts/SimContext/reducer.ts +++ b/ui/src/contexts/SimContext/reducer.ts @@ -15,6 +15,7 @@ export const reducer = ( activeScenario: scenario.name, maxTime: scenario.duration, tracePath: scenario.trace, + aggregated: scenario.aggregated, topologyPath: scenario.topology, } } @@ -30,6 +31,7 @@ export const reducer = ( activeScenario: scenario.name, maxTime: scenario.duration, tracePath: scenario.trace, + aggregated: scenario.aggregated, topologyPath: scenario.topology, topologyLoaded: state.topologyLoaded && scenario.topology === state.topologyPath, graph: { @@ -99,10 +101,11 @@ export const reducer = ( }; } - case "SET_BATCH_SIZE": { + case "SET_SPEED": { return { ...state, - batchSize: action.payload + batchSize: action.payload.batchSize, + speedMultiplier: action.payload.speedMultiplier, } } diff --git a/ui/src/contexts/SimContext/types.ts b/ui/src/contexts/SimContext/types.ts index a89f0ce20..a17d9dc3b 100644 --- a/ui/src/contexts/SimContext/types.ts +++ b/ui/src/contexts/SimContext/types.ts @@ -125,6 +125,7 @@ export interface IScenario { topology: string; duration: number; trace: string; + aggregated: boolean; } export interface ISimContextState { @@ -136,10 +137,12 @@ export interface ISimContextState { aggregatedData: ISimulationAggregatedDataState; maxTime: number; tracePath: string; + aggregated: boolean; topography: ITransformedNodeMap; topologyPath: string; topologyLoaded: boolean; batchSize: number; + speedMultiplier: number; } export type TSimContextActions = @@ -148,7 +151,12 @@ export type TSimContextActions = | { type: "SET_ACTIVE_TAB"; payload: Tab } | { type: "SET_CURRENT_NODE"; payload: string | undefined } | { type: "SET_CURRENT_BLOCK"; payload: number | undefined } - | { type: "SET_BATCH_SIZE"; payload: number } + | { + type: "SET_SPEED"; payload: { + batchSize: number, + speedMultiplier: number, + } + } | { type: "SET_CANVAS_PROPS"; payload: Partial<{ canvasScale: ((prev: number) => number) | number, diff --git a/ui/vite.config.ts b/ui/vite.config.ts index f9f777997..b4e213adb 100644 --- a/ui/vite.config.ts +++ b/ui/vite.config.ts @@ -6,6 +6,7 @@ import { nodePolyfills } from 'vite-plugin-node-polyfills'; // https://vite.dev/config/ export default defineConfig({ + base: '/visualizer', plugins: [react(), tailwindcss(), nodePolyfills()], server: { port: 3000, diff --git a/ui/yarn.lock b/ui/yarn.lock index d15d893f7..bcc02f5b2 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -1,6 +1,6 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -# bun ./bun.lockb --hash: 5B922A279112C0FF-408c96441b5fc012-CD1616088D21BE3E-2e50fde5513a0644 +# bun ./bun.lockb --hash: 96870DF7D5AEDD4A-709a51daa2d05e8b-432F0DD73F35DFE5-c96677935b3e8261 "@ampproject/remapping@^2.2.0": @@ -1104,12 +1104,10 @@ caniuse-lite@^1.0.30001688: resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz" integrity sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q== -cbor@^10.0.3: - version "10.0.3" - resolved "https://registry.npmjs.org/cbor/-/cbor-10.0.3.tgz" - integrity sha512-72Jnj81xMsqepqdcSdf2+fflz/UDsThOHy5hj2MW5F5xzHL8Oa0KQ6I6V9CwVUPxg5pf+W9xp6W2KilaRXWWtw== - dependencies: - nofilter "^3.0.2" +cborg@^4.2.10: + version "4.2.10" + resolved "https://registry.npmjs.org/cborg/-/cborg-4.2.10.tgz" + integrity sha512-ZVA0xrVn8uBfDJYgfKKZzB/93z/Uiz7YtRdBPsZi/gyHNyqFdHMLHURVEk9dejOHepaX0zhcMyNva2/vF972SA== chalk@^4.0.0: version "4.1.2" @@ -2225,11 +2223,6 @@ node-stdlib-browser@^1.2.0: util "^0.12.4" vm-browserify "^1.0.1" -nofilter@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz" - integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== - object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"