@@ -20,10 +20,11 @@ func BenchmarkColumn_Path(b *testing.B) {
2020
2121 body := `{"key1":[{"key2":"val2"},{"key3":"val3"}]}`
2222 header := http.Header {"Content-Type" : []string {"application/json" }}
23- reqCtx := recordctx .FromHTTP (time .Now (), & http.Request {Header : header , Body : io .NopCloser (strings .NewReader (body ))})
2423 renderer := column .NewRenderer ()
2524
2625 for i := 0 ; i < b .N ; i ++ {
26+ // reqCtx needs to be created separately for each request, otherwise the parsed json is cached
27+ reqCtx := recordctx .FromHTTP (time .Now (), & http.Request {Header : header , Body : io .NopCloser (strings .NewReader (body ))})
2728 val , err := renderer .CSVValue (c , reqCtx )
2829 assert .NoError (b , err )
2930 assert .Equal (b , `"val3"` , val )
@@ -38,10 +39,10 @@ func BenchmarkColumn_Template_Jsonnet(b *testing.B) {
3839
3940 body := `{"key1":[{"key2":"val2"},{"key3":"val3"}]}`
4041 header := http.Header {"Content-Type" : []string {"application/json" }}
41- reqCtx := recordctx .FromHTTP (time .Now (), & http.Request {Header : header , Body : io .NopCloser (strings .NewReader (body ))})
4242 renderer := column .NewRenderer ()
4343
4444 for i := 0 ; i < b .N ; i ++ {
45+ reqCtx := recordctx .FromHTTP (time .Now (), & http.Request {Header : header , Body : io .NopCloser (strings .NewReader (body ))})
4546 val , err := renderer .CSVValue (c , reqCtx )
4647 assert .NoError (b , err )
4748 assert .Equal (b , `"val3"` , val )
@@ -51,10 +52,10 @@ func BenchmarkColumn_Template_Jsonnet(b *testing.B) {
5152func BenchmarkColumn_UUID (b * testing.B ) {
5253 c := column.UUID {}
5354
54- reqCtx := recordctx .FromHTTP (time .Now (), & http.Request {})
5555 renderer := column .NewRenderer ()
5656
5757 for i := 0 ; i < b .N ; i ++ {
58+ reqCtx := recordctx .FromHTTP (time .Now (), & http.Request {})
5859 val , err := renderer .CSVValue (c , reqCtx )
5960 assert .NoError (b , err )
6061 assert .Len (b , val , 36 )
0 commit comments