v1experimental

package
v1.34.1-20240514201103... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	AggregationTemporality_name = map[int32]string{
		0: "AGGREGATION_TEMPORALITY_UNSPECIFIED",
		1: "AGGREGATION_TEMPORALITY_DELTA",
		2: "AGGREGATION_TEMPORALITY_CUMULATIVE",
	}
	AggregationTemporality_value = map[string]int32{
		"AGGREGATION_TEMPORALITY_UNSPECIFIED": 0,
		"AGGREGATION_TEMPORALITY_DELTA":       1,
		"AGGREGATION_TEMPORALITY_CUMULATIVE":  2,
	}
)

Enum value maps for AggregationTemporality.

View Source
var (
	BuildIdKind_name = map[int32]string{
		0: "BUILD_ID_LINKER",
		1: "BUILD_ID_BINARY_HASH",
	}
	BuildIdKind_value = map[string]int32{
		"BUILD_ID_LINKER":      0,
		"BUILD_ID_BINARY_HASH": 1,
	}
)

Enum value maps for BuildIdKind.

View Source
var File_opentelemetry_proto_profiles_v1experimental_pprofextended_proto protoreflect.FileDescriptor
View Source
var File_opentelemetry_proto_profiles_v1experimental_profiles_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type AggregationTemporality

type AggregationTemporality int32

Specifies the method of aggregating metric values, either DELTA (change since last report) or CUMULATIVE (total since a fixed start time).

const (
	// UNSPECIFIED is the default AggregationTemporality, it MUST not be used.
	AggregationTemporality_AGGREGATION_TEMPORALITY_UNSPECIFIED AggregationTemporality = 0
	// * DELTA is an AggregationTemporality for a profiler which reports
	// changes since last report time. Successive metrics contain aggregation of
	// values from continuous and non-overlapping intervals.
	//
	// The values for a DELTA metric are based only on the time interval
	// associated with one measurement cycle. There is no dependency on
	// previous measurements like is the case for CUMULATIVE metrics.
	//
	// For example, consider a system measuring the number of requests that
	// it receives and reports the sum of these requests every second as a
	// DELTA metric:
	//
	// 1. The system starts receiving at time=t_0.
	// 2. A request is received, the system measures 1 request.
	// 3. A request is received, the system measures 1 request.
	// 4. A request is received, the system measures 1 request.
	// 5. The 1 second collection cycle ends. A metric is exported for the
	// number of requests received over the interval of time t_0 to
	// t_0+1 with a value of 3.
	// 6. A request is received, the system measures 1 request.
	// 7. A request is received, the system measures 1 request.
	// 8. The 1 second collection cycle ends. A metric is exported for the
	// number of requests received over the interval of time t_0+1 to
	// t_0+2 with a value of 2.
	AggregationTemporality_AGGREGATION_TEMPORALITY_DELTA AggregationTemporality = 1
	// * CUMULATIVE is an AggregationTemporality for a profiler which
	// reports changes since a fixed start time. This means that current values
	// of a CUMULATIVE metric depend on all previous measurements since the
	// start time. Because of this, the sender is required to retain this state
	// in some form. If this state is lost or invalidated, the CUMULATIVE metric
	// values MUST be reset and a new fixed start time following the last
	// reported measurement time sent MUST be used.
	//
	// For example, consider a system measuring the number of requests that
	// it receives and reports the sum of these requests every second as a
	// CUMULATIVE metric:
	//
	// 1. The system starts receiving at time=t_0.
	// 2. A request is received, the system measures 1 request.
	// 3. A request is received, the system measures 1 request.
	// 4. A request is received, the system measures 1 request.
	// 5. The 1 second collection cycle ends. A metric is exported for the
	// number of requests received over the interval of time t_0 to
	// t_0+1 with a value of 3.
	// 6. A request is received, the system measures 1 request.
	// 7. A request is received, the system measures 1 request.
	// 8. The 1 second collection cycle ends. A metric is exported for the
	// number of requests received over the interval of time t_0 to
	// t_0+2 with a value of 5.
	// 9. The system experiences a fault and loses state.
	// 10. The system recovers and resumes receiving at time=t_1.
	// 11. A request is received, the system measures 1 request.
	// 12. The 1 second collection cycle ends. A metric is exported for the
	// number of requests received over the interval of time t_1 to
	// t_0+1 with a value of 1.
	//
	// Note: Even though, when reporting changes since last report time, using
	// CUMULATIVE is valid, it is not recommended.
	AggregationTemporality_AGGREGATION_TEMPORALITY_CUMULATIVE AggregationTemporality = 2
)

func (AggregationTemporality) Descriptor

func (AggregationTemporality) Enum

func (AggregationTemporality) EnumDescriptor deprecated

func (AggregationTemporality) EnumDescriptor() ([]byte, []int)

Deprecated: Use AggregationTemporality.Descriptor instead.

func (AggregationTemporality) Number

func (AggregationTemporality) String

func (x AggregationTemporality) String() string

func (AggregationTemporality) Type

type AttributeUnit

