@@ -75,6 +75,10 @@ pub struct Report {
75
75
commit_hash : String ,
76
76
active_ingestors : u64 ,
77
77
inactive_ingestors : u64 ,
78
+ active_indexers : u64 ,
79
+ inactive_indexers : u64 ,
80
+ active_queries : u64 ,
81
+ inactive_queries : u64 ,
78
82
stream_count : usize ,
79
83
total_events_count : u64 ,
80
84
total_json_bytes : u64 ,
@@ -107,7 +111,28 @@ impl Report {
107
111
mem_total = info. total_memory ( ) ;
108
112
}
109
113
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
+ }
110
127
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
+ }
111
136
Ok ( Self {
112
137
deployment_id : storage:: StorageMetadata :: global ( ) . deployment_id ,
113
138
uptime : upt,
@@ -123,6 +148,10 @@ impl Report {
123
148
commit_hash : current ( ) . commit_hash ,
124
149
active_ingestors : ingestor_metrics. 0 ,
125
150
inactive_ingestors : ingestor_metrics. 1 ,
151
+ active_indexers,
152
+ inactive_indexers,
153
+ active_queries,
154
+ inactive_queries,
126
155
stream_count : ingestor_metrics. 2 ,
127
156
total_events_count : ingestor_metrics. 3 ,
128
157
total_json_bytes : ingestor_metrics. 4 ,
@@ -225,11 +254,11 @@ async fn fetch_ingestors_metrics(
225
254
let mut vec = vec ! [ ] ;
226
255
let mut active_ingestors = 0u64 ;
227
256
let mut offline_ingestors = 0u64 ;
228
- if PARSEABLE . options . mode == Mode :: Query {
257
+ if PARSEABLE . options . mode == Mode :: Query || PARSEABLE . options . mode == Mode :: Prism {
229
258
// send analytics for ingest servers
230
259
231
260
// 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 ? ;
233
262
234
263
for im in ingestor_infos {
235
264
if !check_liveness ( & im. domain_name ) . await {
0 commit comments