@@ -11,14 +11,13 @@ import (
11
11
)
12
12
13
13
func TestLabelSetCounter (t * testing.T ) {
14
- counter := newLabelSetCounter ()
15
-
16
14
metricName := "cortex_distributor_received_samples_per_labelset_total"
17
15
reg := prometheus .NewPedanticRegistry ()
18
16
dummyCounter := prometheus .NewCounterVec (prometheus.CounterOpts {
19
17
Name : metricName ,
20
18
Help : "" ,
21
19
}, []string {"user" , "type" , "labelset" })
20
+ counter := newLabelSetTracker (dummyCounter )
22
21
reg .MustRegister (dummyCounter )
23
22
24
23
userID := "1"
@@ -31,22 +30,12 @@ func TestLabelSetCounter(t *testing.T) {
31
30
counter .increaseSamplesLabelSet (userID2 , 0 , labels .FromStrings ("foo" , "bar" ), 100 , 5 )
32
31
counter .increaseSamplesLabelSet (userID2 , 2 , labels .FromStrings ("cluster" , "us-west-2" ), 0 , 100 )
33
32
34
- userSet := map [string ]map [uint64 ]struct {
35
- }{
36
- userID : {0 : struct {}{}, 1 : struct {}{}, 2 : struct {}{}, 3 : struct {}{}},
37
- userID2 : {0 : struct {}{}, 1 : struct {}{}, 2 : struct {}{}, 3 : struct {}{}},
38
- }
39
- counter .updateMetrics (userSet , dummyCounter )
40
-
41
33
require .NoError (t , testutil .GatherAndCompare (reg , strings .NewReader (`
42
34
# TYPE cortex_distributor_received_samples_per_labelset_total counter
43
- cortex_distributor_received_samples_per_labelset_total{labelset="{cluster=\"us-west-2\"}",type="float",user="2"} 0
44
35
cortex_distributor_received_samples_per_labelset_total{labelset="{cluster=\"us-west-2\"}",type="histogram",user="2"} 100
45
36
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="float",user="1"} 10
46
37
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="float",user="2"} 100
47
- cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="histogram",user="1"} 0
48
38
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="histogram",user="2"} 5
49
- cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"baz\"}",type="float",user="1"} 0
50
39
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"baz\"}",type="histogram",user="1"} 5
51
40
cortex_distributor_received_samples_per_labelset_total{labelset="{}",type="float",user="1"} 20
52
41
cortex_distributor_received_samples_per_labelset_total{labelset="{}",type="histogram",user="1"} 20
@@ -57,13 +46,6 @@ func TestLabelSetCounter(t *testing.T) {
57
46
counter .increaseSamplesLabelSet (userID2 , 2 , labels .FromStrings ("cluster" , "us-west-2" ), 0 , 100 )
58
47
counter .increaseSamplesLabelSet (userID2 , 4 , labels .FromStrings ("cluster" , "us-west-2" ), 10 , 10 )
59
48
counter .increaseSamplesLabelSet (userID3 , 4 , labels .FromStrings ("cluster" , "us-east-1" ), 30 , 30 )
60
- userSet = map [string ]map [uint64 ]struct {
61
- }{
62
- userID : {0 : struct {}{}, 1 : struct {}{}, 2 : struct {}{}, 3 : struct {}{}},
63
- userID2 : {0 : struct {}{}, 1 : struct {}{}, 2 : struct {}{}, 3 : struct {}{}, 4 : struct {}{}},
64
- userID3 : {0 : struct {}{}, 1 : struct {}{}, 2 : struct {}{}, 3 : struct {}{}, 4 : struct {}{}},
65
- }
66
- counter .updateMetrics (userSet , dummyCounter )
67
49
68
50
require .NoError (t , testutil .GatherAndCompare (reg , strings .NewReader (`
69
51
# TYPE cortex_distributor_received_samples_per_labelset_total counter
@@ -73,18 +55,20 @@ func TestLabelSetCounter(t *testing.T) {
73
55
cortex_distributor_received_samples_per_labelset_total{labelset="{cluster=\"us-west-2\"}",type="histogram",user="2"} 210
74
56
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="float",user="1"} 10
75
57
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="float",user="2"} 100
76
- cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="histogram",user="1"} 0
77
58
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="histogram",user="2"} 5
78
- cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"baz\"}",type="float",user="1"} 0
79
59
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"baz\"}",type="histogram",user="1"} 5
80
60
cortex_distributor_received_samples_per_labelset_total{labelset="{}",type="float",user="1"} 40
81
61
cortex_distributor_received_samples_per_labelset_total{labelset="{}",type="histogram",user="1"} 40
82
62
` ), metricName ))
83
63
84
64
// Remove user 2. But metrics for user 2 not cleaned up as it is expected to be cleaned up
85
65
// in cleanupInactiveUser loop. It is expected to have 3 minutes delay in this case.
86
- delete (userSet , userID2 )
87
- counter .updateMetrics (userSet , dummyCounter )
66
+ userSet := map [string ]map [uint64 ]struct {
67
+ }{
68
+ userID : {0 : struct {}{}, 1 : struct {}{}, 2 : struct {}{}, 3 : struct {}{}},
69
+ userID3 : {0 : struct {}{}, 1 : struct {}{}, 2 : struct {}{}, 3 : struct {}{}, 4 : struct {}{}},
70
+ }
71
+ counter .updateMetrics (userSet )
88
72
require .NoError (t , testutil .GatherAndCompare (reg , strings .NewReader (`
89
73
# TYPE cortex_distributor_received_samples_per_labelset_total counter
90
74
cortex_distributor_received_samples_per_labelset_total{labelset="{cluster=\"us-east-1\"}",type="float",user="3"} 30
@@ -93,9 +77,7 @@ func TestLabelSetCounter(t *testing.T) {
93
77
cortex_distributor_received_samples_per_labelset_total{labelset="{cluster=\"us-west-2\"}",type="histogram",user="2"} 210
94
78
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="float",user="1"} 10
95
79
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="float",user="2"} 100
96
- cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="histogram",user="1"} 0
97
80
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="histogram",user="2"} 5
98
- cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"baz\"}",type="float",user="1"} 0
99
81
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"baz\"}",type="histogram",user="1"} 5
100
82
cortex_distributor_received_samples_per_labelset_total{labelset="{}",type="float",user="1"} 40
101
83
cortex_distributor_received_samples_per_labelset_total{labelset="{}",type="histogram",user="1"} 40
@@ -108,15 +90,14 @@ func TestLabelSetCounter(t *testing.T) {
108
90
userID2 : {},
109
91
userID3 : {},
110
92
}
111
- counter .updateMetrics (userSet , dummyCounter )
93
+ counter .updateMetrics (userSet )
112
94
113
95
require .NoError (t , testutil .GatherAndCompare (reg , strings .NewReader (`
114
96
# TYPE cortex_distributor_received_samples_per_labelset_total counter
115
97
cortex_distributor_received_samples_per_labelset_total{labelset="{cluster=\"us-west-2\"}",type="float",user="2"} 10
116
98
cortex_distributor_received_samples_per_labelset_total{labelset="{cluster=\"us-west-2\"}",type="histogram",user="2"} 210
117
99
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="float",user="1"} 10
118
100
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="float",user="2"} 100
119
- cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="histogram",user="1"} 0
120
101
cortex_distributor_received_samples_per_labelset_total{labelset="{foo=\"bar\"}",type="histogram",user="2"} 5
121
102
` ), metricName ))
122
103
}
0 commit comments