Skip to content

Commit 306f628

Browse files
committed
delta teh delta metrics
1 parent b76e1ae commit 306f628

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

instana/meter.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ class Meter(object):
5353
SNAPSHOT_PERIOD = 600
5454
snapshot_countdown = 1
5555
sensor = None
56+
last_usage = None
5657

5758
def __init__(self, sensor):
5859
self.sensor = sensor
@@ -94,21 +95,23 @@ def collect_snapshot(self):
9495

9596
def collect_metrics(self):
9697
u = resource.getrusage(resource.RUSAGE_SELF)
97-
m = Metrics(ru_utime=u[0],
98-
ru_stime=u[1],
98+
m = Metrics(ru_utime=u[0] if not self.last_usage else u[0] - self.last_usage[0],
99+
ru_stime=u[1] if not self.last_usage else u[1] - self.last_usage[1],
99100
ru_maxrss=u[2],
100101
ru_ixrss=u[3],
101102
ru_idrss=u[4],
102103
ru_isrss=u[5],
103-
ru_minflt=u[6],
104-
ru_majflt=u[7],
105-
ru_nswap=u[8],
106-
ru_inblock=u[9],
107-
ru_oublock=u[10],
108-
ru_msgsnd=u[11],
109-
ru_msgrcv=u[12],
110-
ru_nsignals=u[13],
111-
ru_nvcs=u[14],
112-
ru_nivcsw=u[15])
104+
ru_minflt=u[6] if not self.last_usage else u[6] - self.last_usage[6],
105+
ru_majflt=u[7] if not self.last_usage else u[7] - self.last_usage[7],
106+
ru_nswap=u[8] if not self.last_usage else u[8] - self.last_usage[8],
107+
ru_inblock=u[9] if not self.last_usage else u[9] - self.last_usage[9],
108+
ru_oublock=u[10] if not self.last_usage else u[10] - self.last_usage[10],
109+
ru_msgsnd=u[11] if not self.last_usage else u[11] - self.last_usage[11],
110+
ru_msgrcv=u[12] if not self.last_usage else u[12] - self.last_usage[12],
111+
ru_nsignals=u[13] if not self.last_usage else u[13] - self.last_usage[13],
112+
ru_nvcs=u[14] if not self.last_usage else u[14] - self.last_usage[14],
113+
ru_nivcsw=u[15] if not self.last_usage else u[15] - self.last_usage[15])
114+
115+
self.last_usage = u
113116

114117
return m

0 commit comments

Comments
 (0)