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

Function estimateRowSize

tempodb/encoding/vparquet5/schema_test.go:874–907  ·  view source on GitHub ↗
(t *testing.T, name string)

Source from the content-addressed store, hash-verified

872}
873
874func estimateRowSize(t *testing.T, name string) {
875 f, err := os.OpenFile(name, os.O_RDONLY, 0o600)
876 require.NoError(t, err)
877
878 fi, err := f.Stat()
879 require.NoError(t, err)
880
881 pf, err := parquet.OpenFile(f, fi.Size())
882 require.NoError(t, err)
883
884 r := parquet.NewGenericReader[*Trace](pf)
885 row := make([]*Trace, 1)
886
887 totalProtoSize := int64(0)
888 totalTraceSize := int64(0)
889 for {
890 _, err := r.Read(row)
891 if err != nil {
892 if errors.Is(err, io.EOF) {
893 break
894 }
895 require.NoError(t, err)
896 }
897
898 tr := row[0]
899 sch := parquet.SchemaOf(tr)
900 row := sch.Deconstruct(nil, tr)
901
902 totalProtoSize += int64(estimateMarshalledSizeFromParquetRow(row))
903 totalTraceSize += int64(estimateMarshalledSizeFromTrace(tr))
904 }
905
906 t.Log(pf.Size(), ",", len(pf.RowGroups()), ",", totalProtoSize, ",", totalTraceSize)
907}
908
909func TestExtendReuseSlice(t *testing.T) {
910 tcs := []struct {

Callers 1

Calls 5

SizeMethod · 0.65
ReadMethod · 0.65
LogMethod · 0.65

Tested by

no test coverage detected