Skip to content

Commit c6eb213

Browse files
ajustes
Signed-off-by: Felipe Monteiro Jácome <[email protected]>
1 parent 4d2b00d commit c6eb213

File tree

2 files changed

+21
-19
lines changed

2 files changed

+21
-19
lines changed

prometheus_client/metrics.py

+21-17
Original file line numberDiff line numberDiff line change
@@ -771,12 +771,12 @@ def set_metric(self, df: pd.DataFrame):
771771

772772
def __init__(
773773
self: T,
774-
name: str = '',
775-
documentation: str = '',
774+
name: str,
775+
documentation: str,
776+
df: pd.DataFrame,
776777
namespace: str = '',
777778
subsystem: str = '',
778779
unit: str = '',
779-
df=None,
780780
columns=None,
781781
registry: Optional[CollectorRegistry] = REGISTRY,
782782
tag='report',
@@ -786,11 +786,15 @@ def __init__(
786786
Esta classe parte do pressuporto que a metrica é trocada com mais eficiencia do que ficar alterando apenas 1 valor
787787
o calculo pode ser feito em outro lugar e passar apenas a estrutura completo pronto em DataFrame
788788
"""
789+
if df is None:
790+
raise ValueError("df must be set")
791+
789792
self._name = _build_full_name(self._type, name, namespace, subsystem, unit)
790793
if columns:
791794
self._labelvalues = columns
792795
else:
793796
self._labelvalues = df.columns
797+
794798
self._labelnames = _validate_labelnames(self, self._labelvalues)
795799
self._labelvalues = tuple(None or ())
796800
self._kwargs: Dict[str, Any] = {}
@@ -837,20 +841,20 @@ def clear(self) -> None:
837841
with self._lock:
838842
self._metrics = {}
839843

840-
def _samples(self) -> Iterable[Sample]:
841-
if self._is_parent():
842-
return self._multi_samples()
843-
else:
844-
return self._child_samples()
845-
846-
def _multi_samples(self) -> Iterable[Sample]:
847-
if 'pandas' not in vars(metrics._encoder):
848-
with self._lock:
849-
metrics = self._metrics.copy()
850-
for labels, metric in metrics.items():
851-
series_labels = list(zip(self._labelnames, labels))
852-
for suffix, sample_labels, value, timestamp, exemplar in metric._samples():
853-
yield Sample(suffix, dict(series_labels + list(sample_labels.items())), value, timestamp, exemplar)
844+
# def _samples(self) -> Iterable[Sample]:
845+
# if self._is_parent():
846+
# return self._multi_samples()
847+
# else:
848+
# return self._child_samples()
849+
850+
# def _multi_samples(self) -> Iterable[Sample]:
851+
# if 'pandas' not in vars(metrics._encoder):
852+
# with self._lock:
853+
# metrics = self._metrics.copy()
854+
# for labels, metric in metrics.items():
855+
# series_labels = list(zip(self._labelnames, labels))
856+
# for suffix, sample_labels, value, timestamp, exemplar in metric._samples():
857+
# yield Sample(suffix, dict(series_labels + list(sample_labels.items())), value, timestamp, exemplar)
854858

855859
def _child_samples(self) -> Iterable[Sample]: # pragma: no cover
856860
raise NotImplementedError('_child_samples() must be implemented by %r' % self)

tests/test_exposition.py

-2
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,6 @@ def test_gauge_pandas_columns(self):
258258
PandasGauge('report_pandas', 'metric description', df=df, columns= ['a', 'value'], registry=self.registry)
259259
g2 = PandasGauge('report_panda2s', 'metric description2', df=df2, columns=['d', 'result'],value='result' ,registry=self.registry)
260260

261-
262-
import pdb; pdb.set_trace()
263261
self.assertEqual(
264262
b'# HELP report_pandas metric description\n'
265263
b'# TYPE report_pandas gauge\n'

0 commit comments

Comments
 (0)