Skip to content

Commit

Permalink
Website daily update for 2024-10-21T02-04-11
Browse files Browse the repository at this point in the history
  • Loading branch information
probelab-cmi committed Oct 21, 2024
1 parent 97f5b5e commit 80e7e87
Show file tree
Hide file tree
Showing 14 changed files with 147 additions and 0 deletions.
94 changes: 94 additions & 0 deletions content.en/ethereum/block_arrival/2024-41-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
title: Week 2024-41
plotly: true
slug: 2024-41
weight: 1045618
---

# Celestia Report Cal. Week 41 - 2024

## General Information

The following results show measurement data that were collected in calendar week 41 in 2024 from `2024-10-07` to `2024-10-14`.

- Number of crawls `336`
- Number of visits `176,614`
> Visiting a peer means dialing or connecting to it. Every time the crawler or monitoring process tries to dial or connect to a peer we consider this as _visiting_ it. Regardless of errors that may occur.
- Number of unique peer IDs visited `225`
- Number of unique peer IDs discovered in the DHT `225`
- Number of unique IP addresses found `218`

Timestamps are in UTC if not mentioned otherwise.

## Agents

This plot shows the distribution of various user agents over time.

{{< plotly json="/plots/2024/10/07/celestia-agents-overall-stacked.json" height="600px" >}}

## Churn Analysis

This visualizes the uptime of peers over a specific period of time. The plot may display trends in churn rate, distribution of uptime periods, or patterns in peer activity. It helps analyze the stability and reliability of the network by identifying fluctuations in peer participation and examining potential factors influencing churn.

> 💡 Note that for agents without an agent version, they're suffixed with `0`.
{{< plotly json="/plots/2024/10/07/celestia-plot-churn.json" height="800px" >}}

## Geolocation

