The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
grafana/pkg/tsdb/grafana-testdata-datasource/kinds/query.panel.schema.json

425 lines
14 KiB

{
"type": "object",
"required": [
"targets",
"type"
],
"properties": {
"targets": {
"type": "array",
"items": {
"description": "TestDataQuery defines model for TestDataQuery.",
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"channel": {
"description": "Used for live query",
"type": "string"
},
"csvContent": {
"type": "string"
},
"csvFileName": {
"type": "string"
},
"csvWave": {
"type": "array",
"items": {
"description": "CSVWave defines model for CSVWave.",
"type": "object",
"properties": {
"labels": {
"type": "string"
},
"name": {
"type": "string"
},
"timeStep": {
"type": "integer"
},
"valuesCSV": {
"type": "string"
}
},
"additionalProperties": false
}
},
"datasource": {
"description": "The datasource",
"type": "object",
"required": [
"type"
],
"properties": {
"apiVersion": {
"description": "The apiserver version",
"type": "string"
},
"type": {
"description": "The datasource plugin type",
"type": "string",
"pattern": "^grafana-testdata-datasource$|^testdata$"
},
"uid": {
"description": "Datasource UID (NOTE: name in k8s)",
"type": "string"
}
},
"additionalProperties": false
},
"dropPercent": {
"description": "Drop percentage (the chance we will lose a point 0-100)",
"type": "number"
},
"errorSource": {
"description": "Possible enum values:\n - `\"plugin\"` \n - `\"downstream\"` ",
"type": "string",
"enum": [
"plugin",
"downstream"
],
"x-enum-description": {}
},
"errorType": {
"description": "Possible enum values:\n - `\"frontend_exception\"` \n - `\"frontend_observable\"` \n - `\"server_panic\"` ",
"type": "string",
"enum": [
"frontend_exception",
"frontend_observable",
"server_panic"
],
"x-enum-description": {}
},
"flamegraphDiff": {
"type": "boolean"
},
"hide": {
"description": "true if query is disabled (ie should not be returned to the dashboard)\nNOTE: this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)",
"type": "boolean"
},
"intervalMs": {
"description": "Interval is the suggested duration between time points in a time series query.\nNOTE: the values for intervalMs is not saved in the query model. It is typically calculated\nfrom the interval required to fill a pixels in the visualization",
"type": "number"
},
"labels": {
"type": "string"
},
"levelColumn": {
"type": "boolean"
},
"lines": {
"type": "integer"
},
"max": {
"type": "number"
},
"maxDataPoints": {
"description": "MaxDataPoints is the maximum number of data points that should be returned from a time series query.\nNOTE: the values for maxDataPoints is not saved in the query model. It is typically calculated\nfrom the number of pixels visible in a visualization",
"type": "integer"
},
"min": {
"type": "number"
},
"nodes": {
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"seed": {
"type": "integer"
},
"type": {
"description": "Possible enum values:\n - `\"random\"` \n - `\"random edges\"` \n - `\"response_medium\"` \n - `\"response_small\"` \n - `\"feature_showcase\"` ",
"type": "string",
"enum": [
"random",
"random edges",
"response_medium",
"response_small",
"feature_showcase"
],
"x-enum-description": {}
}
},
"additionalProperties": false
},
"noise": {
"type": "number"
},
"points": {
"type": "array",
"items": {
"type": "array"
}
},
"pulseWave": {
"type": "object",
"properties": {
"offCount": {
"type": "integer"
},
"offValue": {
"type": "number"
},
"onCount": {
"type": "integer"
},
"onValue": {
"type": "number"
},
"timeStep": {
"type": "integer"
}
},
"additionalProperties": false
},
"queryType": {
"description": "QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.",
"type": "string"
},
"rawFrameContent": {
"type": "string"
},
"refId": {
"description": "RefID is the unique identifier of the query, set by the frontend call.",
"type": "string"
},
"resultAssertions": {
"description": "Optionally define expected query result behavior",
"type": "object",
"required": [
"typeVersion"
],
"properties": {
"maxFrames": {
"description": "Maximum frame count",
"type": "integer"
},
"type": {
"description": "Type asserts that the frame matches a known type structure.\n\n\nPossible enum values:\n - `\"\"` \n - `\"timeseries-wide\"` \n - `\"timeseries-long\"` \n - `\"timeseries-many\"` \n - `\"timeseries-multi\"` \n - `\"directory-listing\"` \n - `\"table\"` \n - `\"numeric-wide\"` \n - `\"numeric-multi\"` \n - `\"numeric-long\"` \n - `\"log-lines\"` ",
"type": "string",
"enum": [
"",
"timeseries-wide",
"timeseries-long",
"timeseries-many",
"timeseries-multi",
"directory-listing",
"table",
"numeric-wide",
"numeric-multi",
"numeric-long",
"log-lines"
],
"x-enum-description": {}
},
"typeVersion": {
"description": "TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane\ncontract documentation https://grafana.github.io/dataplane/contract/.",
"type": "array",
"maxItems": 2,
"minItems": 2,
"items": {
"type": "integer"
}
}
},
"additionalProperties": false
},
"scenarioId": {
"description": "Possible enum values:\n - `\"annotations\"` \n - `\"arrow\"` \n - `\"csv_content\"` \n - `\"csv_file\"` \n - `\"csv_metric_values\"` \n - `\"datapoints_outside_range\"` \n - `\"error_with_source\"` \n - `\"exponential_heatmap_bucket_data\"` \n - `\"flame_graph\"` \n - `\"grafana_api\"` \n - `\"linear_heatmap_bucket_data\"` \n - `\"live\"` \n - `\"logs\"` \n - `\"manual_entry\"` \n - `\"no_data_points\"` \n - `\"node_graph\"` \n - `\"predictable_csv_wave\"` \n - `\"predictable_pulse\"` \n - `\"random_walk\"` \n - `\"random_walk_table\"` \n - `\"random_walk_with_error\"` \n - `\"raw_frame\"` \n - `\"server_error_500\"` \n - `\"simulation\"` \n - `\"slow_query\"` \n - `\"streaming_client\"` \n - `\"table_static\"` \n - `\"trace\"` \n - `\"usa\"` \n - `\"variables-query\"` ",
"type": "string",
"enum": [
"annotations",
"arrow",
"csv_content",
"csv_file",
"csv_metric_values",
"datapoints_outside_range",
"error_with_source",
"exponential_heatmap_bucket_data",
"flame_graph",
"grafana_api",
"linear_heatmap_bucket_data",
"live",
"logs",
"manual_entry",
"no_data_points",
"node_graph",
"predictable_csv_wave",
"predictable_pulse",
"random_walk",
"random_walk_table",
"random_walk_with_error",
"raw_frame",
"server_error_500",
"simulation",
"slow_query",
"streaming_client",
"table_static",
"trace",
"usa",
"variables-query"
],
"x-enum-description": {}
},
"seriesCount": {
"type": "integer"
},
"sim": {
"type": "object",
"required": [
"key"
],
"properties": {
"config": {
"type": "object"
},
"key": {
"type": "object",
"required": [
"tick",
"type"
],
"properties": {
"tick": {
"type": "number"
},
"type": {
"type": "string"
},
"uid": {
"type": "string"
}
},
"additionalProperties": false
},
"last": {
"type": "boolean"
},
"stream": {
"type": "boolean"
}
},
"additionalProperties": false
},
"spanCount": {
"type": "integer"
},
"spread": {
"type": "number"
},
"startValue": {
"type": "number"
},
"stream": {
"type": "object",
"required": [
"noise",
"speed",
"spread",
"type"
],
"properties": {
"bands": {
"type": "integer"
},
"noise": {
"type": "number"
},
"speed": {
"type": "number"
},
"spread": {
"type": "number"
},
"type": {
"description": "Possible enum values:\n - `\"fetch\"` \n - `\"logs\"` \n - `\"signal\"` \n - `\"traces\"` ",
"type": "string",
"enum": [
"fetch",
"logs",
"signal",
"traces"
],
"x-enum-description": {}
},
"url": {
"type": "string"
}
},
"additionalProperties": false
},
"stringInput": {
"description": "common parameter used by many query types",
"type": "string"
},
"timeRange": {
"description": "TimeRange represents the query range\nNOTE: unlike generic /ds/query, we can now send explicit time values in each query\nNOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly",
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"from": {
"description": "From is the start time of the query.",
"type": "string",
"default": "now-6h",
"examples": [
"now-1h"
]
},
"to": {
"description": "To is the end time of the query.",
"type": "string",
"default": "now",
"examples": [
"now"
]
}
},
"additionalProperties": false
},
"usa": {
"type": "object",
"properties": {
"fields": {
"type": "array",
"items": {
"type": "string"
}
},
"mode": {
"type": "string"
},
"period": {
"type": "string"
},
"states": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"withNil": {
"type": "boolean"
}
},
"additionalProperties": false,
"$schema": "https://json-schema.org/draft-04/schema#"
}
},
"type": {
"description": "the panel type",
"type": "string"
}
},
"additionalProperties": true,
"$schema": "https://json-schema.org/draft-04/schema#"
}