@@ -273,57 +273,81 @@ impl Metrics {
273
273
sample : PromSample ,
274
274
) {
275
275
match metric_type {
276
- MetricType :: SimpleGauge ( metric_name) => match metric_name. as_str ( ) {
277
- "parseable_events_ingested" => metrics. parseable_events_ingested += val,
278
- "parseable_events_ingested_size" => metrics. parseable_events_ingested_size += val,
279
- "parseable_lifetime_events_ingested" => {
280
- metrics. parseable_lifetime_events_ingested += val
281
- }
282
- "parseable_lifetime_events_ingested_size" => {
283
- metrics. parseable_lifetime_events_ingested_size += val
284
- }
285
- "parseable_events_deleted" => metrics. parseable_deleted_events_ingested += val,
286
- "parseable_events_deleted_size" => {
287
- metrics. parseable_deleted_events_ingested_size += val
288
- }
289
- "parseable_staging_files" => metrics. parseable_staging_files += val,
290
- "process_resident_memory_bytes" => metrics. process_resident_memory_bytes += val,
291
- _ => { }
292
- } ,
293
- MetricType :: StorageSize ( storage_type) => match storage_type. as_str ( ) {
294
- "staging" => metrics. parseable_storage_size . staging += val,
295
- "data" => metrics. parseable_storage_size . data += val,
296
- _ => { }
297
- } ,
276
+ MetricType :: SimpleGauge ( metric_name) => {
277
+ Self :: process_simple_gauge ( metrics, & metric_name, val)
278
+ }
279
+ MetricType :: StorageSize ( storage_type) => {
280
+ Self :: process_storage_size ( metrics, & storage_type, val)
281
+ }
298
282
MetricType :: DiskUsage ( volume_type) => {
299
- let disk_usage = match volume_type. as_str ( ) {
300
- "data" => & mut metrics. parseable_data_disk_usage ,
301
- "staging" => & mut metrics. parseable_staging_disk_usage ,
302
- "hot_tier" => & mut metrics. parseable_hot_tier_disk_usage ,
303
- _ => return ,
304
- } ;
305
-
306
- match metric_name {
307
- "parseable_total_disk" => disk_usage. total = val as u64 ,
308
- "parseable_used_disk" => disk_usage. used = val as u64 ,
309
- "parseable_available_disk" => disk_usage. available = val as u64 ,
310
- _ => { }
311
- }
283
+ Self :: process_disk_usage ( metrics, & volume_type, val, metric_name)
312
284
}
313
- MetricType :: MemoryUsage ( memory_type) => match memory_type . as_str ( ) {
314
- "total_memory" => metrics. parseable_memory_usage . total = val as u64 ,
315
- "used_memory" => metrics . parseable_memory_usage . used = val as u64 ,
316
- "total_swap" => metrics. parseable_memory_usage . total_swap = val as u64 ,
317
- "used_swap" => metrics . parseable_memory_usage . used_swap = val as u64 ,
318
- _ => { }
319
- } ,
320
- MetricType :: CpuUsage => {
321
- if let Some ( cpu_name ) = sample . labels . get ( "cpu_usage" ) {
322
- metrics
323
- . parseable_cpu_usage
324
- . insert ( cpu_name . to_string ( ) , val ) ;
325
- }
285
+ MetricType :: MemoryUsage ( memory_type) => {
286
+ Self :: process_memory_usage ( metrics, & memory_type , val)
287
+ }
288
+ MetricType :: CpuUsage => Self :: process_cpu_usage ( metrics, val, sample ) ,
289
+ }
290
+ }
291
+
292
+ fn process_simple_gauge ( metrics : & mut Metrics , metric_name : & str , val : f64 ) {
293
+ match metric_name {
294
+ "parseable_events_ingested" => metrics . parseable_events_ingested += val ,
295
+ "parseable_events_ingested_size" => metrics . parseable_events_ingested_size += val ,
296
+ "parseable_lifetime_events_ingested" => {
297
+ metrics . parseable_lifetime_events_ingested += val
326
298
}
299
+ "parseable_lifetime_events_ingested_size" => {
300
+ metrics. parseable_lifetime_events_ingested_size += val
301
+ }
302
+ "parseable_events_deleted" => metrics. parseable_deleted_events_ingested += val,
303
+ "parseable_events_deleted_size" => {
304
+ metrics. parseable_deleted_events_ingested_size += val
305
+ }
306
+ "parseable_staging_files" => metrics. parseable_staging_files += val,
307
+ "process_resident_memory_bytes" => metrics. process_resident_memory_bytes += val,
308
+ _ => { }
309
+ }
310
+ }
311
+
312
+ fn process_storage_size ( metrics : & mut Metrics , storage_type : & str , val : f64 ) {
313
+ match storage_type {
314
+ "staging" => metrics. parseable_storage_size . staging += val,
315
+ "data" => metrics. parseable_storage_size . data += val,
316
+ _ => { }
317
+ }
318
+ }
319
+
320
+ fn process_disk_usage ( metrics : & mut Metrics , volume_type : & str , val : f64 , metric_name : & str ) {
321
+ let disk_usage = match volume_type {
322
+ "data" => & mut metrics. parseable_data_disk_usage ,
323
+ "staging" => & mut metrics. parseable_staging_disk_usage ,
324
+ "hot_tier" => & mut metrics. parseable_hot_tier_disk_usage ,
325
+ _ => return ,
326
+ } ;
327
+
328
+ match metric_name {
329
+ "parseable_total_disk" => disk_usage. total = val as u64 ,
330
+ "parseable_used_disk" => disk_usage. used = val as u64 ,
331
+ "parseable_available_disk" => disk_usage. available = val as u64 ,
332
+ _ => { }
333
+ }
334
+ }
335
+
336
+ fn process_memory_usage ( metrics : & mut Metrics , memory_type : & str , val : f64 ) {
337
+ match memory_type {
338
+ "total_memory" => metrics. parseable_memory_usage . total = val as u64 ,
339
+ "used_memory" => metrics. parseable_memory_usage . used = val as u64 ,
340
+ "total_swap" => metrics. parseable_memory_usage . total_swap = val as u64 ,
341
+ "used_swap" => metrics. parseable_memory_usage . used_swap = val as u64 ,
342
+ _ => { }
343
+ }
344
+ }
345
+
346
+ fn process_cpu_usage ( metrics : & mut Metrics , val : f64 , sample : PromSample ) {
347
+ if let Some ( cpu_name) = sample. labels . get ( "cpu_usage" ) {
348
+ metrics
349
+ . parseable_cpu_usage
350
+ . insert ( cpu_name. to_string ( ) , val) ;
327
351
}
328
352
}
329
353
0 commit comments