@@ -273,57 +273,81 @@ impl Metrics {
273273 sample : PromSample ,
274274 ) {
275275 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+ }
298282 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)
312284 }
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
326298 }
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) ;
327351 }
328352 }
329353
0 commit comments