v1

package
v0.40.1 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2025 License: Apache-2.0 Imports: 55 Imported by: 4

Documentation

Index

Constants

View Source
const (
	QueryParam               = "query"
	DedupParam               = "dedup"
	PartialResponseParam     = "partial_response"
	MaxSourceResolutionParam = "max_source_resolution"
	ReplicaLabelsParam       = "replicaLabels[]"
	MatcherParam             = "match[]"
	StoreMatcherParam        = "storeMatch[]"
	Step                     = "step"
	Stats                    = "stats"
	ShardInfoParam           = "shard_info"
	LookbackDeltaParam       = "lookback_delta"
	EngineParam              = "engine"
	QueryAnalyzeParam        = "analyze"
	RuleNameParam            = "rule_name[]"
	RuleGroupParam           = "rule_group[]"
	FileParam                = "file[]"
)

Variables

This section is empty.

Functions

func NewAlertsHandler added in v0.28.0

func NewAlertsHandler(client rules.UnaryClient, enablePartialResponse bool) func(*http.Request) (any, []error, *api.ApiError, func())

NewAlertsHandler created handler compatible with HTTP /api/v1/alerts https://prometheus.io/docs/prometheus/latest/querying/api/#alerts which uses gRPC Unary Rules API (Rules API works for both /alerts and /rules).

func NewExemplarsHandler added in v0.20.0

func NewExemplarsHandler(client exemplars.UnaryClient, enablePartialResponse bool) func(*http.Request) (any, []error, *api.ApiError, func())

NewExemplarsHandler creates handler compatible with HTTP /api/v1/query_exemplars https://prometheus.io/docs/prometheus/latest/querying/api/#querying-exemplars which uses gRPC Unary Exemplars API.

func NewMetricMetadataHandler added in v0.19.0

func NewMetricMetadataHandler(client metadata.UnaryClient, enablePartialResponse bool) func(*http.Request) (any, []error, *api.ApiError, func())

NewMetricMetadataHandler creates handler compatible with HTTP /api/v1/metadata https://prometheus.io/docs/prometheus/latest/querying/api/#querying-metric-metadata which uses gRPC Unary Metadata API.

func NewRulesHandler

func NewRulesHandler(client rules.UnaryClient, enablePartialResponse bool) func(*http.Request) (any, []error, *api.ApiError, func())

NewRulesHandler created handler compatible with HTTP /api/v1/rules https://prometheus.io/docs/prometheus/latest/querying/api/#rules which uses gRPC Unary Rules API.

func NewTargetsHandler added in v0.20.0

func NewTargetsHandler(client targets.UnaryClient, enablePartialResponse bool) func(*http.Request) (any, []error, *api.ApiError, func())

NewTargetsHandler created handler compatible with HTTP /api/v1/targets https://prometheus.io/docs/prometheus/latest/querying/api/#targets which uses gRPC Unary Targets API.

func RegisterQueryServer added in v0.26.0

func RegisterQueryServer(queryServer querypb.QueryServer) func(*grpc.Server)

Types

type GRPCAPI added in v0.26.0

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

func NewGRPCAPI added in v0.26.0

func NewGRPCAPI(
	now func() time.Time,
	replicaLabels []string,
	queryableCreator query.QueryableCreator,
	remoteEndpointsCreator query.RemoteEndpointsCreator,
	queryCreator queryCreator,
	defaultEngine querypb.EngineType,
	lookbackDeltaCreate func(int64) time.Duration,
	defaultMaxResolution time.Duration,
) *GRPCAPI

func (*GRPCAPI) Query added in v0.26.0

func (g *GRPCAPI) Query(request *querypb.QueryRequest, server querypb.Query_QueryServer) error

func (*GRPCAPI) QueryRange added in v0.26.0

type PromqlEngineType added in v0.32.0

type PromqlEngineType string
const (
	PromqlEnginePrometheus PromqlEngineType = "prometheus"
	PromqlEngineThanos     PromqlEngineType = "thanos"
)

type PromqlQueryMode added in v0.38.0

type PromqlQueryMode string
const (
	PromqlQueryModeLocal       PromqlQueryMode = "local"
	PromqlQueryModeDistributed PromqlQueryMode = "distributed"
)

type QueryAPI

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

QueryAPI is an API used by Thanos Querier.

func NewQueryAPI

func NewQueryAPI(
	logger log.Logger,
	endpointStatus func() []query.EndpointStatus,
	queryCreate *QueryFactory,
	defaultEngine PromqlEngineType,
	lookbackDeltaCreate func(int64) time.Duration,
	queryableCreate query.QueryableCreator,
	remoteEndpointsCreate query.RemoteEndpointsCreator,
	ruleGroups rules.UnaryClient,
	targets targets.UnaryClient,
	metadatas metadata.UnaryClient,
	exemplars exemplars.UnaryClient,
	status status.UnaryClient,
	enableAutodownsampling bool,
	enableQueryPartialResponse bool,
	enableRulePartialResponse bool,
	enableTargetPartialResponse bool,
	enableMetricMetadataPartialResponse bool,
	enableExemplarPartialResponse bool,
	enableStatusPartialResponse bool,
	replicaLabels []string,
	flagsMap map[string]string,
	defaultRangeQueryStep time.Duration,
	defaultInstantQueryMaxSourceResolution time.Duration,
	defaultMetadataTimeRange time.Duration,
	disableCORS bool,
	gate gate.Gate,
	statsAggregatorFactory store.SeriesQueryPerformanceMetricsAggregatorFactory,
	reg *prometheus.Registry,
	tenantHeader string,
	defaultTenant string,
	tenantCertField string,
	enforceTenancy bool,
	tenantLabel string,
	tsdbSelector *store.TSDBSelector,
) *QueryAPI

NewQueryAPI returns an initialized QueryAPI type.

func (*QueryAPI) Register

func (qapi *QueryAPI) Register(r *route.Router, tracer opentracing.Tracer, logger log.Logger, ins extpromhttp.InstrumentationMiddleware, logMiddleware *logging.HTTPServerMiddleware)

Register the API's endpoints in the given router.

type QueryFactory added in v0.38.0

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

func NewQueryFactory added in v0.38.0

func NewQueryFactory(
	reg *prometheus.Registry,
	logger log.Logger,
	queryTimeout time.Duration,
	lookbackDelta time.Duration,
	evaluationInterval time.Duration,
	enableXFunctions bool,
	activeQueryTracker *promql.ActiveQueryTracker,
	mode PromqlQueryMode,
	disableFallback bool,
) *QueryFactory

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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