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

Function estimateRowSize

tempodb/encoding/vparquet3/schema_test.go:443–476  ·  view source on GitHub ↗
(t *testing.T, name string)

Source from the content-addressed store, hash-verified

441}
442
443func estimateRowSize(t *testing.T, name string) {
444 f, err := os.OpenFile(name, os.O_RDONLY, 0o600)
445 require.NoError(t, err)
446
447 fi, err := f.Stat()
448 require.NoError(t, err)
449
450 pf, err := parquet.OpenFile(f, fi.Size())
451 require.NoError(t, err)
452
453 r := parquet.NewGenericReader[*Trace](pf)
454 row := make([]*Trace, 1)
455
456 totalProtoSize := int64(0)
457 totalTraceSize := int64(0)
458 for {
459 _, err := r.Read(row)
460 if err != nil {
461 if errors.Is(err, io.EOF) {
462 break
463 }
464 require.NoError(t, err)
465 }
466
467 tr := row[0]
468 sch := parquet.SchemaOf(tr)
469 row := sch.Deconstruct(nil, tr)
470
471 totalProtoSize += int64(estimateMarshalledSizeFromParquetRow(row))
472 totalTraceSize += int64(estimateMarshalledSizeFromTrace(tr))
473 }
474
475 fmt.Println(pf.Size(), ",", len(pf.RowGroups()), ",", totalProtoSize, ",", totalTraceSize)
476}
477
478func TestExtendReuseSlice(t *testing.T) {
479 tcs := []struct {

Callers 1

Calls 4

SizeMethod · 0.65
ReadMethod · 0.65

Tested by

no test coverage detected