|
| 1 | +import os |
1 | 2 | from threading import Lock |
2 | 3 | import time |
3 | 4 | import types |
@@ -62,6 +63,13 @@ def _validate_exemplar(exemplar): |
62 | 63 | raise ValueError('Exemplar labels have %d UTF-8 characters, exceeding the limit of 128') |
63 | 64 |
|
64 | 65 |
|
| 66 | +def _get_use_created() -> bool: |
| 67 | + return os.environ.get("PROMETHEUS_DISABLE_CREATED_SERIES", 'False').lower() not in ('true', '1', 't') |
| 68 | + |
| 69 | + |
| 70 | +_use_created = _get_use_created() |
| 71 | + |
| 72 | + |
65 | 73 | class MetricWrapperBase(Collector): |
66 | 74 | _type: Optional[str] = None |
67 | 75 | _reserved_labelnames: Sequence[str] = () |
@@ -291,10 +299,13 @@ def count_exceptions(self, exception: Type[BaseException] = Exception) -> Except |
291 | 299 | return ExceptionCounter(self, exception) |
292 | 300 |
|
293 | 301 | def _child_samples(self) -> Iterable[Sample]: |
294 | | - return ( |
295 | | - Sample('_total', {}, self._value.get(), None, self._value.get_exemplar()), |
296 | | - Sample('_created', {}, self._created, None, None), |
297 | | - ) |
| 302 | + sample = Sample('_total', {}, self._value.get(), None, self._value.get_exemplar()) |
| 303 | + if _use_created: |
| 304 | + return ( |
| 305 | + sample, |
| 306 | + Sample('_created', {}, self._created, None, None) |
| 307 | + ) |
| 308 | + return (sample,) |
298 | 309 |
|
299 | 310 |
|
300 | 311 | class Gauge(MetricWrapperBase): |
@@ -484,11 +495,13 @@ def time(self) -> Timer: |
484 | 495 | return Timer(self, 'observe') |
485 | 496 |
|
486 | 497 | def _child_samples(self) -> Iterable[Sample]: |
487 | | - return ( |
| 498 | + samples = [ |
488 | 499 | Sample('_count', {}, self._count.get(), None, None), |
489 | 500 | Sample('_sum', {}, self._sum.get(), None, None), |
490 | | - Sample('_created', {}, self._created, None, None), |
491 | | - ) |
| 501 | + ] |
| 502 | + if _use_created: |
| 503 | + samples.append(Sample('_created', {}, self._created, None, None)) |
| 504 | + return tuple(samples) |
492 | 505 |
|
493 | 506 |
|
494 | 507 | class Histogram(MetricWrapperBase): |
@@ -616,7 +629,8 @@ def _child_samples(self) -> Iterable[Sample]: |
616 | 629 | samples.append(Sample('_count', {}, acc, None, None)) |
617 | 630 | if self._upper_bounds[0] >= 0: |
618 | 631 | samples.append(Sample('_sum', {}, self._sum.get(), None, None)) |
619 | | - samples.append(Sample('_created', {}, self._created, None, None)) |
| 632 | + if _use_created: |
| 633 | + samples.append(Sample('_created', {}, self._created, None, None)) |
620 | 634 | return tuple(samples) |
621 | 635 |
|
622 | 636 |
|
|
0 commit comments