From 1ea8a4d6678b2e28a241580334642d578f17983d Mon Sep 17 00:00:00 2001 From: Jeremy Frank Date: Mon, 5 Feb 2024 14:42:07 -0700 Subject: [PATCH] add `implementation` to chain stats page --- backend/telemetry_core/src/feed_message.rs | 1 + backend/telemetry_core/src/state/chain_stats.rs | 5 +++++ frontend/src/common/types.ts | 1 + frontend/src/components/Stats/Stats.tsx | 1 + 4 files changed, 8 insertions(+) diff --git a/backend/telemetry_core/src/feed_message.rs b/backend/telemetry_core/src/feed_message.rs index 0d464f0f..87a5fc00 100644 --- a/backend/telemetry_core/src/feed_message.rs +++ b/backend/telemetry_core/src/feed_message.rs @@ -239,6 +239,7 @@ pub struct Ranking { #[derive(Serialize, PartialEq, Eq, Default, Clone)] pub struct ChainStats { pub version: Ranking, + pub implementation: Ranking, pub target_os: Ranking, pub target_arch: Ranking, pub cpu: Ranking, diff --git a/backend/telemetry_core/src/state/chain_stats.rs b/backend/telemetry_core/src/state/chain_stats.rs index 14cf05b2..079e3c61 100644 --- a/backend/telemetry_core/src/state/chain_stats.rs +++ b/backend/telemetry_core/src/state/chain_stats.rs @@ -102,6 +102,7 @@ fn bucket_memory(memory: u64) -> (u32, Option) { #[derive(Default, Clone)] pub struct ChainStatsCollator { version: Counter, + implementation: Counter, target_os: Counter, target_arch: Counter, cpu: Counter, @@ -125,6 +126,9 @@ impl ChainStatsCollator { ) { self.version.modify(Some(&*details.version), op); + self.implementation + .modify(Some(&*details.implementation), op); + self.target_os .modify(details.target_os.as_ref().map(|value| &**value), op); @@ -206,6 +210,7 @@ impl ChainStatsCollator { pub fn generate(&self) -> ChainStats { ChainStats { version: self.version.generate_ranking_top(10), + implementation: self.implementation.generate_ranking_top(10), target_os: self.target_os.generate_ranking_top(10), target_arch: self.target_arch.generate_ranking_top(10), cpu: self.cpu.generate_ranking_top(10), diff --git a/frontend/src/common/types.ts b/frontend/src/common/types.ts index 1edfb0b3..8ec363cc 100644 --- a/frontend/src/common/types.ts +++ b/frontend/src/common/types.ts @@ -98,6 +98,7 @@ export type Range = [number, number | null]; export type ChainStats = { version: Maybe>; + implementation: Maybe>; target_os: Maybe>; target_arch: Maybe>; cpu: Maybe>; diff --git a/frontend/src/components/Stats/Stats.tsx b/frontend/src/components/Stats/Stats.tsx index 531bb12d..e0e361d6 100644 --- a/frontend/src/components/Stats/Stats.tsx +++ b/frontend/src/components/Stats/Stats.tsx @@ -154,6 +154,7 @@ export class Stats extends React.Component { const stats = appState.chainStats; if (stats) { add('version', 'Version', identity, stats.version); + add('implementation', 'Implementation', identity, stats.implementation); add('target_os', 'Operating System', identity, stats.target_os); add('target_arch', 'CPU Architecture', identity, stats.target_arch); add('cpu', 'CPU', identity, stats.cpu);