MCPcopy
hub / github.com/grafana/tempo / estimateRowSize

Function estimateRowSize

tempodb/encoding/vparquet4/schema_test.go:853–886  ·  view source on GitHub ↗
(t *testing.T, name string)

Source from the content-addressed store, hash-verified

851}
852
853func estimateRowSize(t *testing.T, name string) {
854 f, err := os.OpenFile(name, os.O_RDONLY, 0o600)
855 require.NoError(t, err)
856
857 fi, err := f.Stat()
858 require.NoError(t, err)
859
860 pf, err := parquet.OpenFile(f, fi.Size())
861 require.NoError(t, err)
862
863 r := parquet.NewGenericReader[*Trace](pf)
864 row := make([]*Trace, 1)
865
866 totalProtoSize := int64(0)
867 totalTraceSize := int64(0)
868 for {
869 _, err := r.Read(row)
870 if err != nil {
871 if errors.Is(err, io.EOF) {
872 break
873 }
874 require.NoError(t, err)
875 }
876
877 tr := row[0]
878 sch := parquet.SchemaOf(tr)
879 row := sch.Deconstruct(nil, tr)
880
881 totalProtoSize += int64(estimateMarshalledSizeFromParquetRow(row))
882 totalTraceSize += int64(estimateMarshalledSizeFromTrace(tr))
883 }
884
885 fmt.Println(pf.Size(), ",", len(pf.RowGroups()), ",", totalProtoSize, ",", totalTraceSize)
886}
887
888func TestExtendReuseSlice(t *testing.T) {
889 tcs := []struct {

Callers 1

Calls 4

SizeMethod · 0.65
ReadMethod · 0.65

Tested by

no test coverage detected