Skip to content

Commit 42057fe

Browse files
committed
Allow enabling/disabling _created metrics from code
Signed-off-by: Chris Marchbanks <csmarchbanks@gmail.com>
1 parent 249490e commit 42057fe

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

prometheus_client/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
write_to_textfile,
1212
)
1313
from .gc_collector import GC_COLLECTOR, GCCollector
14-
from .metrics import Counter, Enum, Gauge, Histogram, Info, Summary
14+
from .metrics import Counter, Enum, Gauge, Histogram, Info, Summary, enable_created_metrics, disable_created_metrics
1515
from .metrics_core import Metric
1616
from .platform_collector import PLATFORM_COLLECTOR, PlatformCollector
1717
from .process_collector import PROCESS_COLLECTOR, ProcessCollector
@@ -27,6 +27,8 @@
2727
'Histogram',
2828
'Info',
2929
'Enum',
30+
'enable_created_metrics',
31+
'disable_created_metrics',
3032
'CONTENT_TYPE_LATEST',
3133
'generate_latest',
3234
'MetricsHandler',

prometheus_client/metrics.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,18 @@ def _get_use_created() -> bool:
7070
_use_created = _get_use_created()
7171

7272

73+
def disable_created_metrics():
74+
"""Disable exporting _created metrics on counters, histograms, and summaries."""
75+
global _use_created
76+
_use_created = False
77+
78+
79+
def enable_created_metrics():
80+
"""Enable exporting _created metrics on counters, histograms, and summaries."""
81+
global _use_created
82+
_use_created = True
83+
84+
7385
class MetricWrapperBase(Collector):
7486
_type: Optional[str] = None
7587
_reserved_labelnames: Sequence[str] = ()

prometheus_client/registry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def collect(self) -> Iterable[Metric]:
9494
if ti:
9595
yield ti
9696
for collector in collectors:
97-
yield from collector.collect()
97+
yield from collector.collect(created=True)
9898

9999
def restricted_registry(self, names: Iterable[str]) -> "RestrictedRegistry":
100100
"""Returns object that only collects some metrics.

0 commit comments

Comments
 (0)