type AttributeUnit struct {

	// Index into string table.
	AttributeKey int64 `protobuf:"varint,1,opt,name=attribute_key,json=attributeKey,proto3" json:"attribute_key,omitempty"`
	// Index into string table.
	Unit int64 `protobuf:"varint,2,opt,name=unit,proto3" json:"unit,omitempty"`
	// contains filtered or unexported fields
}

Represents a mapping between Attribute Keys and Units.

func (*AttributeUnit) Descriptor deprecated

func (*AttributeUnit) Descriptor() ([]byte, []int)

Deprecated: Use AttributeUnit.ProtoReflect.Descriptor instead.

func (*AttributeUnit) GetAttributeKey

func (x *AttributeUnit) GetAttributeKey() int64

func (*AttributeUnit) GetUnit

func (x *AttributeUnit) GetUnit() int64

func (*AttributeUnit) ProtoMessage

func (*AttributeUnit) ProtoMessage()

func (*AttributeUnit) ProtoReflect

func (x *AttributeUnit) ProtoReflect() protoreflect.Message

func (*AttributeUnit) Reset

func (x *AttributeUnit) Reset()

func (*AttributeUnit) String

func (x *AttributeUnit) String() string

type BuildIdKind

type BuildIdKind int32

Indicates the semantics of the build_id field.

const (
	// Linker-generated build ID, stored in the ELF binary notes.
	BuildIdKind_BUILD_ID_LINKER BuildIdKind = 0
	// Build ID based on the content hash of the binary. Currently no particular
	// hashing approach is standardized, so a given producer needs to define it
	// themselves and thus unlike BUILD_ID_LINKER this kind of hash is producer-specific.
	// We may choose to provide a standardized stable hash recommendation later.
	BuildIdKind_BUILD_ID_BINARY_HASH BuildIdKind = 1
)

func (BuildIdKind) Descriptor

func (BuildIdKind) Enum

func (x BuildIdKind) Enum() *BuildIdKind

func (BuildIdKind) EnumDescriptor deprecated

func (BuildIdKind) EnumDescriptor() ([]byte, []int)

Deprecated: Use BuildIdKind.Descriptor instead.

func (BuildIdKind) Number

func (x BuildIdKind) Number() protoreflect.EnumNumber

func (BuildIdKind) String

func (x BuildIdKind) String() string

func (BuildIdKind) Type

type Function

type Function struct {

	// Unique nonzero id for the function. [deprecated]
	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Name of the function, in human-readable form if available.
	Name int64 `protobuf:"varint,2,opt,name=name,proto3" json:"name,omitempty"` // Index into string table
	// Name of the function, as identified by the system.
	// For instance, it can be a C++ mangled name.
	SystemName int64 `protobuf:"varint,3,opt,name=system_name,json=systemName,proto3" json:"system_name,omitempty"` // Index into string table
	// Source file containing the function.
	Filename int64 `protobuf:"varint,4,opt,name=filename,proto3" json:"filename,omitempty"` // Index into string table
	// Line number in source file.
	StartLine int64 `protobuf:"varint,5,opt,name=start_line,json=startLine,proto3" json:"start_line,omitempty"`
	// contains filtered or unexported fields
}

Describes a function, including its human-readable name, system name, source file, and starting line number in the source.

func (*Function) Descriptor deprecated

func (*Function) Descriptor() ([]byte, []int)

Deprecated: Use Function.ProtoReflect.Descriptor instead.

func (*Function) GetFilename

func (x *Function) GetFilename() int64

func (*Function) GetId

func (x *Function) GetId() uint64

func (*Function) GetName

func (x *Function) GetName() int64

func (*Function) GetStartLine

func (x *Function) GetStartLine() int64

func (*Function) GetSystemName

func (x *Function) GetSystemName() int64

func (*Function) ProtoMessage

func (*Function) ProtoMessage()

func (*Function) ProtoReflect

func (x *Function) ProtoReflect() protoreflect.Message

func (*Function) Reset

func (x *Function) Reset()

func (*Function) String

func (x *Function) String() string

type Label

type Label struct {
	Key int64 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"` // Index into string table
	// At most one of the following must be present
	Str int64 `protobuf:"varint,2,opt,name=str,proto3" json:"str,omitempty"` // Index into string table
	Num int64 `protobuf:"varint,3,opt,name=num,proto3" json:"num,omitempty"`
	// Should only be present when num is present.
	// Specifies the units of num.
	// Use arbitrary string (for example, "requests") as a custom count unit.
	// If no unit is specified, consumer may apply heuristic to deduce the unit.
	// Consumers may also  interpret units like "bytes" and "kilobytes" as memory
	// units and units like "seconds" and "nanoseconds" as time units,
	// and apply appropriate unit conversions to these.
	NumUnit int64 `protobuf:"varint,4,opt,name=num_unit,json=numUnit,proto3" json:"num_unit,omitempty"` // Index into string table
	// contains filtered or unexported fields
}

Provides additional context for a sample, such as thread ID or allocation size, with optional units. [deprecated]

func (*Label) Descriptor deprecated

func (*Label) Descriptor() ([]byte, []int)

Deprecated: Use Label.ProtoReflect.Descriptor instead.

func (*Label) GetKey

func (x *Label) GetKey() int64

func (*Label) GetNum

func (x *Label) GetNum() int64

func (*Label) GetNumUnit

