Merge lp:~lucio.torre/txstatsd/timers-also-measure-rate into lp:txstatsd

Proposed by Lucio Torre
Status: Merged
Approved by: Sidnei da Silva
Approved revision: 72
Merged at revision: 73
Proposed branch: lp:~lucio.torre/txstatsd/timers-also-measure-rate
Merge into: lp:txstatsd
Diff against target: 101 lines (+24/-20)
3 files modified
txstatsd/metrics/metermetric.py (+1/-1)
txstatsd/metrics/timermetric.py (+5/-5)
txstatsd/tests/test_configurableprocessor.py (+18/-14)
To merge this branch: bzr merge lp:~lucio.torre/txstatsd/timers-also-measure-rate
Reviewer Review Type Date Requested Status
Sidnei da Silva Approve
Review via email: mp+92160@code.launchpad.net

Commit message

Reduce number of datapoints generated from timers. Timers now also measure rate.

Description of the change

reduce number of datapoints generated from timers
timers now also measure rate

To post a comment you must log in.
Revision history for this message
Sidnei da Silva (sidnei) wrote :

Looks good. +1!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'txstatsd/metrics/metermetric.py'
2--- txstatsd/metrics/metermetric.py 2011-12-02 17:09:32 +0000
3+++ txstatsd/metrics/metermetric.py 2012-02-08 23:33:07 +0000
4@@ -82,7 +82,7 @@
5 ".15min_rate": self.fifteen_minute_rate()}
6
7 for item, value in items.iteritems():
8- metrics.append((self.prefix + self.name + item,
9+ metrics.append((self.prefix + self.name + item,
10 round(value, 6), timestamp))
11 return metrics
12
13
14=== modified file 'txstatsd/metrics/timermetric.py'
15--- txstatsd/metrics/timermetric.py 2012-02-08 22:19:54 +0000
16+++ txstatsd/metrics/timermetric.py 2012-02-08 23:33:07 +0000
17@@ -148,12 +148,12 @@
18 ".max": self.max(),
19 ".mean": self.mean(),
20 ".stddev": self.std_dev(),
21- ".median": percentiles[0],
22- ".75percentile": percentiles[1],
23- ".95percentile": percentiles[2],
24- ".98percentile": percentiles[3],
25 ".99percentile": percentiles[4],
26- ".999percentile": percentiles[5]}
27+ ".999percentile": percentiles[5],
28+ ".count": self.meter.count,
29+ ".1min_rate": self.meter.one_minute_rate(),
30+ ".5min_rate": self.meter.five_minute_rate(),
31+ ".15min_rate": self.meter.fifteen_minute_rate()}
32
33 for item, value in items.iteritems():
34 metrics.append((self.prefix + self.name + item,
35
36=== modified file 'txstatsd/tests/test_configurableprocessor.py'
37--- txstatsd/tests/test_configurableprocessor.py 2012-01-30 22:38:47 +0000
38+++ txstatsd/tests/test_configurableprocessor.py 2012-02-08 23:33:07 +0000
39@@ -46,7 +46,7 @@
40 self.assertEqual(("test.metric.gorets.count", 17, 42), messages[0])
41 self.assertEqual(("statsd.foo.numStats", 1, 42),
42 messages[1])
43-
44+
45 def test_flush_plugin(self):
46 """
47 Ensure the prefix features if one is supplied.
48@@ -57,7 +57,7 @@
49 configurable_processor.process("gorets:17|pd")
50 messages = configurable_processor.flush()
51 self.assertEquals(("test.metric.gorets.count", 1, 42), messages[0])
52-
53+
54 def test_flush_single_timer_single_time(self):
55 """
56 If a single timer with a single data point is present, all
57@@ -69,14 +69,14 @@
58 configurable_processor.process("glork:24|ms")
59 messages = configurable_processor.flush()
60
61- self.assertEqual(("glork.75percentile", 24.0, 42), messages[0])
62- self.assertEqual(("glork.95percentile", 24.0, 42), messages[1])
63- self.assertEqual(("glork.98percentile", 24.0, 42), messages[2])
64+ self.assertEqual(('glork.15min_rate', 0.0, 42), messages[0])
65+ self.assertEqual(('glork.1min_rate', 0.0, 42), messages[1])
66+ self.assertEqual(('glork.5min_rate', 0.0, 42), messages[2])
67 self.assertEqual(("glork.999percentile", 24.0, 42), messages[3])
68 self.assertEqual(("glork.99percentile", 24.0, 42), messages[4])
69- self.assertEqual(("glork.max", 24.0, 42), messages[5])
70- self.assertEqual(("glork.mean", 24.0, 42), messages[6])
71- self.assertEqual(("glork.median", 24.0, 42), messages[7])
72+ self.assertEqual(("glork.count", 1., 42), messages[5])
73+ self.assertEqual(("glork.max", 24.0, 42), messages[6])
74+ self.assertEqual(("glork.mean", 24.0, 42), messages[7])
75 self.assertEqual(("glork.min", 24.0, 42), messages[8])
76 self.assertEqual(("glork.stddev", 0.0, 42), messages[9])
77
78@@ -101,14 +101,18 @@
79 configurable_processor.update_metrics()
80
81 messages = configurable_processor.flush()
82- self.assertEqual(("glork.75percentile", 27.75, 42), messages[0])
83- self.assertEqual(("glork.95percentile", 42.0, 42), messages[1])
84- self.assertEqual(("glork.98percentile", 42.0, 42), messages[2])
85+
86+ self.assertEqual(('glork.15min_rate', 0.20000000000000001, 42),
87+ messages[0])
88+ self.assertEqual(('glork.1min_rate', 0.20000000000000001, 42),
89+ messages[1])
90+ self.assertEqual(('glork.5min_rate', 0.20000000000000001, 42),
91+ messages[2])
92 self.assertEqual(("glork.999percentile", 42.0, 42), messages[3])
93 self.assertEqual(("glork.99percentile", 42.0, 42), messages[4])
94- self.assertEqual(("glork.max", 42.0, 42), messages[5])
95- self.assertEqual(("glork.mean", 18.0, 42), messages[6])
96- self.assertEqual(("glork.median", 15.5, 42), messages[7])
97+ self.assertEqual(('glork.count', 6.0, 42), messages[5])
98+ self.assertEqual(("glork.max", 42.0, 42), messages[6])
99+ self.assertEqual(("glork.mean", 18.0, 42), messages[7])
100 self.assertEqual(("glork.min", 4.0, 42), messages[8])
101 self.assertEqual(("glork.stddev", 13.490738, 42), messages[9])
102

Subscribers

People subscribed via source and target branches