Geographical data is sourced from the [MaxMind database](https://www.maxmind.com), which maps IP addresses to corresponding countries.

This bar plot illustrates the distribution of observed nodes across different countries.

{{< plotly json="/plots/2024/10/07/celestia-geo-agent-All-bars.json" height="600px" >}}

This plot displays the weekly geographical distribution of nodes, categorized by country.

{{< plotly json="/plots/2024/10/07/celestia-geo-agent-All-lines.json" height="600px" >}}

### Cloud Providers

Cloud providers data is sourced from [Udger](https://udger.com/resources/datacenter-list), which maps IP addresses to known hosting providers.

#### Cloud Hosting Rate

This line chart displays the count of nodes within the Celestia network that are hosted on known commercial cloud providers, compared to those that are not. It tracks the distribution over a specified period, offering insights into the infrastructure preferences for node hosting.

Regular analysis of this chart can reveal trends in the adoption of cloud services for nodes. Such information is crucial for understanding the network's resilience and the potential reliance on cloud infrastructure.

{{< plotly json="/plots/2024/10/07/celestia-cloud-rate-agent-All-lines.json" height="600px" >}}

This bar chart presents the weekly distribution of Celestia nodes among various cloud providers, including nodes not hosted within data centers (grouped under _Non-Datacenter_).

{{< plotly json="/plots/2024/10/07/celestia-cloud-agent-All-bars.json" height="600px" >}}

The line chart illustrates the trends in the distribution of all Celestia nodes across cloud providers over the given time period. Note that nodes hosted outside of data centers are not included in this representation.

{{< plotly json="/plots/2024/10/07/celestia-cloud-agent-All-lines.json" height="600px" >}}

## Crawls

### Protocols

This plot illustrates the evolving count of nodes supporting each of the listed protocols over time. It exclusively presents data gathered from nodes accessible through a libp2p connection via our crawler. The identification of supported protocols relies on the [libp2p identify protocol](https://github.com/libp2p/specs/tree/master/identify), hence necessitating a libp2p connection for discovery.

{{< plotly json="/plots/2024/10/07/celestia-crawl-protocols.json" height="1200px" >}}

### Errors

{{< plotly json="/plots/2024/10/07/celestia-connection-errors-single.json" height="600px" >}}

{{< plotly json="/plots/2024/10/07/celestia-crawl-errors-single.json" height="600px" >}}


## Stale Node Records

### All Peers

This stacked plot depicts the count of node records stored within each node's routing table and made accessible through the DHT. These node records serve as a mechanism through which nodes discover new remote nodes in the network.

Ensuring the reachability of referenced nodes shared within the network holds paramount importance. The plot delineates the occurrences of reachable and non-reachable (stale) node records. Note that nodes running behind a NAT are counted as unreachable even though they may be online.

For instance, if a node's record is present in the routing tables of 100 other nodes and the node is reachable, the plot will reflect an increase of 100 in the _online_ category.

{{< plotly json="/plots/2024/10/07/celestia-stale-records-stacked.json" height="600px" >}}
41 changes: 41 additions & 0 deletions content.en/ethereum/block_arrival/2024-42-block-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: Week 2024-42
plotly: true
slug: 2024-42
weight: 1045617
---

# Ethereum block broadcasting latency report 2024-42

The following results show measurement data that were collected in **calendar week** 42 **of** 2024 from `2024-10-14` to `2024-10-21`.

This report provides charts and metrics for the beacon block broadcasting latency on the Ethereum network. The methodology we used is available [here](../methodology).

## Block arrival time within the slot
The line plot displays the Cumulative Distribution Function (CDF) of the block arrival times within the slot for the different Ethereum clients (listed [here](../methodology#data-source)). The line plot aggregates all the locations we collect data from for each client.

{{< plotly json="/plots/2024/10/14/gossipsub_arrival_times_within_slot_by_agent_on_mainnet_beacon_block.json" height="600px" >}}

The following line plot shows the CDF of the block arrival time within the slot, aggregating all the data points by the continent that the clients were in.

{{< plotly json="/plots/2024/10/14/gossipsub_arrival_times_within_slot_on_by_continent_mainnet_beacon_block.json" height="600px" >}}

## Block arrival time to block size correlation
The following heatmap shows the concentration of block arrival times, aggregating the block size in 50KB range increments. The number displayed within each square represents the corresponding percentage of blocks falling into: i) the block size, and ii) arrival time, out of the total number of blocks seen.

{{< plotly json="/plots/2024/10/14/message_arrival_time_and_size_correlation_heatmap_on_mainnet_beacon_block.json" height="600px" >}}

## Block arrival time over epochs
The line plot shows the maximum, minimum, mean and median values of the block arrival times aggregated over a range of 4 epochs.

_NOTE: The time aggregation is done over windows of 4 epochs (or 1536 seconds)._

{{< plotly json="/plots/2024/10/14/message_arrivals_max_min_on_1536s_window_on_topic_mainnet_beacon_block.json" height="600px" >}}

The following line plot shows the time distribution of the mean block arrival time aggregated by client type and over time windows of 4 epochs.

{{< plotly json="/plots/2024/10/14/message_arrival_time_on_1536s_window_by_agents_on_topic_mainnet_beacon_block.json" height="600px" >}}

Lastly, the following line plot displays the time distribution of the mean block arrival times, aggregated by continent and over time windows of 4 epochs.

{{< plotly json="/plots/2024/10/14/message_arrival_time_on_1536s_window_by_continent_on_topic_mainnet_beacon_block.json" height="600px" >}}

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"data": [{"coloraxis": "coloraxis", "name": "0", "texttemplate": "%{z}", "x": ["0.0-0.5", "0.5-1.0", "1.0-1.5", "1.5-2.0", "2.0-2.5", "2.5-3.0", "3.0-3.5", "3.5-4.0", "4.0-4.5", "4.5-5.0", "5.0-5.5", "5.5-6.0", "6.0-6.5", "6.5-7.0", "7.0-7.5", "7.5-8.0", "8.0-8.5", "8.5-9.0", "9.0-9.5", "9.5-10.0", "10.0-10.5", "10.5-11.0", "11.0-11.5"], "y": ["600.0-650.0", "500.0-550.0", "400.0-450.0", "350.0-400.0", "300.0-350.0", "250.0-300.0", "200.0-250.0", "150.0-200.0", "100.0-150.0", "50.0-100.0", "0-50", "0.0-50.0"], "z": [[null, null, null, 0.0019798059790140567, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, 0.0019798059790140567, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, 0.0019798059790140567, 0.0039596119580281135, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, 0.0019798059790140567, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, 0.019798059790140567, 0.019798059790140567, 0.015838447832112454, 0.007919223916056227, 0.0019798059790140567, 0.0019798059790140567, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, 0.02771728370619679, 0.043555731538309245, 0.02375767174816868, 0.01187883587408434, 0.009899029895070284, 0.0019798059790140567, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, 0.0039596119580281135, 0.03167689566422491, 0.0732528212235201, 0.02771728370619679, 0.013858641853098395, 0.01781825381112651, 0.0019798059790140567, null, null, null, null, null, 0.0019798059790140567, null, null, null, null, null, null, null, null, null], [0.0019798059790140567, 0.0039596119580281135, 0.05543456741239358, 0.1682835082161948, 0.05543456741239358, 0.021777865769154622, 0.01187883587408434, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [0.0019798059790140567, 0.015838447832112454, 0.5048505246485845, 0.9780241536329439, 0.3108295387052069, 0.11680855276182933, 0.1682835082161948, 0.01781825381112651, 0.0039596119580281135, 0.0019798059790140567, null, null, null, null, null, 0.0019798059790140567, null, null, null, null, null, null, 0.0019798059790140567], [0.021777865769154622, 0.23361710552365866, 6.525440506830331, 10.403880419718869, 3.2191645218768565, 1.7580677093644823, 1.5442486636309642, 0.17818253811126508, 0.015838447832112454, 0.013858641853098395, null, 0.0039596119580281135, null, 0.00593941793704217, 0.0039596119580281135, 0.0019798059790140567, 0.00593941793704217, null, null, null, 0.0019798059790140567, null, null], [0.2930112848940804, 0.36626410611760046, 1.7560879033854682, 1.6570976044347656, 0.4216986735299941, 0.2831122549990101, 0.08315185111859037, 0.015838447832112454, 0.01187883587408434, 0.0019798059790140567, 0.0039596119580281135, 0.0019798059790140567, 0.00593941793704217, 0.0019798059790140567, 0.0019798059790140567, 0.0019798059790140567, null, 0.0019798059790140567, null, 0.0039596119580281135, 0.0019798059790140567, null, null], [0.6889724806968917, 1.7343100376163136, 22.680657295585032, 28.22807364878242, 7.942981587804396, 4.0764205107899425, 2.5480102949910908, 0.26331419520886956, 0.05345476143337953, 0.025737477727182736, 0.009899029895070284, 0.013858641853098395, 0.019798059790140567, 0.025737477727182736, 0.00593941793704217, 0.0039596119580281135, null, 0.0039596119580281135, 0.0019798059790140567, 0.0019798059790140567, 0.0019798059790140567, 0.0019798059790140567, null]], "type": "heatmap", "xaxis": "x", "yaxis": "y", "hovertemplate": "arrival_t: %{x}<br>size_range: %{y}<br>color: %{z}<extra></extra>"}], "layout": {"template": {"data": {"scatter": [{"type": "scatter"}]}}, "xaxis": {"anchor": "y", "domain": [0.0, 1.0], "title": {"text": "Arrival time within slot"}}, "yaxis": {"anchor": "x", "domain": [0.0, 1.0], "autorange": "reversed", "title": {"text": "Size (KB)"}}, "coloraxis": {"colorscale": [[0.0, "#440154"], [0.1111111111111111, "#482878"], [0.2222222222222222, "#3e4989"], [0.3333333333333333, "#31688e"], [0.4444444444444444, "#26828e"], [0.5555555555555556, "#1f9e89"], [0.6666666666666666, "#35b779"], [0.7777777777777778, "#6ece58"], [0.8888888888888888, "#b5de2b"], [1.0, "#fde725"]]}, "margin": {"t": 60}, "title": {}}}

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

0 comments on commit 80e7e87

Please sign in to comment.