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.