func (x *Label) GetNumUnit() int64

func (*Label) GetStr

func (x *Label) GetStr() int64

func (*Label) ProtoMessage

func (*Label) ProtoMessage()

func (*Label) ProtoReflect

func (x *Label) ProtoReflect() protoreflect.Message

func (*Label) Reset

func (x *Label) Reset()

func (*Label) String

func (x *Label) String() string

type Line

type Line struct {

	// The index of the corresponding profile.Function for this line.
	FunctionIndex uint64 `protobuf:"varint,1,opt,name=function_index,json=functionIndex,proto3" json:"function_index,omitempty"`
	// Line number in source code.
	Line int64 `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"`
	// Column number in source code.
	Column int64 `protobuf:"varint,3,opt,name=column,proto3" json:"column,omitempty"`
	// contains filtered or unexported fields
}

Details a specific line in a source code, linked to a function.

func (*Line) Descriptor deprecated

func (*Line) Descriptor() ([]byte, []int)

Deprecated: Use Line.ProtoReflect.Descriptor instead.

func (*Line) GetColumn

func (x *Line) GetColumn() int64

func (*Line) GetFunctionIndex

func (x *Line) GetFunctionIndex() uint64

func (*Line) GetLine

func (x *Line) GetLine() int64

func (*Line) ProtoMessage

func (*Line) ProtoMessage()

func (*Line) ProtoReflect

func (x *Line) ProtoReflect() protoreflect.Message

func (*Line) Reset

func (x *Line) Reset()

func (*Line) String

func (x *Line) String() string
type Link struct {

	// A unique identifier of a trace that this linked span is part of. The ID is a
	// 16-byte array.
	TraceId []byte `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
	// A unique identifier for the linked span. The ID is an 8-byte array.
	SpanId []byte `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"`
	// contains filtered or unexported fields
}

A pointer from a profile Sample to a trace Span. Connects a profile sample to a trace span, identified by unique trace and span IDs.

func (*Link) Descriptor deprecated

func (*Link) Descriptor() ([]byte, []int)

Deprecated: Use Link.ProtoReflect.Descriptor instead.

func (*Link) GetSpanId

func (x *Link) GetSpanId() []byte

func (*Link) GetTraceId

func (x *Link) GetTraceId() []byte

func (*Link) ProtoMessage

func (*Link) ProtoMessage()

func (*Link) ProtoReflect

func (x *Link) ProtoReflect() protoreflect.Message

func (*Link) Reset

func (x *Link) Reset()

func (*Link) String

func (x *Link) String() string

type Location

type Location struct {

	// Unique nonzero id for the location.  A profile could use
	// instruction addresses or any integer sequence as ids. [deprecated]
	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The index of the corresponding profile.Mapping for this location.
	// It can be unset if the mapping is unknown or not applicable for
	// this profile type.
	MappingIndex uint64 `protobuf:"varint,2,opt,name=mapping_index,json=mappingIndex,proto3" json:"mapping_index,omitempty"`
	// The instruction address for this location, if available.  It
	// should be within [Mapping.memory_start...Mapping.memory_limit]
	// for the corresponding mapping. A non-leaf address may be in the
	// middle of a call instruction. It is up to display tools to find
	// the beginning of the instruction if necessary.
	Address uint64 `protobuf:"varint,3,opt,name=address,proto3" json:"address,omitempty"`
	// Multiple line indicates this location has inlined functions,
	// where the last entry represents the caller into which the
	// preceding entries were inlined.
	//
	// E.g., if memcpy() is inlined into printf:
	//
	//	line[0].function_name == "memcpy"
	//	line[1].function_name == "printf"
	Line []*Line `protobuf:"bytes,4,rep,name=line,proto3" json:"line,omitempty"`
	// Provides an indication that multiple symbols map to this location's
	// address, for example due to identical code folding by the linker. In that
	// case the line information above represents one of the multiple
	// symbols. This field must be recomputed when the symbolization state of the
	// profile changes.
	IsFolded bool `protobuf:"varint,5,opt,name=is_folded,json=isFolded,proto3" json:"is_folded,omitempty"`
	// Type of frame (e.g. kernel, native, python, hotspot, php). Index into string table.
	TypeIndex uint32 `protobuf:"varint,6,opt,name=type_index,json=typeIndex,proto3" json:"type_index,omitempty"`
	// References to attributes in Profile.attribute_table. [optional]
	Attributes []uint64 `protobuf:"varint,7,rep,packed,name=attributes,proto3" json:"attributes,omitempty"`
	// contains filtered or unexported fields
}

Describes function and line table debug information.

func (*Location) Descriptor deprecated

func (*Location) Descriptor() ([]byte, []int)

Deprecated: Use Location.ProtoReflect.Descriptor instead.

func (*Location) GetAddress

func (x *Location) GetAddress() uint64

func (*Location) GetAttributes

func (x *Location) GetAttributes() []uint64

func (*Location) GetId

func (x *Location) GetId() uint64

func (*Location) GetIsFolded

func (x *Location) GetIsFolded() bool

func (*Location) GetLine

func (x *Location) GetLine() []*Line

func (*Location) GetMappingIndex

func (x *Location) GetMappingIndex() uint64

