@@ -16,30 +16,30 @@ struct MetricEventMessage {
16
16
duration : Duration ,
17
17
date : DateTime < Utc > ,
18
18
}
19
- /// Reporter of metrics about the usage of the application.
19
+ /// Reporter of usage metrics of the application.
20
20
pub struct UsageReporter {
21
21
transmitter_service : Arc < TransmitterService < EventMessage > > ,
22
- metric_service : Arc < MetricsService > ,
23
- last_metrics : HashMap < String , u32 > ,
22
+ metrics_service : Arc < MetricsService > ,
23
+ last_reported_metrics : HashMap < String , u32 > ,
24
24
logger : Logger ,
25
25
}
26
26
27
27
impl UsageReporter {
28
28
/// Create a new UsageReporter.
29
29
pub fn new (
30
30
transmitter_service : Arc < TransmitterService < EventMessage > > ,
31
- metric_service : Arc < MetricsService > ,
31
+ metrics_service : Arc < MetricsService > ,
32
32
logger : Logger ,
33
33
) -> Self {
34
34
Self {
35
35
transmitter_service,
36
- metric_service ,
37
- last_metrics : HashMap :: new ( ) ,
36
+ metrics_service ,
37
+ last_reported_metrics : HashMap :: new ( ) ,
38
38
logger : logger. new_with_component_name :: < Self > ( ) ,
39
39
}
40
40
}
41
41
42
- fn metrics_delta (
42
+ fn compute_metrics_delta (
43
43
metrics_before : & HashMap < String , u32 > ,
44
44
metrics_after : & HashMap < String , u32 > ,
45
45
) -> HashMap < String , i64 > {
@@ -55,11 +55,11 @@ impl UsageReporter {
55
55
}
56
56
57
57
fn send_metrics ( & mut self , duration : & Duration ) {
58
- let metrics = self . metric_service . export_metrics_map ( ) ;
59
- let delta = Self :: metrics_delta ( & self . last_metrics , & metrics) ;
58
+ let metrics = self . metrics_service . export_metrics_map ( ) ;
59
+ let delta = Self :: compute_metrics_delta ( & self . last_reported_metrics , & metrics) ;
60
60
let date = Utc :: now ( ) ;
61
61
62
- self . last_metrics = metrics;
62
+ self . last_reported_metrics = metrics;
63
63
64
64
for ( name, value) in delta {
65
65
let _result = self
@@ -109,14 +109,14 @@ mod tests {
109
109
UnboundedReceiver < EventMessage > ,
110
110
) {
111
111
let ( tx, rx) = tokio:: sync:: mpsc:: unbounded_channel :: < EventMessage > ( ) ;
112
- let metric_service = Arc :: new ( MetricsService :: new ( TestLogger :: stdout ( ) ) . unwrap ( ) ) ;
112
+ let metrics_service = Arc :: new ( MetricsService :: new ( TestLogger :: stdout ( ) ) . unwrap ( ) ) ;
113
113
let transmitter_service = Arc :: new ( TransmitterService :: new ( tx, TestLogger :: stdout ( ) ) ) ;
114
114
let usage_reporter = UsageReporter :: new (
115
115
transmitter_service. clone ( ) ,
116
- metric_service . clone ( ) ,
116
+ metrics_service . clone ( ) ,
117
117
TestLogger :: stdout ( ) ,
118
118
) ;
119
- ( usage_reporter, metric_service , rx)
119
+ ( usage_reporter, metrics_service , rx)
120
120
}
121
121
122
122
fn received_messages (
@@ -135,21 +135,21 @@ mod tests {
135
135
( message. action . clone ( ) , metric_delta. counter )
136
136
}
137
137
138
- #[ tokio :: test]
139
- async fn when_no_metrics_no_message_sent ( ) {
140
- let ( mut usage_reporter, _metric_service , mut rx) = build_usage_reporter ( ) ;
138
+ #[ test]
139
+ fn when_no_metrics_no_message_sent ( ) {
140
+ let ( mut usage_reporter, _metrics_service , mut rx) = build_usage_reporter ( ) ;
141
141
142
142
usage_reporter. send_metrics ( & Duration :: from_secs ( 10 ) ) ;
143
143
144
144
let received_messages = received_messages ( & mut rx) ;
145
145
assert_eq ! ( 0 , received_messages. len( ) ) ;
146
146
}
147
147
148
- #[ tokio :: test]
149
- async fn verify_event_content_on_a_metric ( ) {
150
- let ( mut usage_reporter, metric_service , mut rx) = build_usage_reporter ( ) ;
148
+ #[ test]
149
+ fn verify_event_content_on_a_metric ( ) {
150
+ let ( mut usage_reporter, metrics_service , mut rx) = build_usage_reporter ( ) ;
151
151
152
- let metric = metric_service . get_certificate_total_produced_since_startup ( ) ;
152
+ let metric = metrics_service . get_certificate_total_produced_since_startup ( ) ;
153
153
metric. increment_by ( 3 ) ;
154
154
usage_reporter. send_metrics ( & Duration :: from_secs ( 10 ) ) ;
155
155
@@ -163,12 +163,12 @@ mod tests {
163
163
assert_eq ! ( Duration :: from_secs( 10 ) , message_content. duration) ;
164
164
}
165
165
166
- #[ tokio :: test]
167
- async fn send_one_message_for_each_non_zero_value_metrics ( ) {
168
- let ( mut usage_reporter, metric_service , mut rx) = build_usage_reporter ( ) ;
166
+ #[ test]
167
+ fn send_one_message_for_each_non_zero_value_metrics ( ) {
168
+ let ( mut usage_reporter, metrics_service , mut rx) = build_usage_reporter ( ) ;
169
169
170
- let metric_1 = metric_service . get_certificate_total_produced_since_startup ( ) ;
171
- let metric_2 = metric_service . get_certificate_detail_total_served_since_startup ( ) ;
170
+ let metric_1 = metrics_service . get_certificate_total_produced_since_startup ( ) ;
171
+ let metric_2 = metrics_service . get_certificate_detail_total_served_since_startup ( ) ;
172
172
metric_1. increment ( ) ;
173
173
metric_2. increment ( ) ;
174
174
@@ -182,12 +182,12 @@ mod tests {
182
182
assert ! ( metric_values. contains( & ( metric_2. name( ) , 1 ) ) ) ;
183
183
}
184
184
185
- #[ tokio :: test]
186
- async fn resend_only_delta_since_last_send ( ) {
187
- let ( mut usage_reporter, metric_service , mut rx) = build_usage_reporter ( ) ;
185
+ #[ test]
186
+ fn resend_only_delta_since_last_send ( ) {
187
+ let ( mut usage_reporter, metrics_service , mut rx) = build_usage_reporter ( ) ;
188
188
189
- let metric_1 = metric_service . get_certificate_total_produced_since_startup ( ) ;
190
- let metric_2 = metric_service . get_certificate_detail_total_served_since_startup ( ) ;
189
+ let metric_1 = metrics_service . get_certificate_total_produced_since_startup ( ) ;
190
+ let metric_2 = metrics_service . get_certificate_detail_total_served_since_startup ( ) ;
191
191
192
192
{
193
193
metric_1. increment_by ( 12 ) ;
@@ -244,7 +244,7 @@ mod tests {
244
244
245
245
assert_eq ! (
246
246
expected,
247
- UsageReporter :: metrics_delta ( & metrics_before, & metrics_after)
247
+ UsageReporter :: compute_metrics_delta ( & metrics_before, & metrics_after)
248
248
) ;
249
249
}
250
250
@@ -258,7 +258,7 @@ mod tests {
258
258
259
259
assert_eq ! (
260
260
expected,
261
- UsageReporter :: metrics_delta ( & metrics_before, & metrics_after)
261
+ UsageReporter :: compute_metrics_delta ( & metrics_before, & metrics_after)
262
262
) ;
263
263
}
264
264
@@ -272,12 +272,12 @@ mod tests {
272
272
273
273
assert_eq ! (
274
274
expected,
275
- UsageReporter :: metrics_delta ( & metrics_before, & metrics_after)
275
+ UsageReporter :: compute_metrics_delta ( & metrics_before, & metrics_after)
276
276
) ;
277
277
}
278
278
279
279
#[ test]
280
- fn should_contains_new_value_of_a_metric_not_present_before ( ) {
280
+ fn should_contain_new_value_of_a_metric_not_present_before ( ) {
281
281
let metrics_before = build_hashmap ( & [ ] ) ;
282
282
283
283
let metrics_after = build_hashmap ( & [ ( "a" , 5 ) ] ) ;
@@ -286,7 +286,7 @@ mod tests {
286
286
287
287
assert_eq ! (
288
288
expected,
289
- UsageReporter :: metrics_delta ( & metrics_before, & metrics_after)
289
+ UsageReporter :: compute_metrics_delta ( & metrics_before, & metrics_after)
290
290
) ;
291
291
}
292
292
@@ -297,11 +297,11 @@ mod tests {
297
297
298
298
assert_eq ! (
299
299
build_hashmap( & [ ( "a" , u32 :: MAX as i64 ) ] ) ,
300
- UsageReporter :: metrics_delta ( & metrics_at_0, & metrics_at_max)
300
+ UsageReporter :: compute_metrics_delta ( & metrics_at_0, & metrics_at_max)
301
301
) ;
302
302
assert_eq ! (
303
303
build_hashmap( & [ ( "a" , -( u32 :: MAX as i64 ) ) ] ) ,
304
- UsageReporter :: metrics_delta ( & metrics_at_max, & metrics_at_0)
304
+ UsageReporter :: compute_metrics_delta ( & metrics_at_max, & metrics_at_0)
305
305
) ;
306
306
}
307
307
}
0 commit comments