Documentation ¶
Index ¶
- Constants
- Variables
- func CRImportCheckpoint(ctx context.Context, dir, containerId string) error
- func CopyFile(src, dstFolder string) error
- func CreateContainer(ctrState *map[string]interface{}, ctrConfig *types.ContainerConfig, db *DB, ...) error
- func GenerateJWT(id string, skey string) (*string, error)
- func GetAllCtrsBucket(tx *bolt.Tx) (*bolt.Bucket, error)
- func GetCtrBucket(tx *bolt.Tx) (*bolt.Bucket, error)
- func GetIDBucket(tx *bolt.Tx) (*bolt.Bucket, error)
- func GetLogger() zerolog.Logger
- func GetNamesBucket(tx *bolt.Tx) (*bolt.Bucket, error)
- func GetPid(processName string) (int32, error)
- func GetProcessName(pid int32) (*string, error)
- func GetProcessSimilarity(processName string, processes []*ps.Process) (int32, error)
- func GetVolBucket(tx *bolt.Tx) (*bolt.Bucket, error)
- func JSONDeepCopy(from, to interface{}) error
- func NewFromFile(path string) (*rspec.Spec, envCache, error)
- func NewFromTemplate(r io.Reader) (*rspec.Spec, envCache, error)
- func ReadJSONFile(v interface{}, dir, file string) (string, error)
- func StartPprofServer()
- func UnzipFolder(src, dest string) error
- func WriteJSONFile(v interface{}, dir, file string) (string, error)
- func ZipFolder(folderPath, zipFilePath string) error
- type ActionScripts
- type CedanaStore
- func (cs *CedanaStore) CompleteMultiPartUpload(uploadResp UploadResponse, cid string) error
- func (cs *CedanaStore) CreateMultiPartUpload(fullSize int64) (UploadResponse, string, error)
- func (cs *CedanaStore) GetCheckpoint(id string) (*string, error)
- func (cs *CedanaStore) ListCheckpoints() (*[]CheckpointMeta, error)
- func (cs *CedanaStore) PushCheckpoint(filepath string) error
- func (cs *CedanaStore) StartMultiPartUpload(cid string, uploadResp *UploadResponse, checkpointPath string) error
- type CheckpointMeta
- type Client
- type Config
- type ConfigClient
- type Connection
- type Criu
- func (c *Criu) Cleanup()
- func (c *Criu) Dump(opts *rpc.CriuOpts, nfy *Notify) (*rpc.CriuResp, error)
- func (c *Criu) GetCriuVersion() (int, error)
- func (c *Criu) IsCriuAtLeast(version int) (bool, error)
- func (c *Criu) PreDump(opts *rpc.CriuOpts, nfy *Notify) (*rpc.CriuResp, error)
- func (c *Criu) Prepare() error
- func (c *Criu) Restore(opts *rpc.CriuOpts, nfy *Notify) (*rpc.CriuResp, error)
- func (c *Criu) SetCriuPath(path string)
- type DB
- type Function
- func (*Function) Descriptor() ([]byte, []int)deprecated
- func (x *Function) GetFilename() int64
- func (x *Function) GetId() uint64
- func (x *Function) GetName() int64
- func (x *Function) GetStartLine() int64
- func (x *Function) GetSystemName() int64
- func (*Function) ProtoMessage()
- func (x *Function) ProtoReflect() protoreflect.Message
- func (x *Function) Reset()
- func (x *Function) String() string
- type Label
- func (*Label) Descriptor() ([]byte, []int)deprecated
- func (x *Label) GetKey() int64
- func (x *Label) GetNum() int64
- func (x *Label) GetNumUnit() int64
- func (x *Label) GetStr() int64
- func (*Label) ProtoMessage()
- func (x *Label) ProtoReflect() protoreflect.Message
- func (x *Label) Reset()
- func (x *Label) String() string
- type Line
- type Location
- func (*Location) Descriptor() ([]byte, []int)deprecated
- func (x *Location) GetAddress() uint64
- func (x *Location) GetId() uint64
- func (x *Location) GetIsFolded() bool
- func (x *Location) GetLine() []*Line
- func (x *Location) GetMappingId() uint64
- func (*Location) ProtoMessage()
- func (x *Location) ProtoReflect() protoreflect.Message
- func (x *Location) Reset()
- func (x *Location) String() string
- type Mapping
- func (*Mapping) Descriptor() ([]byte, []int)deprecated
- func (x *Mapping) GetBuildId() int64
- func (x *Mapping) GetFileOffset() uint64
- func (x *Mapping) GetFilename() int64
- func (x *Mapping) GetHasFilenames() bool
- func (x *Mapping) GetHasFunctions() bool
- func (x *Mapping) GetHasInlineFrames() bool
- func (x *Mapping) GetHasLineNumbers() bool
- func (x *Mapping) GetId() uint64
- func (x *Mapping) GetMemoryLimit() uint64
- func (x *Mapping) GetMemoryStart() uint64
- func (*Mapping) ProtoMessage()
- func (x *Mapping) ProtoReflect() protoreflect.Message
- func (x *Mapping) Reset()
- func (x *Mapping) String() string
- type MockStore
- type Notify
- func (n Notify) NetworkLock() error
- func (n Notify) NetworkUnlock() error
- func (n Notify) PostDump() error
- func (n Notify) PostRestore(pid int32) error
- func (n Notify) PostResume() error
- func (n Notify) PostSetupNamespaces() error
- func (n Notify) PreDump() error
- func (n Notify) PreRestore() error
- func (n Notify) SetupNamespaces(pid int32) error
- type Profile
- func (*Profile) Descriptor() ([]byte, []int)deprecated
- func (x *Profile) GetComment() []int64
- func (x *Profile) GetDefaultSampleType() int64
- func (x *Profile) GetDropFrames() int64
- func (x *Profile) GetDurationNanos() int64
- func (x *Profile) GetFunction() []*Function
- func (x *Profile) GetKeepFrames() int64
- func (x *Profile) GetLocation() []*Location
- func (x *Profile) GetMapping() []*Mapping
- func (x *Profile) GetPeriod() int64
- func (x *Profile) GetPeriodType() *ValueType
- func (x *Profile) GetSample() []*Sample
- func (x *Profile) GetSampleType() []*ValueType
- func (x *Profile) GetStringTable() []string
- func (x *Profile) GetTimeNanos() int64
- func (*Profile) ProtoMessage()
- func (x *Profile) ProtoReflect() protoreflect.Message
- func (x *Profile) Reset()
- func (x *Profile) String() string
- type S3Store
- type Sample
- func (*Sample) Descriptor() ([]byte, []int)deprecated
- func (x *Sample) GetLabel() []*Label
- func (x *Sample) GetLocationId() []uint64
- func (x *Sample) GetValue() []int64
- func (*Sample) ProtoMessage()
- func (x *Sample) ProtoReflect() protoreflect.Message
- func (x *Sample) Reset()
- func (x *Sample) String() string
- type SharedStorage
- type Store
- type UploadResponse
- type ValueType
Constants ¶
const (
StorePath = "/var/lib/containers/storage/overlay-containers"
)
Variables ¶
var ( IDRegistryBkt = []byte(idRegistryName) NameRegistryBkt = []byte(nameRegistryName) CtrBkt = []byte(ctrName) AllCtrsBkt = []byte(allCtrsName) PodBkt = []byte(podName) AllPodsBkt = []byte(allPodsName) VolBkt = []byte(volName) AllVolsBkt = []byte(allVolsName) ExecBkt = []byte(execName) AliasesBkt = []byte(aliasesName) RuntimeConfigBkt = []byte(runtimeConfigName) DependenciesBkt = []byte(dependenciesName) VolDependenciesBkt = []byte(volCtrDependencies) NetworksBkt = []byte(networksName) VolCtrsBkt = []byte(volumeCtrsName) ExitCodeBkt = []byte(exitCodeName) ExitCodeTimeStampBkt = []byte(exitCodeTimeStampName) ConfigKey = []byte(configName) StateKey = []byte(stateName) NetNSKey = []byte(netNSName) ContainersBkt = []byte(containersName) PodIDKey = []byte(podIDName) StaticDirKey = []byte(staticDirName) TmpDirKey = []byte(tmpDirName) RunRootKey = []byte(runRootName) GraphRootKey = []byte(graphRootName) GraphDriverKey = []byte(graphDriverName) OsKey = []byte(osName) VolPathKey = []byte(volPathName) )
var File_profile_proto protoreflect.FileDescriptor
Functions ¶
func CRImportCheckpoint ¶ added in v0.8.0
CRImportCheckpoint it the function which imports the information from checkpoint tarball and re-creates the container from that information
func CreateContainer ¶ added in v0.8.0
func GetProcessName ¶
func GetProcessSimilarity ¶
func JSONDeepCopy ¶ added in v0.8.0
func JSONDeepCopy(from, to interface{}) error
func NewFromTemplate ¶ added in v0.8.0
func ReadJSONFile ¶ added in v0.8.0
func StartPprofServer ¶ added in v0.8.1
func StartPprofServer()
func UnzipFolder ¶
func WriteJSONFile ¶ added in v0.8.0
Types ¶
type ActionScripts ¶
type CedanaStore ¶
type CedanaStore struct {
// contains filtered or unexported fields
}
For pushing and pulling from a cedana managed endpoint
func NewCedanaStore ¶ added in v0.8.0
func NewCedanaStore(cfg *Config) *CedanaStore
func (*CedanaStore) CompleteMultiPartUpload ¶ added in v0.8.0
func (cs *CedanaStore) CompleteMultiPartUpload(uploadResp UploadResponse, cid string) error
func (*CedanaStore) CreateMultiPartUpload ¶ added in v0.8.0
func (cs *CedanaStore) CreateMultiPartUpload(fullSize int64) (UploadResponse, string, error)
func (*CedanaStore) GetCheckpoint ¶
func (cs *CedanaStore) GetCheckpoint(id string) (*string, error)
ID to GetCheckpoint gets populated from the data sent over as part of a ServerCommand
func (*CedanaStore) ListCheckpoints ¶
func (cs *CedanaStore) ListCheckpoints() (*[]CheckpointMeta, error)
func (*CedanaStore) PushCheckpoint ¶
func (cs *CedanaStore) PushCheckpoint(filepath string) error
TODO NR - multipart uploads & downloads
func (*CedanaStore) StartMultiPartUpload ¶ added in v0.8.0
func (cs *CedanaStore) StartMultiPartUpload(cid string, uploadResp *UploadResponse, checkpointPath string) error
type CheckpointMeta ¶
type Client ¶
type Client struct { // job to run Task string `json:"task" mapstructure:"task"` LeaveRunning bool `json:"leave_running" mapstructure:"leave_running"` ForwardLogs bool `json:"forward_logs" mapstructure:"forward_logs"` SignalProcessPreDump bool `json:"signal_process_pre_dump" mapstructure:"signal_process_pre_dump"` SignalProcessTimeout int `json:"signal_process_timeout" mapstructure:"signal_process_timeout"` }
type Config ¶
type Config struct { Client Client `json:"client" mapstructure:"client"` ActionScripts ActionScripts `json:"action_scripts" mapstructure:"action_scripts"` Connection Connection `json:"connection" mapstructure:"connection"` }
func InitConfig ¶
type ConfigClient ¶
type ConfigClient struct { Client Client `json:"client"` ActionScripts ActionScripts `json:"action_scripts"` Connection Connection `json:"connection"` }
func LoadOverrides ¶
func LoadOverrides(cdir string) (*ConfigClient, error)
type Connection ¶
type Criu ¶ added in v0.8.0
type Criu struct {
// contains filtered or unexported fields
}
Code for interfacing with CRIU. We could use go-criu, but there are certain limitations in the abstractions presented. Most of the code found here is lifted from https://github.com/checkpoint-restore/go-criu/blob/master/main.go.
func (*Criu) GetCriuVersion ¶ added in v0.8.0
func (*Criu) IsCriuAtLeast ¶ added in v0.8.0
IsCriuAtLeast checks if the version is at least the same as the parameter version
func (*Criu) SetCriuPath ¶ added in v0.8.0
type DB ¶ added in v0.8.0
func (*DB) GetContainerConfigFromDB ¶ added in v0.8.0
func (*DB) GetContainerStateDB ¶ added in v0.8.0
func (*DB) SetNewDbConn ¶ added in v0.8.0
type Function ¶ added in v0.6.9
type Function struct { // Unique nonzero id for the function. 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 }
func (*Function) Descriptor
deprecated
added in
v0.6.9
func (*Function) GetFilename ¶ added in v0.6.9
func (*Function) GetStartLine ¶ added in v0.6.9
func (*Function) GetSystemName ¶ added in v0.6.9
func (*Function) ProtoMessage ¶ added in v0.6.9
func (*Function) ProtoMessage()
func (*Function) ProtoReflect ¶ added in v0.6.9
func (x *Function) ProtoReflect() protoreflect.Message
type Label ¶ added in v0.6.9
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 }
func (*Label) Descriptor
deprecated
added in
v0.6.9
func (*Label) GetNumUnit ¶ added in v0.6.9
func (*Label) ProtoMessage ¶ added in v0.6.9
func (*Label) ProtoMessage()
func (*Label) ProtoReflect ¶ added in v0.6.9
func (x *Label) ProtoReflect() protoreflect.Message
type Line ¶ added in v0.6.9
type Line struct { // The id of the corresponding profile.Function for this line. FunctionId uint64 `protobuf:"varint,1,opt,name=function_id,json=functionId,proto3" json:"function_id,omitempty"` // Line number in source code. Line int64 `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"` // contains filtered or unexported fields }
func (*Line) Descriptor
deprecated
added in
v0.6.9
func (*Line) GetFunctionId ¶ added in v0.6.9
func (*Line) ProtoMessage ¶ added in v0.6.9
func (*Line) ProtoMessage()
func (*Line) ProtoReflect ¶ added in v0.6.9
func (x *Line) ProtoReflect() protoreflect.Message
type Location ¶ added in v0.6.9
type Location struct { // Unique nonzero id for the location. A profile could use // instruction addresses or any integer sequence as ids. Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // The id of the corresponding profile.Mapping for this location. // It can be unset if the mapping is unknown or not applicable for // this profile type. MappingId uint64 `protobuf:"varint,2,opt,name=mapping_id,json=mappingId,proto3" json:"mapping_id,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"` // contains filtered or unexported fields }
Describes function and line table debug information.
func (*Location) Descriptor
deprecated
added in
v0.6.9
func (*Location) GetAddress ¶ added in v0.6.9
func (*Location) GetIsFolded ¶ added in v0.6.9
func (*Location) GetMappingId ¶ added in v0.6.9
func (*Location) ProtoMessage ¶ added in v0.6.9
func (*Location) ProtoMessage()
func (*Location) ProtoReflect ¶ added in v0.6.9
func (x *Location) ProtoReflect() protoreflect.Message
type Mapping ¶ added in v0.6.9
type Mapping struct { // Unique nonzero id for the mapping. 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 // 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 }
func (*Mapping) Descriptor
deprecated
added in
v0.6.9
func (*Mapping) GetBuildId ¶ added in v0.6.9
func (*Mapping) GetFileOffset ¶ added in v0.6.9
func (*Mapping) GetFilename ¶ added in v0.6.9
func (*Mapping) GetHasFilenames ¶ added in v0.6.9
func (*Mapping) GetHasFunctions ¶ added in v0.6.9
func (*Mapping) GetHasInlineFrames ¶ added in v0.6.9
func (*Mapping) GetHasLineNumbers ¶ added in v0.6.9
func (*Mapping) GetMemoryLimit ¶ added in v0.6.9
func (*Mapping) GetMemoryStart ¶ added in v0.6.9
func (*Mapping) ProtoMessage ¶ added in v0.6.9
func (*Mapping) ProtoMessage()
func (*Mapping) ProtoReflect ¶ added in v0.6.9
func (x *Mapping) ProtoReflect() protoreflect.Message
type MockStore ¶
type MockStore struct {
// contains filtered or unexported fields
}
func (*MockStore) GetCheckpoint ¶
func (*MockStore) ListCheckpoints ¶
func (ms *MockStore) ListCheckpoints() (*[]CheckpointMeta, error)
func (*MockStore) PushCheckpoint ¶
type Notify ¶
type Notify struct { Config *Config Logger *zerolog.Logger PreDumpAvail bool PostDumpAvail bool PreRestoreAvail bool }
func (Notify) PostSetupNamespaces ¶
PostSetupNamespaces NoNotify
func (Notify) SetupNamespaces ¶
SetupNamespaces NoNotify
type Profile ¶ added in v0.6.9
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. Location []*Location `protobuf:"bytes,4,rep,name=location,proto3" json:"location,omitempty"` // Functions referenced by locations. Function []*Function `protobuf:"bytes,5,rep,name=function,proto3" json:"function,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 }
func (*Profile) Descriptor
deprecated
added in
v0.6.9
func (*Profile) GetComment ¶ added in v0.6.9
func (*Profile) GetDefaultSampleType ¶ added in v0.6.9
func (*Profile) GetDropFrames ¶ added in v0.6.9
func (*Profile) GetDurationNanos ¶ added in v0.6.9
func (*Profile) GetFunction ¶ added in v0.6.9
func (*Profile) GetKeepFrames ¶ added in v0.6.9
func (*Profile) GetLocation ¶ added in v0.6.9
func (*Profile) GetMapping ¶ added in v0.6.9
func (*Profile) GetPeriodType ¶ added in v0.6.9
func (*Profile) GetSampleType ¶ added in v0.6.9
func (*Profile) GetStringTable ¶ added in v0.6.9
func (*Profile) GetTimeNanos ¶ added in v0.6.9
func (*Profile) ProtoMessage ¶ added in v0.6.9
func (*Profile) ProtoMessage()
func (*Profile) ProtoReflect ¶ added in v0.6.9
func (x *Profile) ProtoReflect() protoreflect.Message
type S3Store ¶
type S3Store struct {
// contains filtered or unexported fields
}
func (*S3Store) GetCheckpoint ¶
func (*S3Store) PushCheckpoint ¶
type Sample ¶ added in v0.6.9
type Sample struct { // The ids recorded here correspond to a Profile.location.id. // The leaf is at location_id[0]. LocationId []uint64 `protobuf:"varint,1,rep,packed,name=location_id,json=locationId,proto3" json:"location_id,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. Label []*Label `protobuf:"bytes,3,rep,name=label,proto3" json:"label,omitempty"` // 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
added in
v0.6.9
func (*Sample) GetLocationId ¶ added in v0.6.9
func (*Sample) ProtoMessage ¶ added in v0.6.9
func (*Sample) ProtoMessage()
func (*Sample) ProtoReflect ¶ added in v0.6.9
func (x *Sample) ProtoReflect() protoreflect.Message
type SharedStorage ¶
type SharedStorage struct {
}type Store ¶
type Store interface { GetCheckpoint(string) (*string, error) // returns filepath to downloaded chekcpoint PushCheckpoint(filepath string) error ListCheckpoints() (*[]CheckpointMeta, error) // fix }
Abstraction for storing and retreiving checkpoints
type UploadResponse ¶ added in v0.8.0
type ValueType ¶ added in v0.6.9
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. // contains filtered or unexported fields }
ValueType describes the semantics and measurement units of a value.
func (*ValueType) Descriptor
deprecated
added in
v0.6.9
func (*ValueType) ProtoMessage ¶ added in v0.6.9
func (*ValueType) ProtoMessage()
func (*ValueType) ProtoReflect ¶ added in v0.6.9
func (x *ValueType) ProtoReflect() protoreflect.Message