func (*Location) GetTypeIndex

func (x *Location) GetTypeIndex() uint32

func (*Location) ProtoMessage

func (*Location) ProtoMessage()

func (*Location) ProtoReflect

func (x *Location) ProtoReflect() protoreflect.Message

func (*Location) Reset

func (x *Location) Reset()

func (*Location) String

func (x *Location) String() string

type Mapping

type Mapping struct {

	// Unique nonzero id for the mapping. [deprecated]
	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Address at which the binary (or DLL) is loaded into memory.
	MemoryStart uint64 `protobuf:"varint,2,opt,name=memory_start,json=memoryStart,proto3" json:"memory_start,omitempty"`
	// The limit of the address range occupied by this mapping.
	MemoryLimit uint64 `protobuf:"varint,3,opt,name=memory_limit,json=memoryLimit,proto3" json:"memory_limit,omitempty"`
	// Offset in the binary that corresponds to the first mapped address.
	FileOffset uint64 `protobuf:"varint,4,opt,name=file_offset,json=fileOffset,proto3" json:"file_offset,omitempty"`
	// The object this entry is loaded from.  This can be a filename on
	// disk for the main binary and shared libraries, or virtual
	// abstractions like "[vdso]".
	Filename int64 `protobuf:"varint,5,opt,name=filename,proto3" json:"filename,omitempty"` // Index into string table
	// A string that uniquely identifies a particular program version
	// with high probability. E.g., for binaries generated by GNU tools,
	// it could be the contents of the .note.gnu.build-id field.
	BuildId int64 `protobuf:"varint,6,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` // Index into string table
	// Specifies the kind of build id. See BuildIdKind enum for more details [optional]
	BuildIdKind BuildIdKind `` /* 159-byte string literal not displayed */
	// References to attributes in Profile.attribute_table. [optional]
	Attributes []uint64 `protobuf:"varint,12,rep,packed,name=attributes,proto3" json:"attributes,omitempty"`
	// The following fields indicate the resolution of symbolic info.
	HasFunctions    bool `protobuf:"varint,7,opt,name=has_functions,json=hasFunctions,proto3" json:"has_functions,omitempty"`
	HasFilenames    bool `protobuf:"varint,8,opt,name=has_filenames,json=hasFilenames,proto3" json:"has_filenames,omitempty"`
	HasLineNumbers  bool `protobuf:"varint,9,opt,name=has_line_numbers,json=hasLineNumbers,proto3" json:"has_line_numbers,omitempty"`
	HasInlineFrames bool `protobuf:"varint,10,opt,name=has_inline_frames,json=hasInlineFrames,proto3" json:"has_inline_frames,omitempty"`
	// contains filtered or unexported fields
}

Describes the mapping of a binary in memory, including its address range, file offset, and metadata like build ID

func (*Mapping) Descriptor deprecated

func (*Mapping) Descriptor() ([]byte, []int)

Deprecated: Use Mapping.ProtoReflect.Descriptor instead.

func (*Mapping) GetAttributes

func (x *Mapping) GetAttributes() []uint64

func (*Mapping) GetBuildId

func (x *Mapping) GetBuildId() int64

func (*Mapping) GetBuildIdKind

func (x *Mapping) GetBuildIdKind() BuildIdKind

func (*Mapping) GetFileOffset

func (x *Mapping) GetFileOffset() uint64

func (*Mapping) GetFilename

func (x *Mapping) GetFilename() int64

func (*Mapping) GetHasFilenames

func (x *Mapping) GetHasFilenames() bool

func (*Mapping) GetHasFunctions

func (x *Mapping) GetHasFunctions() bool

func (*Mapping) GetHasInlineFrames

func (x *Mapping) GetHasInlineFrames() bool

func (*Mapping) GetHasLineNumbers

func (x *Mapping) GetHasLineNumbers() bool

func (*Mapping) GetId

func (x *Mapping) GetId() uint64

func (*Mapping) GetMemoryLimit

func (x *Mapping) GetMemoryLimit() uint64

func (*Mapping) GetMemoryStart

func (x *Mapping) GetMemoryStart() uint64

func (*Mapping) ProtoMessage

func (*Mapping) ProtoMessage()

func (*Mapping) ProtoReflect

func (x *Mapping) ProtoReflect() protoreflect.Message

func (*Mapping) Reset

func (x *Mapping) Reset()

func (*Mapping) String

func (x *Mapping) String() string

type Profile

