1212# See the License for the specific language governing permissions and
1313# limitations under the License.
1414
15- import unittest
15+ from datetime import datetime
1616import mock
17+ import unittest
1718
18- from datetime import datetime
19- from opencensus .stats import stats as stats_module
20- from opencensus .tags import tag_value as tag_value_module
21- from opencensus .stats .exporters import prometheus_exporter as prometheus
22- from opencensus .tags import tag_map as tag_map_module
2319from opencensus .stats import aggregation as aggregation_module
2420from opencensus .stats import measure as measure_module
21+ from opencensus .stats import stats as stats_module
2522from opencensus .stats import view as view_module
2623from opencensus .stats import view_data as view_data_module
24+ from opencensus .stats .exporters import prometheus_exporter as prometheus
2725from opencensus .tags import tag_key as tag_key_module
28- from prometheus_client .core import CollectorRegistry
26+ from opencensus .tags import tag_map as tag_map_module
27+ from opencensus .tags import tag_value as tag_value_module
28+
2929
3030MiB = 1 << 20
3131FRONTEND_KEY = tag_key_module .TagKey ("my.org/keys/frontend" )
3737 "my.org/measure/video_size_test2" , "size of processed videos" , "By" )
3838
3939VIDEO_SIZE_MEASURE_FLOAT = measure_module .MeasureFloat (
40- "my.org/measure/video_size_test-float" , "size of processed videos-float" , "By" )
40+ "my.org/measure/video_size_test-float" , "size of processed videos-float" ,
41+ "By" )
4142
4243VIDEO_SIZE_VIEW_NAME = "my.org/views/video_size_test2"
4344VIDEO_SIZE_DISTRIBUTION = aggregation_module .DistributionAggregation (
44- [0.0 , 16.0 * MiB , 256.0 * MiB ])
45- VIDEO_SIZE_VIEW = view_module .View (VIDEO_SIZE_VIEW_NAME ,
46- "processed video size over time" ,
47- [FRONTEND_KEY ],
48- VIDEO_SIZE_MEASURE ,
49- VIDEO_SIZE_DISTRIBUTION )
50- REGISTERED_VIEW = {'test1_my.org/views/video_size_test2-my.org/keys/frontend' :
51- {'documentation' : 'processed video size over time' ,
52- 'labels' : ['my.org/keys/frontend' ],
53- 'name' : 'test1_my.org/views/video_size_test2' }}
54-
55- REGISTERED_VIEW2 = {'opencensus_my.org/views/video_size_test2-my.org/keys/frontend' :
56- {'documentation' : 'processed video size over time' ,
57- 'labels' : ['my.org/keys/frontend' ],
58- 'name' : 'opencensus_my.org/views/video_size_test2' }}
45+ [0.0 , 16.0 * MiB , 256.0 * MiB ])
46+ VIDEO_SIZE_VIEW = view_module .View (
47+ VIDEO_SIZE_VIEW_NAME , "processed video size over time" , [FRONTEND_KEY ],
48+ VIDEO_SIZE_MEASURE , VIDEO_SIZE_DISTRIBUTION )
49+ REGISTERED_VIEW = {
50+ 'test1_my.org/views/video_size_test2-my.org/keys/frontend' : {
51+ 'documentation' : 'processed video size over time' ,
52+ 'labels' : ['my.org/keys/frontend' ],
53+ 'name' : 'test1_my.org/views/video_size_test2'
54+ }
55+ }
56+
57+ REGISTERED_VIEW2 = {
58+ 'opencensus_my.org/views/video_size_test2-my.org/keys/frontend' : {
59+ 'documentation' : 'processed video size over time' ,
60+ 'labels' : ['my.org/keys/frontend' ],
61+ 'name' : 'opencensus_my.org/views/video_size_test2'
62+ }
63+ }
5964
6065
6166class TestOptionsPrometheus (unittest .TestCase ):
62-
6367 def test_options_constructor (self ):
6468 option = prometheus .Options ("test1" )
6569 self .assertEqual (option .namespace , "test1" )
6670
6771 def test_options_constructor_with_params (self ):
6872 registry = mock .Mock ()
69- option = prometheus .Options ("test1" ,8001 ,"localhost" ,registry )
73+ option = prometheus .Options ("test1" , 8001 , "localhost" , registry )
7074 self .assertEqual (option .namespace , "test1" )
71- self .assertEqual (option .port ,8001 )
72- self .assertEqual (option .address ,"localhost" )
75+ self .assertEqual (option .port , 8001 )
76+ self .assertEqual (option .address , "localhost" )
7377 self .assertEqual (option .registry , registry )
7478
7579
7680class TestCollectorPrometheus (unittest .TestCase ):
77-
7881 def test_collector_constructor (self ):
7982 options = prometheus .Options ("test1" )
8083 self .assertEqual (options .namespace , "test1" )
@@ -110,9 +113,8 @@ def test_collector_add_view_data(self):
110113 registry = mock .Mock ()
111114 start_time = datetime .utcnow ()
112115 end_time = datetime .utcnow ()
113- view_data = view_data_module .ViewData (view = VIDEO_SIZE_VIEW ,
114- start_time = start_time ,
115- end_time = end_time )
116+ view_data = view_data_module .ViewData (
117+ view = VIDEO_SIZE_VIEW , start_time = start_time , end_time = end_time )
116118 options = prometheus .Options ("test1" , 8001 , "localhost" , registry )
117119 collector = prometheus .Collector (options = options , view_data = {})
118120 collector .register_view (VIDEO_SIZE_VIEW )
@@ -121,14 +123,11 @@ def test_collector_add_view_data(self):
121123 collector .collect ()
122124 self .assertEqual (v_data , collector .view_data )
123125
124-
125126 def test_collector_to_metric_count (self ):
126127 agg = aggregation_module .CountAggregation (256 )
127128 view = view_module .View (VIDEO_SIZE_VIEW_NAME ,
128129 "processed video size over time" ,
129- [FRONTEND_KEY ],
130- VIDEO_SIZE_MEASURE ,
131- agg )
130+ [FRONTEND_KEY ], VIDEO_SIZE_MEASURE , agg )
132131 registry = mock .Mock ()
133132 view_data = mock .Mock ()
134133 options = prometheus .Options ("test1" , 8001 , "localhost" , registry )
@@ -146,9 +145,7 @@ def test_collector_to_metric_sum(self):
146145 agg = aggregation_module .SumAggregation (256.0 )
147146 view = view_module .View (VIDEO_SIZE_VIEW_NAME ,
148147 "processed video size over time" ,
149- [FRONTEND_KEY ],
150- VIDEO_SIZE_MEASURE ,
151- agg )
148+ [FRONTEND_KEY ], VIDEO_SIZE_MEASURE , agg )
152149 registry = mock .Mock ()
153150 view_data = mock .Mock ()
154151 options = prometheus .Options ("test1" , 8001 , "localhost" , registry )
@@ -166,9 +163,7 @@ def test_collector_to_metric_last_value(self):
166163 agg = aggregation_module .LastValueAggregation (256 )
167164 view = view_module .View (VIDEO_SIZE_VIEW_NAME ,
168165 "processed video size over time" ,
169- [FRONTEND_KEY ],
170- VIDEO_SIZE_MEASURE ,
171- agg )
166+ [FRONTEND_KEY ], VIDEO_SIZE_MEASURE , agg )
172167 registry = mock .Mock ()
173168 view_data = mock .Mock ()
174169 options = prometheus .Options ("test1" , 8001 , "localhost" , registry )
@@ -200,32 +195,30 @@ def test_collector_to_metric_invalid_dist(self):
200195 agg = mock .Mock ()
201196 view = view_module .View (VIDEO_SIZE_VIEW_NAME ,
202197 "processed video size over time" ,
203- [FRONTEND_KEY ],
204- VIDEO_SIZE_MEASURE ,
205- agg )
198+ [FRONTEND_KEY ], VIDEO_SIZE_MEASURE , agg )
206199 registry = mock .Mock ()
207200 view_data = mock .Mock ()
208201 options = prometheus .Options ("test1" , 8001 , "localhost" , registry )
209202 collector = prometheus .Collector (options = options , view_data = view_data )
210203 collector .register_view (view )
211204 desc = collector .registered_views [list (REGISTERED_VIEW )[0 ]]
212205
213- with self .assertRaisesRegexp (ValueError , 'unsupported aggregation type <class \' mock.mock.Mock\' >' ):
206+ with self .assertRaisesRegexp (
207+ ValueError ,
208+ 'unsupported aggregation type <class \' mock.mock.Mock\' >' ):
214209 collector .to_metric (desc = desc , view = view )
215210
216211 def test_collector_collect (self ):
217212 agg = aggregation_module .LastValueAggregation (256 )
218- view = view_module .View ("new_view" ,
219- "processed video size over time" ,
220- [FRONTEND_KEY ],
221- VIDEO_SIZE_MEASURE ,
222- agg )
213+ view = view_module .View ("new_view" , "processed video size over time" ,
214+ [FRONTEND_KEY ], VIDEO_SIZE_MEASURE , agg )
223215 registry = mock .Mock ()
224216 view_data = mock .Mock ()
225217 options = prometheus .Options ("test2" , 8001 , "localhost" , registry )
226218 collector = prometheus .Collector (options = options , view_data = view_data )
227219 collector .register_view (view )
228- desc = collector .registered_views ['test2_new_view-my.org/keys/frontend' ]
220+ desc = collector .registered_views [
221+ 'test2_new_view-my.org/keys/frontend' ]
229222 collector .to_metric (desc = desc , view = view )
230223
231224 registry = mock .Mock ()
@@ -243,9 +236,9 @@ def test_collector_collect(self):
243236
244237
245238class TestPrometheusStatsExporter (unittest .TestCase ):
246-
247239 def test_exporter_constructor_no_namespace (self ):
248- with self .assertRaisesRegexp (ValueError , 'Namespace can not be empty string.' ):
240+ with self .assertRaisesRegexp (ValueError ,
241+ 'Namespace can not be empty string.' ):
249242 prometheus .new_stats_exporter (prometheus .Options ())
250243
251244 def test_emit (self ):
@@ -262,11 +255,16 @@ def test_emit(self):
262255 measure_map = stats_recorder .new_measurement_map ()
263256 measure_map .measure_int_put (VIDEO_SIZE_MEASURE , 25 * MiB )
264257 measure_map .record (tag_map )
265- exporter .export ([exporter .collector .view_data ['opencensus_my.org/views/video_size_test2-my.org/keys/frontend' ]])
258+ exporter .export ([
259+ exporter .collector .view_data [(
260+ 'opencensus_my.org/views/video_size_test2-my.org'
261+ '/keys/frontend' )]
262+ ])
266263
267264 self .assertIsInstance (
268- exporter .collector .view_data ['opencensus_my.org/views/video_size_test2-my.org/keys/frontend' ],
269- view_data_module .ViewData )
265+ exporter .collector .view_data [(
266+ 'opencensus_my.org/views/video_size_test2-my.org'
267+ '/keys/frontend' )], view_data_module .ViewData )
270268 self .assertEqual (REGISTERED_VIEW2 , exporter .collector .registered_views )
271269 self .assertEqual (options , exporter .options )
272270 self .assertEqual (options .registry , exporter .gatherer )
@@ -279,15 +277,16 @@ def test_tag_keys_to_labels(self):
279277 self .assertEqual (tags , labels )
280278
281279 def test_view_name (self ):
282- view_name = prometheus .view_name (namespace = "opencensus" , view = VIDEO_SIZE_VIEW )
280+ view_name = prometheus .view_name (
281+ namespace = "opencensus" , view = VIDEO_SIZE_VIEW )
283282 self .assertEqual ("opencensus_my.org/views/video_size_test2" , view_name )
284283
285284 def test_view_name_without_namespace (self ):
286285 view_name = prometheus .view_name (namespace = "" , view = VIDEO_SIZE_VIEW )
287286 self .assertEqual ("my.org/views/video_size_test2" , view_name )
288287
289288 def test_view_signature (self ):
290- view_signature = prometheus .view_signature (namespace = "" , view = VIDEO_SIZE_VIEW )
291- self . assertEqual ( "my.org/views/video_size_test2-my.org/keys/frontend " , view_signature )
292-
293-
289+ view_signature = prometheus .view_signature (
290+ namespace = " " , view = VIDEO_SIZE_VIEW )
291+ self . assertEqual ( "my.org/views/video_size_test2-my.org/keys/frontend" ,
292+ view_signature )
0 commit comments