8000 Split MultiProcessCollector.__init__ for better profiling · Global-localhost/client_python@b91aff3 · GitHub
[go: up one dir, main page]

Skip to content

Commit b91aff3

Browse files
committed
Split MultiProcessCollector.__init__ for better profiling
Signed-off-by: Aarni Koskela <akx@iki.fi>
1 parent 5132fd2 commit b91aff3

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

prometheus_client/multiprocess.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ def merge(files, accumulate=True):
3333
But if writing the merged data back to mmap files, use
3434
accumulate=False to avoid compound accumulation.
3535
"""
36+
metrics = MultiProcessCollector._read_metrics(files)
37+
return MultiProcessCollector._accumulate_metrics(metrics, accumulate)
38+
39+
@staticmethod
40+
def _read_metrics(files):
3641
metrics = {}
3742
for f in files:
3843
parts = os.path.basename(f).split('_')
@@ -55,7 +60,10 @@ def merge(files, accumulate=True):
5560
# The duplicates and labels are fixed in the next for.
5661
metric.add_sample(name, labels_key, value)
5762
d.close()
63+
return metrics
5864

65+
@staticmethod
66+
def _accumulate_metrics(metrics, accumulate):
5967
for metric in metrics.values():
6068
samples = defaultdict(float)
6169
buckets = {}

0 commit comments

Comments
 (0)
0