type Profile struct {

	// A description of the samples associated with each Sample.value.
	// For a cpu profile this might be:
	//
	//	[["cpu","nanoseconds"]] or [["wall","seconds"]] or [["syscall","count"]]
	//
	// For a heap profile, this might be:
	//
	//	[["allocations","count"], ["space","bytes"]],
	//
	// If one of the values represents the number of events represented
	// by the sample, by convention it should be at index 0 and use
	// sample_type.unit == "count".
	SampleType []*ValueType `protobuf:"bytes,1,rep,name=sample_type,json=sampleType,proto3" json:"sample_type,omitempty"`
	// The set of samples recorded in this profile.
	Sample []*Sample `protobuf:"bytes,2,rep,name=sample,proto3" json:"sample,omitempty"`
	// Mapping from address ranges to the image/binary/library mapped
	// into that address range.  mapping[0] will be the main binary.
	Mapping []*Mapping `protobuf:"bytes,3,rep,name=mapping,proto3" json:"mapping,omitempty"`
	// Locations referenced by samples via location_indices.
	Location []*Location `protobuf:"bytes,4,rep,name=location,proto3" json:"location,omitempty"`
	// Array of locations referenced by samples.
	LocationIndices []int64 `protobuf:"varint,15,rep,packed,name=location_indices,json=locationIndices,proto3" json:"location_indices,omitempty"`
	// Functions referenced by locations.
	Function []*Function `protobuf:"bytes,5,rep,name=function,proto3" json:"function,omitempty"`
	// Lookup table for attributes.
	AttributeTable []*v1.KeyValue `protobuf:"bytes,16,rep,name=attribute_table,json=attributeTable,proto3" json:"attribute_table,omitempty"`
	// Represents a mapping between Attribute Keys and Units.
	AttributeUnits []*AttributeUnit `protobuf:"bytes,17,rep,name=attribute_units,json=attributeUnits,proto3" json:"attribute_units,omitempty"`
	// Lookup table for links.
	LinkTable []*Link `protobuf:"bytes,18,rep,name=link_table,json=linkTable,proto3" json:"link_table,omitempty"`
	// A common table for strings referenced by various messages.
	// string_table[0] must always be "".
	StringTable []string `protobuf:"bytes,6,rep,name=string_table,json=stringTable,proto3" json:"string_table,omitempty"`
	// frames with Function.function_name fully matching the following
	// regexp will be dropped from the samples, along with their successors.
	DropFrames int64 `protobuf:"varint,7,opt,name=drop_frames,json=dropFrames,proto3" json:"drop_frames,omitempty"` // Index into string table.
	// frames with Function.function_name fully matching the following
	// regexp will be kept, even if it matches drop_frames.
	KeepFrames int64 `protobuf:"varint,8,opt,name=keep_frames,json=keepFrames,proto3" json:"keep_frames,omitempty"` // Index into string table.
	// Time of collection (UTC) represented as nanoseconds past the epoch.
	TimeNanos int64 `protobuf:"varint,9,opt,name=time_nanos,json=timeNanos,proto3" json:"time_nanos,omitempty"`
	// Duration of the profile, if a duration makes sense.
	DurationNanos int64 `protobuf:"varint,10,opt,name=duration_nanos,json=durationNanos,proto3" json:"duration_nanos,omitempty"`
	// The kind of events between sampled occurrences.
	// e.g [ "cpu","cycles" ] or [ "heap","bytes" ]
	PeriodType *ValueType `protobuf:"bytes,11,opt,name=period_type,json=periodType,proto3" json:"period_type,omitempty"`
	// The number of events between sampled occurrences.
	Period int64 `protobuf:"varint,12,opt,name=period,proto3" json:"period,omitempty"`
	// Free-form text associated with the profile. The text is displayed as is
	// to the user by the tools that read profiles (e.g. by pprof). This field
	// should not be used to store any machine-readable information, it is only
	// for human-friendly content. The profile must stay functional if this field
	// is cleaned.
	Comment []int64 `protobuf:"varint,13,rep,packed,name=comment,proto3" json:"comment,omitempty"` // Indices into string table.
	// Index into the string table of the type of the preferred sample
	// value. If unset, clients should default to the last sample value.
	DefaultSampleType int64 `protobuf:"varint,14,opt,name=default_sample_type,json=defaultSampleType,proto3" json:"default_sample_type,omitempty"`
	// contains filtered or unexported fields
}

Represents a complete profile, including sample types, samples, mappings to binaries, locations, functions, string table, and additional metadata.

func (*Profile) Descriptor deprecated

func (*Profile) Descriptor() ([]byte, []int)

Deprecated: Use Profile.ProtoReflect.Descriptor instead.

func (*Profile) GetAttributeTable

func (x *Profile) GetAttributeTable() []*v1.KeyValue

func (*Profile) GetAttributeUnits

func (x *Profile) GetAttributeUnits() []*AttributeUnit

func (*Profile) GetComment

func (x *Profile) GetComment() []int64

func (*Profile) GetDefaultSampleType

func (x *Profile) GetDefaultSampleType() int64

func (*Profile) GetDropFrames

func (x *Profile) GetDropFrames() int64

func (*Profile) GetDurationNanos

func (x *Profile) GetDurationNanos() int64

func (*Profile) GetFunction

func (x *Profile) GetFunction() []*Function

func (*Profile) GetKeepFrames

func (x *Profile) GetKeepFrames() int64

func (*Profile) GetLinkTable

func (x *Profile) GetLinkTable() []*Link

func (*Profile) GetLocation

func (x *Profile) GetLocation() []*Location

func (*Profile) GetLocationIndices

func (x *Profile) GetLocationIndices() []int64

func (*Profile) GetMapping

func (x *Profile) GetMapping() []*Mapping

func (*Profile) GetPeriod

func (x *Profile) GetPeriod() int64

func (*Profile) GetPeriodType

func (x *Profile) GetPeriodType() *ValueType

func (*Profile) GetSample

