PATH:
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
prometheus_client
import gc import platform from typing import Iterable from .metrics_core import CounterMetricFamily, Metric from .registry import Collector, CollectorRegistry, REGISTRY class GCCollector(Collector): """Collector for Garbage collection statistics.""" def __init__(self, registry: CollectorRegistry = REGISTRY): if not hasattr(gc, 'get_stats') or platform.python_implementation() != 'CPython': return registry.register(self) def collect(self) -> Iterable[Metric]: collected = CounterMetricFamily( 'python_gc_objects_collected', 'Objects collected during gc', labels=['generation'], ) uncollectable = CounterMetricFamily( 'python_gc_objects_uncollectable', 'Uncollectable objects found during GC', labels=['generation'], ) collections = CounterMetricFamily( 'python_gc_collections', 'Number of times this generation was collected', labels=['generation'], ) for gen, stat in enumerate(gc.get_stats()): generation = str(gen) collected.add_metric([generation], value=stat['collected']) uncollectable.add_metric([generation], value=stat['uncollectable']) collections.add_metric([generation], value=stat['collections']) return [collected, uncollectable, collections] GC_COLLECTOR = GCCollector() """Default GCCollector in default Registry REGISTRY."""
[+]
__pycache__
[-] metrics_core.py
[edit]
[-] metrics.py
[edit]
[-] registry.py
[edit]
[-] platform_collector.py
[edit]
[-] __init__.py
[edit]
[+]
bridge
[-] mmap_dict.py
[edit]
[+]
twisted
[-] parser.py
[edit]
[-] multiprocess.py
[edit]
[-] gc_collector.py
[edit]
[-] values.py
[edit]
[+]
..
[-] context_managers.py
[edit]
[-] process_collector.py
[edit]
[-] py.typed
[edit]
[-] samples.py
[edit]
[-] decorator.py
[edit]
[-] exposition.py
[edit]
[+]
openmetrics
[-] core.py
[edit]
[-] utils.py
[edit]
[-] asgi.py
[edit]