@@ -10,9 +10,10 @@ import (
1010 "sync"
1111
1212 "github.com/grafana/dskit/multierror"
13- "github.com/opentracing/opentracing-go"
14- "github.com/opentracing/opentracing-go/log"
1513 "github.com/segmentio/parquet-go"
14+ "go.opentelemetry.io/otel"
15+ "go.opentelemetry.io/otel/attribute"
16+ "go.opentelemetry.io/otel/trace"
1617
1718 "github.com/grafana/phlare/pkg/iter"
1819)
@@ -39,6 +40,10 @@ type RowNumberWithDefinitionLevel struct {
3940 DefinitionLevel int
4041}
4142
43+ func (r * RowNumberWithDefinitionLevel ) String () string {
44+ return fmt .Sprintf ("%v:%v" , r .RowNumber , r .DefinitionLevel )
45+ }
46+
4247// EmptyRowNumber creates an empty invalid row number.
4348func EmptyRowNumber () RowNumber {
4449 return RowNumber {- 1 , - 1 , - 1 , - 1 , - 1 , - 1 }
@@ -782,7 +787,7 @@ type SyncIterator struct {
782787 filter * InstrumentedPredicate
783788
784789 // Status
785- span opentracing .Span
790+ span trace .Span
786791 metrics * Metrics
787792 curr RowNumber
788793 currRowGroup parquet.RowGroup
@@ -839,10 +844,12 @@ func NewSyncIterator(ctx context.Context, rgs []parquet.RowGroup, column int, co
839844 rn .Skip (rg .NumRows ())
840845 }
841846
842- span , _ := opentracing .StartSpanFromContext (ctx , "syncIterator" , opentracing.Tags {
843- "columnIndex" : column ,
844- "column" : columnName ,
845- })
847+ tr := otel .Tracer ("query" )
848+
849+ ctx , span := tr .Start (ctx , "syncIterator" , trace .WithAttributes (
850+ attribute .String ("column" , columnName ),
851+ attribute .Int ("columnIndex" , column ),
852+ ))
846853
847854 return & SyncIterator {
848855 table : strings .ToLower (rgs [0 ].Schema ().Name ()) + "s" ,
@@ -1012,11 +1019,12 @@ func (c *SyncIterator) seekPages(seekTo RowNumber, definitionLevel int) (done bo
10121019 return true , err
10131020 }
10141021 c .metrics .pageReadsTotal .WithLabelValues (c .table , c .columnName ).Add (1 )
1015- c .span .LogFields (
1016- log .String ("msg" , "reading page (seekPages)" ),
1017- log .Int64 ("page_num_values" , pg .NumValues ()),
1018- log .Int64 ("page_size" , pg .Size ()),
1019- )
1022+ c .span .AddEvent (
1023+ "read page (seekPages)" ,
1024+ trace .WithAttributes (
1025+ attribute .Int64 ("page_num_values" , pg .NumValues ()),
1026+ attribute .Int64 ("page_size" , pg .Size ()),
1027+ ))
10201028
10211029 // Skip based on row number?
10221030 newRN := c .curr
@@ -1073,11 +1081,12 @@ func (c *SyncIterator) next() (RowNumber, *parquet.Value, error) {
10731081 return EmptyRowNumber (), nil , err
10741082 }
10751083 c .metrics .pageReadsTotal .WithLabelValues (c .table , c .columnName ).Add (1 )
1076- c .span .LogFields (
1077- log .String ("msg" , "reading page (next)" ),
1078- log .Int64 ("page_num_values" , pg .NumValues ()),
1079- log .Int64 ("page_size" , pg .Size ()),
1080- )
1084+ c .span .AddEvent (
1085+ "read page (next)" ,
1086+ trace .WithAttributes (
1087+ attribute .Int64 ("page_num_values" , pg .NumValues ()),
1088+ attribute .Int64 ("page_size" , pg .Size ()),
1089+ ))
10811090
10821091 if c .filter != nil && ! c .filter .KeepPage (pg ) {
10831092 // This page filtered out
@@ -1195,12 +1204,14 @@ func (c *SyncIterator) Err() error {
11951204func (c * SyncIterator ) Close () error {
11961205 c .closeCurrRowGroup ()
11971206
1198- c .span .SetTag ("inspectedColumnChunks" , c .filter .InspectedColumnChunks .Load ())
1199- c .span .SetTag ("inspectedPages" , c .filter .InspectedPages .Load ())
1200- c .span .SetTag ("inspectedValues" , c .filter .InspectedValues .Load ())
1201- c .span .SetTag ("keptColumnChunks" , c .filter .KeptColumnChunks .Load ())
1202- c .span .SetTag ("keptPages" , c .filter .KeptPages .Load ())
1203- c .span .SetTag ("keptValues" , c .filter .KeptValues .Load ())
1204- c .span .Finish ()
1207+ c .span .SetAttributes (attribute .Int64 ("inspectedColumnChunks" , c .filter .InspectedColumnChunks .Load ()))
1208+ /*
1209+ c.span.SetTag("inspectedPages", c.filter.InspectedPages.Load())
1210+ c.span.SetTag("inspectedValues", c.filter.InspectedValues.Load())
1211+ c.span.SetTag("keptColumnChunks", c.filter.KeptColumnChunks.Load())
1212+ c.span.SetTag("keptPages", c.filter.KeptPages.Load())
1213+ c.span.SetTag("keptValues", c.filter.KeptValues.Load())
1214+ */
1215+ c .span .End ()
12051216 return nil
12061217}
0 commit comments