func (x *Profile) GetSample() []*Sample

func (*Profile) GetSampleType

func (x *Profile) GetSampleType() []*ValueType

func (*Profile) GetStringTable

func (x *Profile) GetStringTable() []string

func (*Profile) GetTimeNanos

func (x *Profile) GetTimeNanos() int64

func (*Profile) ProtoMessage

func (*Profile) ProtoMessage()

func (*Profile) ProtoReflect

func (x *Profile) ProtoReflect() protoreflect.Message

func (*Profile) Reset

func (x *Profile) Reset()

func (*Profile) String

func (x *Profile) String() string

type ProfileContainer

type ProfileContainer struct {

	// A globally unique identifier for a profile. The ID is a 16-byte array. An ID with
	// all zeroes is considered invalid.
	//
	// This field is required.
	ProfileId []byte `protobuf:"bytes,1,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"`
	// start_time_unix_nano is the start time of the profile.
	// Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
	//
	// This field is semantically required and it is expected that end_time >= start_time.
	StartTimeUnixNano uint64 `protobuf:"fixed64,2,opt,name=start_time_unix_nano,json=startTimeUnixNano,proto3" json:"start_time_unix_nano,omitempty"`
	// end_time_unix_nano is the end time of the profile.
	// Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
	//
	// This field is semantically required and it is expected that end_time >= start_time.
	EndTimeUnixNano uint64 `protobuf:"fixed64,3,opt,name=end_time_unix_nano,json=endTimeUnixNano,proto3" json:"end_time_unix_nano,omitempty"`
	// attributes is a collection of key/value pairs. Note, global attributes
	// like server name can be set using the resource API. Examples of attributes:
	//
	//	"/http/user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
	//	"/http/server_latency": 300
	//	"abc.com/myattribute": true
	//	"abc.com/score": 10.239
	//
	// The OpenTelemetry API specification further restricts the allowed value types:
	// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute
	// Attribute keys MUST be unique (it is not allowed to have more than one
	// attribute with the same key).
	Attributes []*v11.KeyValue `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"`
	// dropped_attributes_count is the number of attributes that were discarded. Attributes
	// can be discarded because their keys are too long or because there are too many
	// attributes. If this value is 0, then no attributes were dropped.
	DroppedAttributesCount uint32 `` /* 130-byte string literal not displayed */
	// Specifies format of the original payload. Common values are defined in semantic conventions. [required if original_payload is present]
	OriginalPayloadFormat string `` /* 126-byte string literal not displayed */
	// Original payload can be stored in this field. This can be useful for users who want to get the original payload.
	// Formats such as JFR are highly extensible and can contain more information than what is defined in this spec.
	// Inclusion of original payload should be configurable by the user. Default behavior should be to not include the original payload.
	// If the original payload is in pprof format, it SHOULD not be included in this field.
	// The field is optional, however if it is present `profile` MUST be present and contain the same profiling information.
	OriginalPayload []byte `protobuf:"bytes,7,opt,name=original_payload,json=originalPayload,proto3" json:"original_payload,omitempty"`
	// This is a reference to a pprof profile. Required, even when original_payload is present.
	Profile *Profile `protobuf:"bytes,8,opt,name=profile,proto3" json:"profile,omitempty"`
	// contains filtered or unexported fields
}

A ProfileContainer represents a single profile. It wraps pprof profile with OpenTelemetry specific metadata.

func (*ProfileContainer) Descriptor deprecated

func (*ProfileContainer) Descriptor() ([]byte, []int)

Deprecated: Use ProfileContainer.ProtoReflect.Descriptor instead.

func (*ProfileContainer) GetAttributes

func (x *ProfileContainer) GetAttributes() []*v11.KeyValue

func (*ProfileContainer) GetDroppedAttributesCount

func (x *ProfileContainer) GetDroppedAttributesCount() uint32

func (*ProfileContainer) GetEndTimeUnixNano

func (x *ProfileContainer) GetEndTimeUnixNano() uint64

func (*ProfileContainer) GetOriginalPayload

func (x *ProfileContainer) GetOriginalPayload() []byte

func (*ProfileContainer) GetOriginalPayloadFormat

func (x *ProfileContainer) GetOriginalPayloadFormat() string

func (*ProfileContainer) GetProfile

func (x *ProfileContainer) GetProfile() *Profile

func (*ProfileContainer) GetProfileId

func (x *ProfileContainer) GetProfileId() []byte

func (*ProfileContainer) GetStartTimeUnixNano

func (x *ProfileContainer) GetStartTimeUnixNano() uint64

func (*ProfileContainer) ProtoMessage

func (*ProfileContainer) ProtoMessage()

func (*ProfileContainer) ProtoReflect

func (x *ProfileContainer) ProtoReflect() protoreflect.Message

func (*ProfileContainer) Reset

func (x *ProfileContainer) Reset()

func (*ProfileContainer) String

func (x *ProfileContainer) String() string

type ProfilesData

type ProfilesData struct {

	// An array of ResourceProfiles.
	// For data coming from a single resource this array will typically contain
	// one element. Intermediary nodes that receive data from multiple origins
	// typically batch the data before forwarding further and in that case this
	// array will contain multiple elements.
	ResourceProfiles []*ResourceProfiles `protobuf:"bytes,1,rep,name=resource_profiles,json=resourceProfiles,proto3" json:"resource_profiles,omitempty"`
	// contains filtered or unexported fields
}

