@@ -230,6 +230,21 @@ func (f *fakeQuerier) SelectMatchingProfiles(ctx context.Context, params *ingest
230
230
return iter .NewSliceIterator (profiles ), nil
231
231
}
232
232
233
+ func openSingleBlockQuerierIndex (t * testing.T , blockID string ) * singleBlockQuerier {
234
+ t .Helper ()
235
+
236
+ reader , err := index .NewFileReader (fmt .Sprintf ("testdata/%s/index.tsdb" , blockID ))
237
+ require .NoError (t , err )
238
+
239
+ q := & singleBlockQuerier {
240
+ metrics : newBlocksMetrics (nil ),
241
+ meta : & block.Meta {ULID : ulid .MustParse (blockID )},
242
+ opened : true , // Skip trying to open the block.
243
+ index : reader ,
244
+ }
245
+ return q
246
+ }
247
+
233
248
func TestSelectMatchingProfilesCleanUp (t * testing.T ) {
234
249
defer goleak .VerifyNone (t , goleak .IgnoreCurrent ())
235
250
@@ -245,15 +260,7 @@ func TestSelectMatchingProfilesCleanUp(t *testing.T) {
245
260
246
261
func Test_singleBlockQuerier_Series (t * testing.T ) {
247
262
ctx := context .Background ()
248
- reader , err := index .NewFileReader ("testdata/01HA2V3CPSZ9E0HMQNNHH89WSS/index.tsdb" )
249
- assert .NoError (t , err )
250
-
251
- q := & singleBlockQuerier {
252
- metrics : newBlocksMetrics (nil ),
253
- meta : & block.Meta {ULID : ulid .MustParse ("01HA2V3CPSZ9E0HMQNNHH89WSS" )},
254
- opened : true , // Skip trying to open the block.
255
- index : reader ,
256
- }
263
+ q := openSingleBlockQuerierIndex (t , "01HA2V3CPSZ9E0HMQNNHH89WSS" )
257
264
258
265
t .Run ("get all names" , func (t * testing.T ) {
259
266
want := []string {
@@ -1055,13 +1062,15 @@ func Test_singleBlockQuerier_ProfileTypes(t *testing.T) {
1055
1062
}
1056
1063
1057
1064
func Benchmark_singleBlockQuerier_Series (b * testing.B ) {
1065
+ const id = "01HA2V3CPSZ9E0HMQNNHH89WSS"
1066
+
1058
1067
ctx := context .Background ()
1059
- reader , err := index .NewFileReader ("testdata/01HA2V3CPSZ9E0HMQNNHH89WSS /index.tsdb" )
1068
+ reader , err := index .NewFileReader (fmt . Sprintf ( "testdata/%s /index.tsdb" , id ) )
1060
1069
assert .NoError (b , err )
1061
1070
1062
1071
q := & singleBlockQuerier {
1063
1072
metrics : newBlocksMetrics (nil ),
1064
- meta : & block.Meta {ULID : ulid .MustParse ("01HA2V3CPSZ9E0HMQNNHH89WSS" )},
1073
+ meta : & block.Meta {ULID : ulid .MustParse (id )},
1065
1074
opened : true , // Skip trying to open the block.
1066
1075
index : reader ,
1067
1076
}
@@ -1083,6 +1092,15 @@ func Benchmark_singleBlockQuerier_Series(b *testing.B) {
1083
1092
})
1084
1093
}
1085
1094
})
1095
+
1096
+ b .Run ("UI request" , func (b * testing.B ) {
1097
+ for n := 0 ; n < b .N ; n ++ {
1098
+ q .Series (ctx , & ingestv1.SeriesRequest { //nolint:errcheck
1099
+ Matchers : []string {},
1100
+ LabelNames : []string {"pyroscope_app" , "service_name" , "__profile_type__" , "__type__" , "__name__" },
1101
+ })
1102
+ }
1103
+ })
1086
1104
}
1087
1105
1088
1106
func Benchmark_singleBlockQuerier_LabelNames (b * testing.B ) {
0 commit comments