debuginfo

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2023 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Extractor

type Extractor struct {
	// contains filtered or unexported fields
}

Extractor extracts debug information from a binary.

func NewExtractor

func NewExtractor(logger log.Logger) *Extractor

NewExtractor creates a new Extractor.

func (*Extractor) Extract

func (e *Extractor) Extract(ctx context.Context, dst io.WriteSeeker, src string) error

Extract extracts debug information from the given executable. Cleaning up the temporary directory and the interim file is the caller's responsibility.

func (*Extractor) ExtractAll added in v0.6.0

func (e *Extractor) ExtractAll(ctx context.Context, srcDsts map[string]io.WriteSeeker) error

ExtractAll extracts debug information from the given executables. It consumes a map of file sources to extract and a destination io.Writer.

type Finder added in v0.6.0

type Finder struct {
	// contains filtered or unexported fields
}

Finder finds the separate debug information files on the system.

func NewFinder added in v0.6.0

func NewFinder(logger log.Logger, debugDirs []string) *Finder

NewFinder creates a new Finder.

func (*Finder) Find added in v0.6.0

func (f *Finder) Find(ctx context.Context, objFile *objectfile.MappedObjectFile) (string, error)

Find finds the separate debug file for the given object file.

type Manager added in v0.10.0

type Manager struct {
	*Extractor
	*Finder
	// contains filtered or unexported fields
}

Manager is a mechanism for extracting or finding the relevant debug information for the discovered executables.

func New added in v0.6.0

func New(
	logger log.Logger,
	reg prometheus.Registerer,
	debuginfoClient debuginfopb.DebuginfoServiceClient,
	uploadTimeout time.Duration,
	cacheTTL time.Duration,
	debugDirs []string,
	stripDebuginfos bool,
	tempDir string,
) *Manager

New creates a new Manager.

func (*Manager) EnsureUploaded added in v0.10.0

func (di *Manager) EnsureUploaded(ctx context.Context, objFiles []*objectfile.MappedObjectFile)

EnsureUploaded ensures that the extracted or the found debuginfo for the given buildID is uploaded.

type NoopClient

type NoopClient struct{}

func NewNoopClient

func NewNoopClient() *NoopClient

func (*NoopClient) InitiateUpload added in v0.11.0

func (*NoopClient) MarkUploadFinished added in v0.11.0

func (*NoopClient) ShouldInitiateUpload added in v0.11.0

func (*NoopClient) Upload

Jump to

Keyboard shortcuts

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