ProfilesData represents the profiles data that can be stored in persistent storage, OR can be embedded by other protocols that transfer OTLP profiles data but do not implement the OTLP protocol.

The main difference between this message and collector protocol is that in this message there will not be any "control" or "metadata" specific to OTLP protocol.

When new fields are added into this message, the OTLP request MUST be updated as well.

func (*ProfilesData) Descriptor deprecated

func (*ProfilesData) Descriptor() ([]byte, []int)

Deprecated: Use ProfilesData.ProtoReflect.Descriptor instead.

func (*ProfilesData) GetResourceProfiles

func (x *ProfilesData) GetResourceProfiles() []*ResourceProfiles

func (*ProfilesData) ProtoMessage

func (*ProfilesData) ProtoMessage()

func (*ProfilesData) ProtoReflect

func (x *ProfilesData) ProtoReflect() protoreflect.Message

func (*ProfilesData) Reset

func (x *ProfilesData) Reset()

func (*ProfilesData) String

func (x *ProfilesData) String() string

type ResourceProfiles

type ResourceProfiles struct {

	// The resource for the profiles in this message.
	// If this field is not set then no resource info is known.
	Resource *v1.Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
	// A list of ScopeProfiles that originate from a resource.
	ScopeProfiles []*ScopeProfiles `protobuf:"bytes,2,rep,name=scope_profiles,json=scopeProfiles,proto3" json:"scope_profiles,omitempty"`
	// The Schema URL, if known. This is the identifier of the Schema that the resource data
	// is recorded in. To learn more about Schema URL see
	// https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
	// This schema_url applies to the data in the "resource" field. It does not apply
	// to the data in the "scope_profiles" field which have their own schema_url field.
	SchemaUrl string `protobuf:"bytes,3,opt,name=schema_url,json=schemaUrl,proto3" json:"schema_url,omitempty"`
	// contains filtered or unexported fields
}

A collection of ScopeProfiles from a Resource.

func (*ResourceProfiles) Descriptor deprecated

func (*ResourceProfiles) Descriptor() ([]byte, []int)

Deprecated: Use ResourceProfiles.ProtoReflect.Descriptor instead.

func (*ResourceProfiles) GetResource

func (x *ResourceProfiles) GetResource() *v1.Resource

func (*ResourceProfiles) GetSchemaUrl

func (x *ResourceProfiles) GetSchemaUrl() string

func (*ResourceProfiles) GetScopeProfiles

func (x *ResourceProfiles) GetScopeProfiles() []*ScopeProfiles

func (*ResourceProfiles) ProtoMessage

func (*ResourceProfiles) ProtoMessage()

func (*ResourceProfiles) ProtoReflect

func (x *ResourceProfiles) ProtoReflect() protoreflect.Message

func (*ResourceProfiles) Reset

func (x *ResourceProfiles) Reset()

func (*ResourceProfiles) String

func (x *ResourceProfiles) String() string

type Sample

type Sample struct {

	// The indices recorded here correspond to locations in Profile.location.
	// The leaf is at location_index[0]. [deprecated, superseded by locations_start_index / locations_length]
	LocationIndex []uint64 `protobuf:"varint,1,rep,packed,name=location_index,json=locationIndex,proto3" json:"location_index,omitempty"`
	// locations_start_index along with locations_length refers to to a slice of locations in Profile.location.
	// Supersedes location_index.
	LocationsStartIndex uint64 `protobuf:"varint,7,opt,name=locations_start_index,json=locationsStartIndex,proto3" json:"locations_start_index,omitempty"`
	// locations_length along with locations_start_index refers to a slice of locations in Profile.location.
	// Supersedes location_index.
	LocationsLength uint64 `protobuf:"varint,8,opt,name=locations_length,json=locationsLength,proto3" json:"locations_length,omitempty"`
	// A 128bit id that uniquely identifies this stacktrace, globally. Index into string table. [optional]
	StacktraceIdIndex uint32 `protobuf:"varint,9,opt,name=stacktrace_id_index,json=stacktraceIdIndex,proto3" json:"stacktrace_id_index,omitempty"`
	// The type and unit of each value is defined by the corresponding
	// entry in Profile.sample_type. All samples must have the same
	// number of values, the same as the length of Profile.sample_type.
	// When aggregating multiple samples into a single sample, the
	// result has a list of values that is the element-wise sum of the
	// lists of the originals.
	Value []int64 `protobuf:"varint,2,rep,packed,name=value,proto3" json:"value,omitempty"`
	// label includes additional context for this sample. It can include
	// things like a thread id, allocation size, etc.
	//
	// NOTE: While possible, having multiple values for the same label key is
	// strongly discouraged and should never be used. Most tools (e.g. pprof) do
	// not have good (or any) support for multi-value labels. And an even more
	// discouraged case is having a string label and a numeric label of the same
	// name on a sample.  Again, possible to express, but should not be used.
	// [deprecated, superseded by attributes]
	Label []*Label `protobuf:"bytes,3,rep,name=label,proto3" json:"label,omitempty"`
	// References to attributes in Profile.attribute_table. [optional]
	Attributes []uint64 `protobuf:"varint,10,rep,packed,name=attributes,proto3" json:"attributes,omitempty"`
	// Reference to link in Profile.link_table. [optional]
	Link uint64 `protobuf:"varint,12,opt,name=link,proto3" json:"link,omitempty"`
	// Timestamps associated with Sample represented in nanoseconds. These timestamps are expected
	// to fall within the Profile's time range. [optional]
	TimestampsUnixNano []uint64 `` /* 126-byte string literal not displayed */
	// contains filtered or unexported fields
}

