@@ -372,11 +372,12 @@ def _get_system_cpu_time(self, observer: metrics.ValueObserver) -> None:
372372 """
373373 for cpu , times in enumerate (psutil .cpu_times (percpu = True )):
374374 for metric in self ._config ["system.cpu.time" ]:
375- self ._system_cpu_time_labels ["state" ] = metric
376- self ._system_cpu_time_labels ["cpu" ] = cpu + 1
377- observer .observe (
378- getattr (times , metric ), self ._system_cpu_time_labels
379- )
375+ if hasattr (times , metric ):
376+ self ._system_cpu_time_labels ["state" ] = metric
377+ self ._system_cpu_time_labels ["cpu" ] = cpu + 1
378+ observer .observe (
379+ getattr (times , metric ), self ._system_cpu_time_labels
380+ )
380381
381382 def _get_system_cpu_utilization (
382383 self , observer : metrics .ValueObserver
@@ -391,12 +392,13 @@ def _get_system_cpu_utilization(
391392 psutil .cpu_times_percent (percpu = True )
392393 ):
393394 for metric in self ._config ["system.cpu.utilization" ]:
394- self ._system_cpu_utilization_labels ["state" ] = metric
395- self ._system_cpu_utilization_labels ["cpu" ] = cpu + 1
396- observer .observe (
397- getattr (times_percent , metric ) / 100 ,
398- self ._system_cpu_utilization_labels ,
399- )
395+ if hasattr (times_percent , metric ):
396+ self ._system_cpu_utilization_labels ["state" ] = metric
397+ self ._system_cpu_utilization_labels ["cpu" ] = cpu + 1
398+ observer .observe (
399+ getattr (times_percent , metric ) / 100 ,
400+ self ._system_cpu_utilization_labels ,
401+ )
400402
401403 def _get_system_memory_usage (
402404 self , observer : metrics .ValueObserver
@@ -409,10 +411,11 @@ def _get_system_memory_usage(
409411 virtual_memory = psutil .virtual_memory ()
410412 for metric in self ._config ["system.memory.usage" ]:
411413 self ._system_memory_usage_labels ["state" ] = metric
412- observer .observe (
413- getattr (virtual_memory , metric ),
414- self ._system_memory_usage_labels ,
415- )
414+ if hasattr (virtual_memory , metric ):
415+ observer .observe (
416+ getattr (virtual_memory , metric ),
417+ self ._system_memory_usage_labels ,
418+ )
416419
417420 def _get_system_memory_utilization (
418421 self , observer : metrics .ValueObserver
@@ -426,10 +429,11 @@ def _get_system_memory_utilization(
426429
427430 for metric in self ._config ["system.memory.utilization" ]:
428431 self ._system_memory_utilization_labels ["state" ] = metric
429- observer .observe (
430- getattr (system_memory , metric ) / system_memory .total ,
431- self ._system_memory_utilization_labels ,
432- )
432+ if hasattr (system_memory , metric ):
433+ observer .observe (
434+ getattr (system_memory , metric ) / system_memory .total ,
435+ self ._system_memory_utilization_labels ,
436+ )
433437
434438 def _get_system_swap_usage (self , observer : metrics .ValueObserver ) -> None :
435439 """Observer callback for swap usage
@@ -441,9 +445,11 @@ def _get_system_swap_usage(self, observer: metrics.ValueObserver) -> None:
441445
442446 for metric in self ._config ["system.swap.usage" ]:
443447 self ._system_swap_usage_labels ["state" ] = metric
444- observer .observe (
445- getattr (system_swap , metric ), self ._system_swap_usage_labels
446- )
448+ if hasattr (system_swap , metric ):
449+ observer .observe (
450+ getattr (system_swap , metric ),
451+ self ._system_swap_usage_labels ,
452+ )
447453
448454 def _get_system_swap_utilization (
449455 self , observer : metrics .ValueObserver
@@ -456,11 +462,12 @@ def _get_system_swap_utilization(
456462 system_swap = psutil .swap_memory ()
457463
458464 for metric in self ._config ["system.swap.utilization" ]:
459- self ._system_swap_utilization_labels ["state" ] = metric
460- observer .observe (
461- getattr (system_swap , metric ) / system_swap .total ,
462- self ._system_swap_utilization_labels ,
463- )
465+ if hasattr (system_swap , metric ):
466+ self ._system_swap_utilization_labels ["state" ] = metric
467+ observer .observe (
468+ getattr (system_swap , metric ) / system_swap .total ,
469+ self ._system_swap_utilization_labels ,
470+ )
464471
465472 # TODO Add _get_system_swap_page_faults
466473 # TODO Add _get_system_swap_page_operations
@@ -473,12 +480,13 @@ def _get_system_disk_io(self, observer: metrics.SumObserver) -> None:
473480 """
474481 for device , counters in psutil .disk_io_counters (perdisk = True ).items ():
475482 for metric in self ._config ["system.disk.io" ]:
476- self ._system_disk_io_labels ["device" ] = device
477- self ._system_disk_io_labels ["direction" ] = metric
478- observer .observe (
479- getattr (counters , "{}_bytes" .format (metric )),
480- self ._system_disk_io_labels ,
481- )
483+ if hasattr (counters , "{}_bytes" .format (metric )):
484+ self ._system_disk_io_labels ["device" ] = device
485+ self ._system_disk_io_labels ["direction" ] = metric
486+ observer .observe (
487+ getattr (counters , "{}_bytes" .format (metric )),
488+ self ._system_disk_io_labels ,
489+ )
482490
483491 def _get_system_disk_operations (
484492 self , observer : metrics .SumObserver
@@ -490,12 +498,13 @@ def _get_system_disk_operations(
490498 """
491499 for device , counters in psutil .disk_io_counters (perdisk = True ).items ():
492500 for metric in self ._config ["system.disk.operations" ]:
493- self ._system_disk_operations_labels ["device" ] = device
494- self ._system_disk_operations_labels ["direction" ] = metric
495- observer .observe (
496- getattr (counters , "{}_count" .format (metric )),
497- self ._system_disk_operations_labels ,
498- )
501+ if hasattr (counters , "{}_count" .format (metric )):
502+ self ._system_disk_operations_labels ["device" ] = device
503+ self ._system_disk_operations_labels ["direction" ] = metric
504+ observer .observe (
505+ getattr (counters , "{}_count" .format (metric )),
506+ self ._system_disk_operations_labels ,
507+ )
499508
500509 def _get_system_disk_time (self , observer : metrics .SumObserver ) -> None :
501510 """Observer callback for disk time
@@ -505,12 +514,13 @@ def _get_system_disk_time(self, observer: metrics.SumObserver) -> None:
505514 """
506515 for device , counters in psutil .disk_io_counters (perdisk = True ).items ():
507516 for metric in self ._config ["system.disk.time" ]:
508- self ._system_disk_time_labels ["device" ] = device
509- self ._system_disk_time_labels ["direction" ] = metric
510- observer .observe (
511- getattr (counters , "{}_time" .format (metric )) / 1000 ,
512- self ._system_disk_time_labels ,
513- )
517+ if hasattr (counters , "{}_time" .format (metric )):
518+ self ._system_disk_time_labels ["device" ] = device
519+ self ._system_disk_time_labels ["direction" ] = metric
520+ observer .observe (
521+ getattr (counters , "{}_time" .format (metric )) / 1000 ,
522+ self ._system_disk_time_labels ,
523+ )
514524
515525 def _get_system_disk_merged (self , observer : metrics .SumObserver ) -> None :
516526 """Observer callback for disk merged operations
@@ -524,12 +534,13 @@ def _get_system_disk_merged(self, observer: metrics.SumObserver) -> None:
524534
525535 for device , counters in psutil .disk_io_counters (perdisk = True ).items ():
526536 for metric in self ._config ["system.disk.time" ]:
527- self ._system_disk_merged_labels ["device" ] = device
528- self ._system_disk_merged_labels ["direction" ] = metric
529- observer .observe (
530- getattr (counters , "{}_merged_count" .format (metric )),
531- self ._system_disk_merged_labels ,
532- )
537+ if hasattr (counters , "{}_merged_count" .format (metric )):
538+ self ._system_disk_merged_labels ["device" ] = device
539+ self ._system_disk_merged_labels ["direction" ] = metric
540+ observer .observe (
541+ getattr (counters , "{}_merged_count" .format (metric )),
542+ self ._system_disk_merged_labels ,
543+ )
533544
534545 # TODO Add _get_system_filesystem_usage
535546 # TODO Add _get_system_filesystem_utilization
@@ -548,14 +559,17 @@ def _get_system_network_dropped_packets(
548559 for device , counters in psutil .net_io_counters (pernic = True ).items ():
549560 for metric in self ._config ["system.network.dropped.packets" ]:
550561 in_out = {"receive" : "in" , "transmit" : "out" }[metric ]
551- self ._system_network_dropped_packets_labels ["device" ] = device
552- self ._system_network_dropped_packets_labels [
553- "direction"
554- ] = metric
555- observer .observe (
556- getattr (counters , "drop{}" .format (in_out )),
557- self ._system_network_dropped_packets_labels ,
558- )
562+ if hasattr (counters , "drop{}" .format (in_out )):
563+ self ._system_network_dropped_packets_labels [
564+ "device"
565+ ] = device
566+ self ._system_network_dropped_packets_labels [
567+ "direction"
568+ ] = metric
569+ observer .observe (
570+ getattr (counters , "drop{}" .format (in_out )),
571+ self ._system_network_dropped_packets_labels ,
572+ )
559573
560574 def _get_system_network_packets (
561575 self , observer : metrics .SumObserver
@@ -569,12 +583,13 @@ def _get_system_network_packets(
569583 for device , counters in psutil .net_io_counters (pernic = True ).items ():
570584 for metric in self ._config ["system.network.dropped.packets" ]:
571585 recv_sent = {"receive" : "recv" , "transmit" : "sent" }[metric ]
572- self ._system_network_packets_labels ["device" ] = device
573- self ._system_network_packets_labels ["direction" ] = metric
574- observer .observe (
575- getattr (counters , "packets_{}" .format (recv_sent )),
576- self ._system_network_packets_labels ,
577- )
586+ if hasattr (counters , "packets_{}" .format (recv_sent )):
587+ self ._system_network_packets_labels ["device" ] = device
588+ self ._system_network_packets_labels ["direction" ] = metric
589+ observer .observe (
590+ getattr (counters , "packets_{}" .format (recv_sent )),
591+ self ._system_network_packets_labels ,
592+ )
578593
579594 def _get_system_network_errors (
580595 self , observer : metrics .SumObserver
@@ -587,12 +602,13 @@ def _get_system_network_errors(
587602 for device , counters in psutil .net_io_counters (pernic = True ).items ():
588603 for metric in self ._config ["system.network.errors" ]:
589604 in_out = {"receive" : "in" , "transmit" : "out" }[metric ]
590- self ._system_network_errors_labels ["device" ] = device
591- self ._system_network_errors_labels ["direction" ] = metric
592- observer .observe (
593- getattr (counters , "err{}" .format (in_out )),
594- self ._system_network_errors_labels ,
595- )
605+ if hasattr (counters , "err{}" .format (in_out )):
606+ self ._system_network_errors_labels ["device" ] = device
607+ self ._system_network_errors_labels ["direction" ] = metric
608+ observer .observe (
609+ getattr (counters , "err{}" .format (in_out )),
610+ self ._system_network_errors_labels ,
611+ )
596612
597613 def _get_system_network_io (self , observer : metrics .SumObserver ) -> None :
598614 """Observer callback for network IO
@@ -604,12 +620,13 @@ def _get_system_network_io(self, observer: metrics.SumObserver) -> None:
604620 for device , counters in psutil .net_io_counters (pernic = True ).items ():
605621 for metric in self ._config ["system.network.dropped.packets" ]:
606622 recv_sent = {"receive" : "recv" , "transmit" : "sent" }[metric ]
607- self ._system_network_io_labels ["device" ] = device
608- self ._system_network_io_labels ["direction" ] = metric
609- observer .observe (
610- getattr (counters , "bytes_{}" .format (recv_sent )),
611- self ._system_network_io_labels ,
612- )
623+ if hasattr (counters , "bytes_{}" .format (recv_sent )):
624+ self ._system_network_io_labels ["device" ] = device
625+ self ._system_network_io_labels ["direction" ] = metric
626+ observer .observe (
627+ getattr (counters , "bytes_{}" .format (recv_sent )),
628+ self ._system_network_io_labels ,
629+ )
613630
614631 def _get_system_network_connections (
615632 self , observer : metrics .UpDownSumObserver
@@ -662,10 +679,11 @@ def _get_runtime_memory(self, observer: metrics.SumObserver) -> None:
662679 """
663680 proc_memory = self ._proc .memory_info ()
664681 for metric in self ._config ["runtime.memory" ]:
665- self ._runtime_memory_labels ["type" ] = metric
666- observer .observe (
667- getattr (proc_memory , metric ), self ._runtime_memory_labels ,
668- )
682+ if hasattr (proc_memory , metric ):
683+ self ._runtime_memory_labels ["type" ] = metric
684+ observer .observe (
685+ getattr (proc_memory , metric ), self ._runtime_memory_labels ,
686+ )
669687
670688 def _get_runtime_cpu_time (self , observer : metrics .SumObserver ) -> None :
671689 """Observer callback for runtime CPU time
@@ -675,10 +693,11 @@ def _get_runtime_cpu_time(self, observer: metrics.SumObserver) -> None:
675693 """
676694 proc_cpu = self ._proc .cpu_times ()
677695 for metric in self ._config ["runtime.cpu.time" ]:
678- self ._runtime_cpu_time_labels ["type" ] = metric
679- observer .observe (
680- getattr (proc_cpu , metric ), self ._runtime_cpu_time_labels ,
681- )
696+ if hasattr (proc_cpu , metric ):
697+ self ._runtime_cpu_time_labels ["type" ] = metric
698+ observer .observe (
699+ getattr (proc_cpu , metric ), self ._runtime_cpu_time_labels ,
700+ )
682701
683702 def _get_runtime_gc_count (self , observer : metrics .SumObserver ) -> None :
684703 """Observer callback for garbage collection
0 commit comments