Skip to content

QueryBuilder🔗

Constructor🔗

new QueryBuilder()

Methods🔗

build🔗

Builds the object.

build()

adhocFilters🔗

Additional Ad-hoc filters that take precedence over Scope on conflict.

@param array<\Grafana\Foundation\Cog\Builder<\Grafana\Foundation\Prometheus\AdhocFilters>> $adhocFilters

adhocFilters(array $adhocFilters)

datasource🔗

New type for datasource reference

Not creating a new type until we figure out how to handle DS refs for group by, adhoc, and every place that uses DataSourceRef in TS.

@param \Grafana\Foundation\Cog\Builder<\Grafana\Foundation\Dashboardv2beta1\Dashboardv2beta1DataQueryKindDatasource> $datasource

datasource(\Grafana\Foundation\Cog\Builder $datasource)

editorMode🔗

what we should show in the editor

Possible enum values:

  • "builder"

  • "code"

editorMode(\Grafana\Foundation\Prometheus\QueryEditorMode $editorMode)

exemplar🔗

Execute an additional query to identify interesting raw samples relevant for the given expr

exemplar(bool $exemplar)

expr🔗

The actual expression/query that will be evaluated by Prometheus

expr(string $expr)

format🔗

The response format

Possible enum values:

  • "time_series"

  • "table"

  • "heatmap"

format(\Grafana\Foundation\Prometheus\PromQueryFormat $format)

groupByKeys🔗

Group By parameters to apply to aggregate expressions in the query

@param array $groupByKeys

groupByKeys(array $groupByKeys)

hide🔗

true if query is disabled (ie should not be returned to the dashboard)

NOTE: this does not always imply that the query should not be executed since

the results from a hidden query may be used as the input to other queries (SSE etc)

hide(bool $hide)

instant🔗

Returns only the latest value that Prometheus has scraped for the requested time series

instant()

interval🔗

An additional lower limit for the step parameter of the Prometheus query and for the

$__interval and $__rate_interval variables.

interval(string $interval)

intervalFactor🔗

Used to specify how many times to divide max data points by. We use max data points under query options

See https://github.com/grafana/grafana/issues/48081

Deprecated: use interval

intervalFactor(int $intervalFactor)

intervalMs🔗

Interval is the suggested duration between time points in a time series query.

NOTE: the values for intervalMs is not saved in the query model. It is typically calculated

from the interval required to fill a pixels in the visualization

intervalMs(float $intervalMs)

labels🔗

@param array $labels

labels(array $labels)

legendFormat🔗

Series name override or template. Ex. {{hostname}} will be replaced with label value for hostname

legendFormat(string $legendFormat)

maxDataPoints🔗

MaxDataPoints is the maximum number of data points that should be returned from a time series query.

NOTE: the values for maxDataPoints is not saved in the query model. It is typically calculated

from the number of pixels visible in a visualization

maxDataPoints(int $maxDataPoints)

queryType🔗

QueryType is an optional identifier for the type of query.

It can be used to distinguish different types of queries.

queryType(string $queryType)

range🔗

Returns a Range vector, comprised of a set of time series containing a range of data points over time for each time series

range()

rangeAndInstant🔗

rangeAndInstant()

refId🔗

RefID is the unique identifier of the query, set by the frontend call.

refId(string $refId)

resultAssertions🔗

Optionally define expected query result behavior

@param \Grafana\Foundation\Cog\Builder<\Grafana\Foundation\Prometheus\ResultAssertions> $resultAssertions

resultAssertions(\Grafana\Foundation\Cog\Builder $resultAssertions)

scopes🔗

A set of filters applied to apply to the query

@param array<\Grafana\Foundation\Cog\Builder<\Grafana\Foundation\Prometheus\Scopes>> $scopes

scopes(array $scopes)

timeRange🔗

TimeRange represents the query range

NOTE: unlike generic /ds/query, we can now send explicit time values in each query

NOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly

@param \Grafana\Foundation\Cog\Builder<\Grafana\Foundation\Prometheus\TimeRange> $timeRange

timeRange(\Grafana\Foundation\Cog\Builder $timeRange)

version🔗

version(string $version)

See also🔗