@@ -307,57 +307,81 @@ impl Metrics {
307
307
sample : PromSample ,
308
308
) {
309
309
match metric_type {
310
- MetricType :: SimpleGauge ( metric_name) => match metric_name. as_str ( ) {
311
- "parseable_events_ingested" => metrics. parseable_events_ingested += val,
312
- "parseable_events_ingested_size" => metrics. parseable_events_ingested_size += val,
313
- "parseable_lifetime_events_ingested" => {
314
- metrics. parseable_lifetime_events_ingested += val
315
- }
316
- "parseable_lifetime_events_ingested_size" => {
317
- metrics. parseable_lifetime_events_ingested_size += val
318
- }
319
- "parseable_events_deleted" => metrics. parseable_deleted_events_ingested += val,
320
- "parseable_events_deleted_size" => {
321
- metrics. parseable_deleted_events_ingested_size += val
322
- }
323
- "parseable_staging_files" => metrics. parseable_staging_files += val,
324
- "process_resident_memory_bytes" => metrics. process_resident_memory_bytes += val,
325
- _ => { }
326
- } ,
327
- MetricType :: StorageSize ( storage_type) => match storage_type. as_str ( ) {
328
- "staging" => metrics. parseable_storage_size . staging += val,
329
- "data" => metrics. parseable_storage_size . data += val,
330
- _ => { }
331
- } ,
310
+ MetricType :: SimpleGauge ( metric_name) => {
311
+ Self :: process_simple_gauge ( metrics, & metric_name, val)
312
+ }
313
+ MetricType :: StorageSize ( storage_type) => {
314
+ Self :: process_storage_size ( metrics, & storage_type, val)
315
+ }
332
316
MetricType :: DiskUsage ( volume_type) => {
333
- let disk_usage = match volume_type. as_str ( ) {
334
- "data" => & mut metrics. parseable_data_disk_usage ,
335
- "staging" => & mut metrics. parseable_staging_disk_usage ,
336
- "hot_tier" => & mut metrics. parseable_hot_tier_disk_usage ,
337
- _ => return ,
338
- } ;
339
-
340
- match metric_name {
341
- "parseable_total_disk" => disk_usage. total = val as u64 ,
342
- "parseable_used_disk" => disk_usage. used = val as u64 ,
343
- "parseable_available_disk" => disk_usage. available = val as u64 ,
344
- _ => { }
345
- }
317
+ Self :: process_disk_usage ( metrics, & volume_type, val, metric_name)
346
318
}
347
- MetricType :: MemoryUsage ( memory_type) => match memory_type. as_str ( ) {
348
- "total_memory" => metrics. parseable_memory_usage . total = val as u64 ,
349
- "used_memory" => metrics. parseable_memory_usage . used = val as u64 ,
350
- "total_swap" => metrics. parseable_memory_usage . total_swap = val as u64 ,
351
- "used_swap" => metrics. parseable_memory_usage . used_swap = val as u64 ,
352
- _ => { }
353
- } ,
354
- MetricType :: CpuUsage => {
355
- if let Some ( cpu_name) = sample. labels . get ( "cpu_usage" ) {
356
- metrics
357
- . parseable_cpu_usage
358
- . insert ( cpu_name. to_string ( ) , val) ;
359
- }
319
+ MetricType :: MemoryUsage ( memory_type) => {
320
+ Self :: process_memory_usage ( metrics, & memory_type, val)
321
+ }
322
+ MetricType :: CpuUsage => Self :: process_cpu_usage ( metrics, val, sample) ,
323
+ }
324
+ }
325
+
326
+ fn process_simple_gauge ( metrics : & mut Metrics , metric_name : & str , val : f64 ) {
327
+ match metric_name {
328
+ "parseable_events_ingested" => metrics. parseable_events_ingested += val,
329
+ "parseable_events_ingested_size" => metrics. parseable_events_ingested_size += val,
330
+ "parseable_lifetime_events_ingested" => {
331
+ metrics. parseable_lifetime_events_ingested += val
332
+ }
333
+ "parseable_lifetime_events_ingested_size" => {
334
+ metrics. parseable_lifetime_events_ingested_size += val
360
335
}
336
+ "parseable_events_deleted" => metrics. parseable_deleted_events_ingested += val,
337
+ "parseable_events_deleted_size" => {
338
+ metrics. parseable_deleted_events_ingested_size += val
339
+ }
340
+ "parseable_staging_files" => metrics. parseable_staging_files += val,
341
+ "process_resident_memory_bytes" => metrics. process_resident_memory_bytes += val,
342
+ _ => { }
343
+ }
344
+ }
345
+
346
+ fn process_storage_size ( metrics : & mut Metrics , storage_type : & str , val : f64 ) {
347
+ match storage_type {
348
+ "staging" => metrics. parseable_storage_size . staging += val,
349
+ "data" => metrics. parseable_storage_size . data += val,
350
+ _ => { }
351
+ }
352
+ }
353
+
354
+ fn process_disk_usage ( metrics : & mut Metrics , volume_type : & str , val : f64 , metric_name : & str ) {
355
+ let disk_usage = match volume_type {
356
+ "data" => & mut metrics. parseable_data_disk_usage ,
357
+ "staging" => & mut metrics. parseable_staging_disk_usage ,
358
+ "hot_tier" => & mut metrics. parseable_hot_tier_disk_usage ,
359
+ _ => return ,
360
+ } ;
361
+
362
+ match metric_name {
363
+ "parseable_total_disk" => disk_usage. total = val as u64 ,
364
+ "parseable_used_disk" => disk_usage. used = val as u64 ,
365
+ "parseable_available_disk" => disk_usage. available = val as u64 ,
366
+ _ => { }
367
+ }
368
+ }
369
+
370
+ fn process_memory_usage ( metrics : & mut Metrics , memory_type : & str , val : f64 ) {
371
+ match memory_type {
372
+ "total_memory" => metrics. parseable_memory_usage . total = val as u64 ,
373
+ "used_memory" => metrics. parseable_memory_usage . used = val as u64 ,
374
+ "total_swap" => metrics. parseable_memory_usage . total_swap = val as u64 ,
375
+ "used_swap" => metrics. parseable_memory_usage . used_swap = val as u64 ,
376
+ _ => { }
377
+ }
378
+ }
379
+
380
+ fn process_cpu_usage ( metrics : & mut Metrics , val : f64 , sample : PromSample ) {
381
+ if let Some ( cpu_name) = sample. labels . get ( "cpu_usage" ) {
382
+ metrics
383
+ . parseable_cpu_usage
384
+ . insert ( cpu_name. to_string ( ) , val) ;
361
385
}
362
386
}
363
387
0 commit comments