queryfrontend

package
v2.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2026 License: AGPL-3.0 Imports: 48 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DiagnosticsStore

type DiagnosticsStore interface {
	// Add stores diagnostics in memory for later flushing.
	Add(id string, diag *queryv1.Diagnostics)
}

DiagnosticsStore provides the ability to store query diagnostics.

type QueryBackend

type QueryBackend interface {
	Invoke(ctx context.Context, req *queryv1.InvokeRequest) (*queryv1.InvokeResponse, error)
}

type QueryFrontend

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

func NewQueryFrontend

func NewQueryFrontend(
	logger log.Logger,
	limits frontend.Limits,
	cfg frontend.Config,
	metadataQueryClient metastorev1.MetadataQueryServiceClient,
	tenantServiceClient metastorev1.TenantServiceClient,
	querybackendClient QueryBackend,
	sym Symbolizer,
	diagnosticsStore DiagnosticsStore,
	reg prometheus.Registerer,
) *QueryFrontend

func (*QueryFrontend) Query

func (*QueryFrontend) QueryMetadata

func (q *QueryFrontend) QueryMetadata(
	ctx context.Context,
	req *queryv1.QueryRequest,
) (blocks []*metastorev1.BlockMeta, err error)

type Symbolizer

type Symbolizer interface {
	SymbolizePprof(ctx context.Context, profile *googlev1.Profile) error
	Resolve(ctx context.Context, buildID, binaryName string, addrs []uint64) ([][]lidia.SourceInfoFrame, error)
	// ResolveConcurrency is the maximum number of concurrent Resolve calls
	// the symbolizer allows.
	ResolveConcurrency() int
	// ResolveTimeout bounds resolving a single binary's unresolved
	// addresses.
	ResolveTimeout() time.Duration
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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