2025-04-01 10:38:02 +09:00

435 lines
14 KiB
JSON

{
"type": "object",
"required": [
"queries"
],
"properties": {
"$schema": {
"description": "helper",
"type": "string"
},
"debug": {
"type": "boolean"
},
"from": {
"description": "From Start time in epoch timestamps in milliseconds or relative using Grafana time units.",
"type": "string"
},
"queries": {
"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#"
}
},
"to": {
"description": "To end time in epoch timestamps in milliseconds or relative using Grafana time units.",
"type": "string"
}
},
"additionalProperties": false,
"$schema": "https://json-schema.org/draft-04/schema#"
}