Skip to content

Commit 538d758

Browse files
active/inactive indexers and queriers in analytics
1 parent 9e20678 commit 538d758

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

src/analytics.rs

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ pub struct Report {
7575
commit_hash: String,
7676
active_ingestors: u64,
7777
inactive_ingestors: u64,
78+
active_indexers: u64,
79+
inactive_indexers: u64,
80+
active_queries: u64,
81+
inactive_queries: u64,
7882
stream_count: usize,
7983
total_events_count: u64,
8084
total_json_bytes: u64,
@@ -107,7 +111,28 @@ impl Report {
107111
mem_total = info.total_memory();
108112
}
109113
let ingestor_metrics = fetch_ingestors_metrics().await?;
114+
let mut active_indexers = 0;
115+
let mut inactive_indexers = 0;
116+
let mut active_queries = 0;
117+
let mut inactive_queries = 0;
118+
119+
let indexer_infos: Vec<NodeMetadata> = cluster::get_node_info("indexer").await?;
120+
for indexer in indexer_infos {
121+
if check_liveness(&indexer.domain_name).await {
122+
active_indexers += 1;
123+
} else {
124+
inactive_indexers += 1;
125+
}
126+
}
110127

128+
let query_infos: Vec<NodeMetadata> = cluster::get_node_info("query").await?;
129+
for query in query_infos {
130+
if check_liveness(&query.domain_name).await {
131+
active_queries += 1;
132+
} else {
133+
inactive_queries += 1;
134+
}
135+
}
111136
Ok(Self {
112137
deployment_id: storage::StorageMetadata::global().deployment_id,
113138
uptime: upt,
@@ -123,6 +148,10 @@ impl Report {
123148
commit_hash: current().commit_hash,
124149
active_ingestors: ingestor_metrics.0,
125150
inactive_ingestors: ingestor_metrics.1,
151+
active_indexers,
152+
inactive_indexers,
153+
active_queries,
154+
inactive_queries,
126155
stream_count: ingestor_metrics.2,
127156
total_events_count: ingestor_metrics.3,
128157
total_json_bytes: ingestor_metrics.4,
@@ -225,11 +254,11 @@ async fn fetch_ingestors_metrics(
225254
let mut vec = vec![];
226255
let mut active_ingestors = 0u64;
227256
let mut offline_ingestors = 0u64;
228-
if PARSEABLE.options.mode == Mode::Query {
257+
if PARSEABLE.options.mode == Mode::Query || PARSEABLE.options.mode == Mode::Prism {
229258
// send analytics for ingest servers
230259

231260
// ingestor infos should be valid here, if not some thing is wrong
232-
let ingestor_infos: Vec<NodeMetadata> = cluster::get_node_info("ingestor").await.unwrap();
261+
let ingestor_infos: Vec<NodeMetadata> = cluster::get_node_info("ingestor").await?;
233262

234263
for im in ingestor_infos {
235264
if !check_liveness(&im.domain_name).await {

0 commit comments

Comments
 (0)