Each Sample records values encountered in some program context. The program context is typically a stack trace, perhaps augmented with auxiliary information like the thread-id, some indicator of a higher level request being handled etc.

func (*Sample) Descriptor deprecated

func (*Sample) Descriptor() ([]byte, []int)

Deprecated: Use Sample.ProtoReflect.Descriptor instead.

func (*Sample) GetAttributes

func (x *Sample) GetAttributes() []uint64

func (*Sample) GetLabel

func (x *Sample) GetLabel() []*Label
func (x *Sample) GetLink() uint64

func (*Sample) GetLocationIndex

func (x *Sample) GetLocationIndex() []uint64

func (*Sample) GetLocationsLength

func (x *Sample) GetLocationsLength() uint64

func (*Sample) GetLocationsStartIndex

func (x *Sample) GetLocationsStartIndex() uint64

func (*Sample) GetStacktraceIdIndex

func (x *Sample) GetStacktraceIdIndex() uint32

func (*Sample) GetTimestampsUnixNano

func (x *Sample) GetTimestampsUnixNano() []uint64

func (*Sample) GetValue

func (x *Sample) GetValue() []int64

func (*Sample) ProtoMessage

func (*Sample) ProtoMessage()

func (*Sample) ProtoReflect

func (x *Sample) ProtoReflect() protoreflect.Message

func (*Sample) Reset

func (x *Sample) Reset()

func (*Sample) String

func (x *Sample) String() string

type ScopeProfiles

type ScopeProfiles struct {

	// The instrumentation scope information for the profiles in this message.
	// Semantically when InstrumentationScope isn't set, it is equivalent with
	// an empty instrumentation scope name (unknown).
	Scope *v11.InstrumentationScope `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"`
	// A list of ProfileContainers that originate from an instrumentation scope.
	Profiles []*ProfileContainer `protobuf:"bytes,2,rep,name=profiles,proto3" json:"profiles,omitempty"`
	// The Schema URL, if known. This is the identifier of the Schema that the metric data
	// is recorded in. To learn more about Schema URL see
	// https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
	// This schema_url applies to all profiles in the "profiles" field.
	SchemaUrl string `protobuf:"bytes,3,opt,name=schema_url,json=schemaUrl,proto3" json:"schema_url,omitempty"`
	// contains filtered or unexported fields
}

A collection of ProfileContainers produced by an InstrumentationScope.

func (*ScopeProfiles) Descriptor deprecated

func (*ScopeProfiles) Descriptor() ([]byte, []int)

Deprecated: Use ScopeProfiles.ProtoReflect.Descriptor instead.

func (*ScopeProfiles) GetProfiles

func (x *ScopeProfiles) GetProfiles() []*ProfileContainer

func (*ScopeProfiles) GetSchemaUrl

func (x *ScopeProfiles) GetSchemaUrl() string

func (*ScopeProfiles) GetScope

func (x *ScopeProfiles) GetScope() *v11.InstrumentationScope

func (*ScopeProfiles) ProtoMessage

func (*ScopeProfiles) ProtoMessage()

func (*ScopeProfiles) ProtoReflect

func (x *ScopeProfiles) ProtoReflect() protoreflect.Message

func (*ScopeProfiles) Reset

func (x *ScopeProfiles) Reset()

func (*ScopeProfiles) String

func (x *ScopeProfiles) String() string

type ValueType

type ValueType struct {
	Type                   int64                  `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` // Index into string table.
	Unit                   int64                  `protobuf:"varint,2,opt,name=unit,proto3" json:"unit,omitempty"` // Index into string table.
	AggregationTemporality AggregationTemporality ``                                                               /* 200-byte string literal not displayed */
	// contains filtered or unexported fields
}

ValueType describes the type and units of a value, with an optional aggregation temporality.

func (*ValueType) Descriptor deprecated

func (*ValueType) Descriptor() ([]byte, []int)

Deprecated: Use ValueType.ProtoReflect.Descriptor instead.

func (*ValueType) GetAggregationTemporality

func (x *ValueType) GetAggregationTemporality() AggregationTemporality

func (*ValueType) GetType

func (x *ValueType) GetType() int64

func (*ValueType) GetUnit

func (x *ValueType) GetUnit() int64

func (*ValueType) ProtoMessage

func (*ValueType) ProtoMessage()

func (*ValueType) ProtoReflect

func (x *ValueType) ProtoReflect() protoreflect.Message

func (*ValueType) Reset

func (x *ValueType) Reset()

func (*ValueType) String

func (x *ValueType) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL