@@ -307,57 +307,81 @@ impl Metrics {
307307 sample : PromSample ,
308308 ) {
309309 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+ }
332316 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)
346318 }
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
360335 }
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) ;
361385 }
362386 }
363387
0 commit comments