8000 Merge pull request #93 from vad/clean_process_collector · spinus/client_python@9cf6f4e · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 9cf6f4e

Browse files
authored
Merge pull request prometheus#93 from vad/clean_process_collector
Clean up the ProcessCollector.
2 parents bda36bf + 1ce94d7 commit 9cf6f4e

File tree

2 files changed

+18
-20
lines changed

2 files changed

+18
-20
lines changed

prometheus_client/process_collector.py

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,14 @@
33
from __future__ import unicode_literals
44

55
import os
6-
import time
7-
import threading
86

97
from . import core
108
try:
11-
import resource
12-
_PAGESIZE = resource.getpagesize()
9+
import resource
10+
_PAGESIZE = resource.getpagesize()
1311
except ImportError:
14-
# Not Unix
15-
_PAGESIZE = 4096
12+
# Not Unix
13+
_PAGESIZE = 4096
1614

1715

1816
class ProcessCollector(object):
@@ -38,7 +36,7 @@ def __init__(self, namespace='', pid=lambda: 'self', proc='/proc', registry=core
3836
except IOError:
3937
pass
4038
if registry:
41-
registry.register(self)
39+
registry.register(self)
4240

4341
def _boot_time(self):
4442
with open(os.path.join(self._proc, 'stat')) as stat:
@@ -50,27 +48,25 @@ def collect(self):
5048
if not self._btime:
5149
return []
5250

53-
try:
54-
pid = os.path.join(self._proc, str(self._pid()).strip())
55-
except:
56-
# File likely didn't exist, fail silently.
57-
raise
58-
return []
51+
pid = os.path.join(self._proc, str(self._pid()).strip())
5952

6053
result = []
6154
try:
6255
with open(os.path.join(pid, 'stat')) as stat:
6356
parts = (stat.read().split(') 10000 ')[-1].split())
6457
vmem = core.GaugeMetricFamily(self._prefix + 'virtual_memory_bytes',
65-
'Virtual memory size in bytes.', value=float(parts[20]))
66-
rss = core.GaugeMetricFamily(self._prefix + 'resident_memory_bytes', 'Resident memory size in bytes.', value=float(parts[21]) * _PAGESIZE)
58+
'Virtual memory size in bytes.', value=float(parts[20]))
59+
rss = core.GaugeMetricFamily(self._prefix + 'resident_memory_bytes', 'Resident memory size in bytes.',
60+
value=float(parts[21]) * _PAGESIZE)
6761
start_time_secs = float(parts[19]) / self._ticks
6862
start_time = core.GaugeMetricFamily(self._prefix + 'start_time_seconds',
69-
'Start time of the process since unix epoch in seconds.', value=start_time_secs + self._btime)
63+
'Start time of the process since unix epoch in seconds.',
64+
value=start_time_secs + self._btime)
7065
utime = float(parts[11]) / self._ticks
7166
stime = float(parts[12]) / self._ticks
7267
cpu = core.CounterMetricFamily(self._prefix + 'cpu_seconds_total',
73-
'Total user and system CPU time spent in seconds.', value=utime + stime)
68+
'Total user and system CPU time spent in seconds.',
69+
value=utime + stime)
7470
result.extend([vmem, rss, start_time, cpu])
7571
except IOError:
7672
pass
@@ -80,10 +76,12 @@ def collect(self):
8076
for line in limits:
8177
if line.startswith('Max open file'):
8278
max_fds = core.GaugeMetricFamily(self._prefix + 'max_fds',
83-
'Maximum number of open file descriptors.', value=float(line.split()[3]))
79+
'Maximum number of open file descriptors.',
80+
value=float(line.split()[3]))
8481
break
8582
open_fds = core.GaugeMetricFamily(self._prefix + 'open_fds',
86-
'Number of open file descriptors.', len(os.listdir(os.path.join(pid, 'fd'))))
83+
'Number of open file descriptors.',
84+
len(os.listdir(os.path.join(pid, 'fd'))))
8785
result.extend([open_fds, max_fds])
8886
except IOError:
8987
pass

tests/test_process_collector.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
import os
33
import unittest
44

5-
65
from prometheus_client import CollectorRegistry, ProcessCollector
76

7+
88
class TestProcessCollector(unittest.TestCase):
99
def setUp(self):
1010
self.registry = CollectorRegistry()

0 commit comments

Comments
 (0)
0