Documentation ¶
Index ¶
- Constants
- Variables
- func ArrowSamplesField(profileLabelFields []arrow.Field) []arrow.Field
- func ArrowSchema(profileLabelFields []arrow.Field) *arrow.Schema
- func LocationsArrowSchema() *arrow.Schema
- func Schema() (*dynparquet.Schema, error)
- func SchemaDefinition() *schemapb.Schema
- type Label
- type LabelColumn
- type Location
- type LocationLine
- type LocationsWriter
- type Meta
- type NormalizedProfile
- type NormalizedSample
- type NumLabel
- type OldProfile
- type Profile
- type Reader
- type RecordReader
- type SymbolizedSample
- type ValueType
- type Writer
Constants ¶
View Source
const ( ColumnLabelsPrefix = ColumnLabels + "." ColumnPprofLabelsPrefix = ColumnPprofLabels + "." )
View Source
const ( SchemaName = "parca" // The columns are sorted by their name in the schema too. ColumnDuration = "duration" ColumnLabels = "labels" ColumnName = "name" ColumnPeriod = "period" ColumnPeriodType = "period_type" ColumnPeriodUnit = "period_unit" ColumnPprofLabels = "pprof_labels" ColumnPprofNumLabels = "pprof_num_labels" ColumnSampleType = "sample_type" ColumnSampleUnit = "sample_unit" ColumnStacktrace = "stacktrace" ColumnTimestamp = "timestamp" ColumnValue = "value" )
Variables ¶
View Source
var LocationsField = arrow.Field{ Name: "locations", Type: arrow.ListOf(arrow.StructOf([]arrow.Field{{ Name: "address", Type: arrow.PrimitiveTypes.Uint64, }, { Name: "mapping_start", Type: arrow.PrimitiveTypes.Uint64, }, { Name: "mapping_limit", Type: arrow.PrimitiveTypes.Uint64, }, { Name: "mapping_offset", Type: arrow.PrimitiveTypes.Uint64, }, { Name: "mapping_file", Type: &arrow.DictionaryType{IndexType: arrow.PrimitiveTypes.Uint32, ValueType: arrow.BinaryTypes.Binary}, }, { Name: "mapping_build_id", Type: &arrow.DictionaryType{IndexType: arrow.PrimitiveTypes.Uint32, ValueType: arrow.BinaryTypes.Binary}, }, { Name: "lines", Type: arrow.ListOf(arrow.StructOf([]arrow.Field{{ Name: "line", Type: arrow.PrimitiveTypes.Int64, }, { Name: "function_name", Type: &arrow.DictionaryType{IndexType: arrow.PrimitiveTypes.Uint32, ValueType: arrow.BinaryTypes.Binary}, }, { Name: "function_system_name", Type: &arrow.DictionaryType{IndexType: arrow.PrimitiveTypes.Uint32, ValueType: arrow.BinaryTypes.Binary}, }, { Name: "function_filename", Type: &arrow.DictionaryType{IndexType: arrow.PrimitiveTypes.Uint32, ValueType: arrow.BinaryTypes.Binary}, }, { Name: "function_start_line", Type: arrow.PrimitiveTypes.Int64, }}...)), }}...)), }
Functions ¶
func ArrowSamplesField ¶ added in v0.19.0
func ArrowSchema ¶ added in v0.19.0
func LocationsArrowSchema ¶ added in v0.19.0
func Schema ¶ added in v0.19.0
func Schema() (*dynparquet.Schema, error)
func SchemaDefinition ¶ added in v0.19.0
Types ¶
type LabelColumn ¶ added in v0.19.0
type LocationLine ¶ added in v0.12.0
type LocationsWriter ¶ added in v0.19.0
type LocationsWriter struct { RecordBuilder *array.RecordBuilder LabelBuildersMap map[string]*array.BinaryDictionaryBuilder LabelBuilders []*array.BinaryDictionaryBuilder LocationsList *array.ListBuilder Locations *array.StructBuilder Addresses *array.Uint64Builder MappingStart *array.Uint64Builder MappingLimit *array.Uint64Builder MappingOffset *array.Uint64Builder MappingFile *array.BinaryDictionaryBuilder MappingBuildID *array.BinaryDictionaryBuilder Lines *array.ListBuilder Line *array.StructBuilder LineNumber *array.Int64Builder FunctionName *array.BinaryDictionaryBuilder FunctionSystemName *array.BinaryDictionaryBuilder FunctionFilename *array.BinaryDictionaryBuilder FunctionStartLine *array.Int64Builder Value *array.Int64Builder Diff *array.Int64Builder }
func NewLocationsWriter ¶ added in v0.19.0
func NewLocationsWriter(pool memory.Allocator) LocationsWriter
type Meta ¶ added in v0.12.0
type Meta struct { Name string PeriodType ValueType SampleType ValueType Timestamp int64 Duration int64 Period int64 }
func MetaFromPprof ¶ added in v0.8.0
func MetaFromPprof(p *pprofproto.Profile, name string, sampleIndex int) Meta
type NormalizedProfile ¶ added in v0.12.0
type NormalizedProfile struct { Samples []*NormalizedSample Meta Meta }
type NormalizedSample ¶ added in v0.12.0
type OldProfile ¶ added in v0.19.0
type OldProfile struct { Meta Meta Samples []*SymbolizedSample }
type Reader ¶ added in v0.19.0
type Reader struct { Profile Profile RecordReaders []*RecordReader }
type RecordReader ¶ added in v0.19.0
type RecordReader struct { Record arrow.Record LabelFields []arrow.Field LabelColumns []LabelColumn Locations *array.List Location *array.Struct Address *array.Uint64 MappingStart *array.Uint64 MappingLimit *array.Uint64 MappingOffset *array.Uint64 MappingFileIndices *array.Uint32 MappingFileDict *array.Binary MappingBuildIDIndices *array.Uint32 MappingBuildIDDict *array.Binary Lines *array.List Line *array.Struct LineNumber *array.Int64 LineFunctionNameIndices *array.Uint32 LineFunctionNameDict *array.Binary LineFunctionSystemNameIndices *array.Uint32 LineFunctionSystemNameDict *array.Binary LineFunctionFilenameIndices *array.Uint32 LineFunctionFilenameDict *array.Binary LineFunctionStartLine *array.Int64 Value *array.Int64 Diff *array.Int64 }
func NewRecordReader ¶ added in v0.19.0
func NewRecordReader(ar arrow.Record) *RecordReader
type SymbolizedSample ¶ added in v0.12.0
type Writer ¶ added in v0.19.0
type Writer struct { RecordBuilder *array.RecordBuilder LabelBuildersMap map[string]*array.BinaryDictionaryBuilder LabelBuilders []*array.BinaryDictionaryBuilder LocationsList *array.ListBuilder Locations *array.StructBuilder Addresses *array.Uint64Builder MappingStart *array.Uint64Builder MappingLimit *array.Uint64Builder MappingOffset *array.Uint64Builder MappingFile *array.BinaryDictionaryBuilder MappingBuildID *array.BinaryDictionaryBuilder Lines *array.ListBuilder Line *array.StructBuilder LineNumber *array.Int64Builder FunctionName *array.BinaryDictionaryBuilder FunctionSystemName *array.BinaryDictionaryBuilder FunctionFilename *array.BinaryDictionaryBuilder FunctionStartLine *array.Int64Builder Value *array.Int64Builder Diff *array.Int64Builder }
Click to show internal directories.
Click to hide internal directories.