grafana/pkg/expr/query.types.json

579 lines
16 KiB
JSON

{
"kind": "QueryTypeDefinitionList",
"apiVersion": "query.grafana.app/v0alpha1",
"metadata": {
"resourceVersion": "1709168280033"
},
"items": [
{
"metadata": {
"name": "math",
"resourceVersion": "1709915973363",
"creationTimestamp": "2024-02-21T22:09:26Z"
},
"spec": {
"discriminators": [
{
"field": "type",
"value": "math"
}
],
"schema": {
"$schema": "https://json-schema.org/draft-04/schema",
"additionalProperties": false,
"properties": {
"expression": {
"description": "General math expression",
"examples": [
"$A + 1",
"$A/$B"
],
"minLength": 1,
"type": "string"
}
},
"required": [
"expression"
],
"type": "object"
},
"examples": [
{
"name": "constant addition",
"saveModel": {
"expression": "$A + 10"
}
},
{
"name": "math with two queries",
"saveModel": {
"expression": "$A - $B"
}
}
]
}
},
{
"metadata": {
"name": "reduce",
"resourceVersion": "1709915979242",
"creationTimestamp": "2024-02-21T22:09:26Z"
},
"spec": {
"discriminators": [
{
"field": "type",
"value": "reduce"
}
],
"schema": {
"$schema": "https://json-schema.org/draft-04/schema",
"additionalProperties": false,
"properties": {
"expression": {
"description": "Reference to single query result",
"examples": [
"$A"
],
"minLength": 1,
"type": "string"
},
"reducer": {
"description": "The reducer\n\n\nPossible enum values:\n - `\"sum\"` \n - `\"mean\"` \n - `\"min\"` \n - `\"max\"` \n - `\"count\"` \n - `\"last\"` ",
"enum": [
"sum",
"mean",
"min",
"max",
"count",
"last"
],
"type": "string",
"x-enum-description": {}
},
"settings": {
"additionalProperties": false,
"description": "Reducer Options",
"properties": {
"mode": {
"description": "Non-number reduce behavior\n\n\nPossible enum values:\n - `\"dropNN\"` Drop non-numbers\n - `\"replaceNN\"` Replace non-numbers",
"enum": [
"dropNN",
"replaceNN"
],
"type": "string",
"x-enum-description": {
"dropNN": "Drop non-numbers",
"replaceNN": "Replace non-numbers"
}
},
"replaceWithValue": {
"description": "Only valid when mode is replace",
"type": "number"
}
},
"required": [
"mode"
],
"type": "object"
}
},
"required": [
"expression",
"reducer"
],
"type": "object"
},
"examples": [
{
"name": "get max value",
"saveModel": {
"expression": "$A",
"reducer": "max",
"settings": {
"mode": "dropNN"
}
}
}
]
}
},
{
"metadata": {
"name": "resample",
"resourceVersion": "1709915973363",
"creationTimestamp": "2024-02-21T22:09:26Z"
},
"spec": {
"discriminators": [
{
"field": "type",
"value": "resample"
}
],
"schema": {
"$schema": "https://json-schema.org/draft-04/schema",
"additionalProperties": false,
"description": "QueryType = resample",
"properties": {
"downsampler": {
"description": "The downsample function\n\n\nPossible enum values:\n - `\"sum\"` \n - `\"mean\"` \n - `\"min\"` \n - `\"max\"` \n - `\"count\"` \n - `\"last\"` ",
"enum": [
"sum",
"mean",
"min",
"max",
"count",
"last"
],
"type": "string",
"x-enum-description": {}
},
"expression": {
"description": "The math expression",
"examples": [
"$A + 1",
"$A"
],
"minLength": 1,
"type": "string"
},
"upsampler": {
"description": "The upsample function\n\n\nPossible enum values:\n - `\"pad\"` Use the last seen value\n - `\"backfilling\"` backfill\n - `\"fillna\"` Do not fill values (nill)",
"enum": [
"pad",
"backfilling",
"fillna"
],
"type": "string",
"x-enum-description": {
"backfilling": "backfill",
"fillna": "Do not fill values (nill)",
"pad": "Use the last seen value"
}
},
"window": {
"description": "The time duration",
"examples": [
"1d",
"10m"
],
"minLength": 1,
"type": "string"
}
},
"required": [
"expression",
"window",
"downsampler",
"upsampler"
],
"type": "object"
},
"examples": [
{
"name": "resample at a every day",
"saveModel": {
"downsampler": "last",
"expression": "$A",
"upsampler": "pad",
"window": "1d"
}
}
]
}
},
{
"metadata": {
"name": "classic_conditions",
"resourceVersion": "1709915973363",
"creationTimestamp": "2024-02-21T22:09:26Z"
},
"spec": {
"discriminators": [
{
"field": "type",
"value": "classic_conditions"
}
],
"schema": {
"$schema": "https://json-schema.org/draft-04/schema",
"additionalProperties": false,
"properties": {
"conditions": {
"items": {
"additionalProperties": false,
"description": "ConditionJSON is the JSON model for a single condition in ConditionsCmd.",
"properties": {
"evaluator": {
"additionalProperties": false,
"properties": {
"params": {
"items": {
"type": "number"
},
"type": "array"
},
"type": {
"description": "e.g. \"gt\"",
"type": "string"
}
},
"required": [
"params",
"type"
],
"type": "object"
},
"operator": {
"additionalProperties": false,
"properties": {
"type": {
"enum": [
"and",
"or"
],
"type": "string",
"x-enum-description": {}
}
},
"required": [
"type"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"params": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"params"
],
"type": "object"
},
"reducer": {
"additionalProperties": false,
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"evaluator",
"operator",
"query",
"reducer"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"conditions"
],
"type": "object"
},
"examples": [
{
"name": "Where query A \u003e 5",
"saveModel": {
"conditions": [
{
"evaluator": {
"params": [
5
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A"
]
},
"reducer": {
"type": "max"
}
}
]
}
}
]
}
},
{
"metadata": {
"name": "threshold",
"resourceVersion": "1709915973363",
"creationTimestamp": "2024-02-21T22:09:26Z"
},
"spec": {
"discriminators": [
{
"field": "type",
"value": "threshold"
}
],
"schema": {
"$schema": "https://json-schema.org/draft-04/schema",
"additionalProperties": false,
"properties": {
"conditions": {
"description": "Threshold Conditions",
"items": {
"additionalProperties": false,
"properties": {
"evaluator": {
"additionalProperties": false,
"properties": {
"params": {
"items": {
"type": "number"
},
"type": "array"
},
"type": {
"description": "e.g. \"gt\"",
"enum": [
"gt",
"lt",
"within_range",
"outside_range"
],
"type": "string",
"x-enum-description": {}
}
},
"required": [
"params",
"type"
],
"type": "object"
},
"loadedDimensions": {
"additionalProperties": true,
"type": "object",
"x-grafana-type": "data.DataFrame"
},
"unloadEvaluator": {
"additionalProperties": false,
"properties": {
"params": {
"items": {
"type": "number"
},
"type": "array"
},
"type": {
"description": "e.g. \"gt\"",
"enum": [
"gt",
"lt",
"within_range",
"outside_range"
],
"type": "string",
"x-enum-description": {}
}
},
"required": [
"params",
"type"
],
"type": "object"
}
},
"required": [
"evaluator"
],
"type": "object"
},
"type": "array"
},
"expression": {
"description": "Reference to single query result",
"examples": [
"$A"
],
"minLength": 1,
"type": "string"
}
},
"required": [
"expression",
"conditions"
],
"type": "object"
},
"examples": [
{
"name": "Where query A \u003e 5",
"saveModel": {
"conditions": [
{
"evaluator": {
"params": [
5
],
"type": "gt"
}
}
],
"expression": "A"
}
},
{
"name": "With loaded+unloaded evaluators",
"saveModel": {
"conditions": [
{
"evaluator": {
"params": [
100
],
"type": "gt"
},
"loadedDimensions": {
"data": {
"values": [
[
18446744073709552000,
2,
3,
4,
5
]
]
},
"schema": {
"fields": [
{
"name": "fingerprints",
"type": "number",
"typeInfo": {
"frame": "uint64"
}
}
],
"meta": {
"type": "fingerprints",
"typeVersion": [
1,
0
]
},
"name": "test"
}
},
"unloadEvaluator": {
"params": [
31
],
"type": "lt"
}
}
],
"expression": "B"
}
}
]
}
},
{
"metadata": {
"name": "sql",
"resourceVersion": "1709915973363",
"creationTimestamp": "2024-02-29T00:58:00Z"
},
"spec": {
"discriminators": [
{
"field": "type",
"value": "sql"
}
],
"schema": {
"$schema": "https://json-schema.org/draft-04/schema",
"additionalProperties": false,
"description": "SQLQuery requires the sqlExpression feature flag",
"properties": {
"expression": {
"examples": [
"SELECT * FROM A LIMIT 1"
],
"minLength": 1,
"type": "string"
}
},
"required": [
"expression"
],
"type": "object"
},
"examples": [
{
"name": "Select the first row from A",
"saveModel": {
"expression": "SELECT * FROM A limit 1"
}
}
]
}
}
]
}