@@ -46,17 +46,20 @@ def update_container_status(containers):
4646
4747async def container_stats ():
4848 docker = Docker ()
49- containers = await docker .containers .list ()
50- tasks = [stat .get_container_stats (container ) for container in containers ]
51- all_stats = await gather (* tasks )
52- for stats in all_stats :
53- container_cpu_percentage .labels (container_name = stats [0 ]['name' ][1 :]).set (stat .calculate_cpu_percentage (stats [0 ]))
54- container_memory_percentage .labels (container_name = stats [0 ]['name' ][1 :]).set (stat .calculate_memory_percentage (stats [0 ]))
55- container_memory_bytes_total .labels (container_name = stats [0 ]['name' ][1 :]).set (stat .calculate_memory_bytes (stats [0 ]))
56- disk_io_read_counter .labels (container_name = stats [0 ]['name' ][1 :]).inc (stat .calculate_disk_io (stats [0 ])[0 ])
57- disk_io_write_counter .labels (container_name = stats [0 ]['name' ][1 :]).inc (stat .calculate_disk_io (stats [0 ])[1 ])
58- network_rx_counter .labels (container_name = stats [0 ]['name' ][1 :]).inc (stat .calculate_network_io (stats [0 ])[0 ])
59- network_tx_counter .labels (container_name = stats [0 ]['name' ][1 :]).inc (stat .calculate_network_io (stats [0 ])[1 ])
49+ try :
50+ containers = await docker .containers .list ()
51+ tasks = [stat .get_container_stats (container ) for container in containers ]
52+ all_stats = await gather (* tasks )
53+ for stats in all_stats :
54+ container_cpu_percentage .labels (container_name = stats [0 ]['name' ][1 :]).set (stat .calculate_cpu_percentage (stats [0 ]))
55+ container_memory_percentage .labels (container_name = stats [0 ]['name' ][1 :]).set (stat .calculate_memory_percentage (stats [0 ]))
56+ container_memory_bytes_total .labels (container_name = stats [0 ]['name' ][1 :]).set (stat .calculate_memory_bytes (stats [0 ]))
57+ disk_io_read_counter .labels (container_name = stats [0 ]['name' ][1 :]).inc (stat .calculate_disk_io (stats [0 ])[0 ])
58+ disk_io_write_counter .labels (container_name = stats [0 ]['name' ][1 :]).inc (stat .calculate_disk_io (stats [0 ])[1 ])
59+ network_rx_counter .labels (container_name = stats [0 ]['name' ][1 :]).inc (stat .calculate_network_io (stats [0 ])[0 ])
60+ network_tx_counter .labels (container_name = stats [0 ]['name' ][1 :]).inc (stat .calculate_network_io (stats [0 ])[1 ])
61+ finally :
62+ await docker .close ()
6063
6164metrics_names = [container_cpu_percentage , container_memory_percentage , container_memory_bytes_total , disk_io_read_counter , disk_io_write_counter , network_rx_counter , network_tx_counter ]
6265
0 commit comments