mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
191 lines
7.5 KiB
Go
191 lines
7.5 KiB
Go
package kinds
|
|
|
|
import (
|
|
"embed"
|
|
"encoding/json"
|
|
)
|
|
|
|
// NodesQueryType defines model for NodesQuery.Type.
|
|
// +enum
|
|
type NodesQueryType string
|
|
|
|
const (
|
|
NodesQueryTypeRandom NodesQueryType = "random"
|
|
NodesQueryTypeRandomEdges NodesQueryType = "random edges"
|
|
NodesQueryTypeResponseMedium NodesQueryType = "response_medium"
|
|
NodesQueryTypeResponseSmall NodesQueryType = "response_small"
|
|
NodesQueryTypeFeatureShowcase NodesQueryType = "feature_showcase"
|
|
)
|
|
|
|
// StreamingQueryType defines model for StreamingQuery.Type.
|
|
// +enum
|
|
type StreamingQueryType string
|
|
|
|
const (
|
|
StreamingQueryTypeFetch StreamingQueryType = "fetch"
|
|
StreamingQueryTypeLogs StreamingQueryType = "logs"
|
|
StreamingQueryTypeSignal StreamingQueryType = "signal"
|
|
StreamingQueryTypeTraces StreamingQueryType = "traces"
|
|
)
|
|
|
|
// ErrorType defines model for TestDataQuery.ErrorType.
|
|
// +enum
|
|
type ErrorType string
|
|
|
|
const (
|
|
ErrorTypeFrontendException ErrorType = "frontend_exception"
|
|
ErrorTypeFrontendObservable ErrorType = "frontend_observable"
|
|
ErrorTypeServerPanic ErrorType = "server_panic"
|
|
)
|
|
|
|
// ErrorSource defines model for TestDataQuery.ErrorSource.
|
|
// +enum
|
|
type ErrorSource string
|
|
|
|
// Defines values for ErrorSource.
|
|
const (
|
|
ErrorSourcePlugin ErrorSource = "plugin"
|
|
ErrorSourceDownstream ErrorSource = "downstream"
|
|
)
|
|
|
|
// TestDataQueryType defines model for TestDataQueryType.
|
|
// +enum
|
|
type TestDataQueryType string
|
|
|
|
// Defines values for TestDataQueryType.
|
|
const (
|
|
TestDataQueryTypeAnnotations TestDataQueryType = "annotations"
|
|
TestDataQueryTypeArrow TestDataQueryType = "arrow"
|
|
TestDataQueryTypeCsvContent TestDataQueryType = "csv_content"
|
|
TestDataQueryTypeCsvFile TestDataQueryType = "csv_file"
|
|
TestDataQueryTypeCsvMetricValues TestDataQueryType = "csv_metric_values"
|
|
TestDataQueryTypeDatapointsOutsideRange TestDataQueryType = "datapoints_outside_range"
|
|
TestDataQueryTypeErrorWithSource TestDataQueryType = "error_with_source"
|
|
TestDataQueryTypeExponentialHeatmapBucketData TestDataQueryType = "exponential_heatmap_bucket_data"
|
|
TestDataQueryTypeFlameGraph TestDataQueryType = "flame_graph"
|
|
TestDataQueryTypeGrafanaApi TestDataQueryType = "grafana_api"
|
|
TestDataQueryTypeLinearHeatmapBucketData TestDataQueryType = "linear_heatmap_bucket_data"
|
|
TestDataQueryTypeLive TestDataQueryType = "live"
|
|
TestDataQueryTypeLogs TestDataQueryType = "logs"
|
|
TestDataQueryTypeManualEntry TestDataQueryType = "manual_entry"
|
|
TestDataQueryTypeNoDataPoints TestDataQueryType = "no_data_points"
|
|
TestDataQueryTypeNodeGraph TestDataQueryType = "node_graph"
|
|
TestDataQueryTypePredictableCsvWave TestDataQueryType = "predictable_csv_wave"
|
|
TestDataQueryTypePredictablePulse TestDataQueryType = "predictable_pulse"
|
|
TestDataQueryTypeRandomWalk TestDataQueryType = "random_walk"
|
|
TestDataQueryTypeRandomWalkTable TestDataQueryType = "random_walk_table"
|
|
TestDataQueryTypeRandomWalkWithError TestDataQueryType = "random_walk_with_error"
|
|
TestDataQueryTypeRawFrame TestDataQueryType = "raw_frame"
|
|
TestDataQueryTypeServerError500 TestDataQueryType = "server_error_500"
|
|
TestDataQueryTypeSimulation TestDataQueryType = "simulation"
|
|
TestDataQueryTypeSlowQuery TestDataQueryType = "slow_query"
|
|
TestDataQueryTypeStreamingClient TestDataQueryType = "streaming_client"
|
|
TestDataQueryTypeTableStatic TestDataQueryType = "table_static"
|
|
TestDataQueryTypeTrace TestDataQueryType = "trace"
|
|
TestDataQueryTypeUsa TestDataQueryType = "usa"
|
|
TestDataQueryTypeVariablesQuery TestDataQueryType = "variables-query"
|
|
)
|
|
|
|
// TestDataQuery defines model for TestDataQuery.
|
|
type TestDataQuery struct {
|
|
ScenarioId TestDataQueryType `json:"scenarioId,omitempty"`
|
|
Alias string `json:"alias,omitempty"`
|
|
Labels string `json:"labels,omitempty"`
|
|
|
|
// common parameter used by many query types
|
|
StringInput string `json:"stringInput,omitempty"`
|
|
|
|
CsvContent string `json:"csvContent,omitempty"`
|
|
CsvFileName string `json:"csvFileName,omitempty"`
|
|
CsvWave []CSVWave `json:"csvWave,omitempty"`
|
|
|
|
// Used for live query
|
|
Channel string `json:"channel,omitempty"`
|
|
|
|
// Drop percentage (the chance we will lose a point 0-100)
|
|
DropPercent float64 `json:"dropPercent,omitempty"`
|
|
ErrorType ErrorType `json:"errorType,omitempty"`
|
|
FlamegraphDiff bool `json:"flamegraphDiff,omitempty"`
|
|
LevelColumn bool `json:"levelColumn,omitempty"`
|
|
StartValue float64 `json:"startValue,omitempty"`
|
|
Spread float64 `json:"spread,omitempty"`
|
|
Noise float64 `json:"noise,omitempty"`
|
|
Min *float64 `json:"min,omitempty"`
|
|
Max *float64 `json:"max,omitempty"`
|
|
WithNil bool `json:"withNil,omitempty"`
|
|
Lines int64 `json:"lines,omitempty"`
|
|
Points [][]any `json:"points,omitempty"`
|
|
RawFrameContent string `json:"rawFrameContent,omitempty"`
|
|
SeriesCount int `json:"seriesCount,omitempty"`
|
|
SpanCount int `json:"spanCount,omitempty"`
|
|
ErrorSource ErrorSource `json:"errorSource,omitempty"`
|
|
|
|
Nodes *NodesQuery `json:"nodes,omitempty"`
|
|
PulseWave *PulseWaveQuery `json:"pulseWave,omitempty"`
|
|
Sim *SimulationQuery `json:"sim,omitempty"`
|
|
Stream *StreamingQuery `json:"stream,omitempty"`
|
|
Usa *USAQuery `json:"usa,omitempty"`
|
|
}
|
|
|
|
// CSVWave defines model for CSVWave.
|
|
type CSVWave struct {
|
|
TimeStep int64 `json:"timeStep,omitempty"`
|
|
ValuesCSV string `json:"valuesCSV,omitempty"`
|
|
Labels string `json:"labels,omitempty"`
|
|
Name string `json:"name,omitempty"`
|
|
}
|
|
|
|
// NodesQuery defines model for NodesQuery.
|
|
type NodesQuery struct {
|
|
Count int64 `json:"count,omitempty"`
|
|
Seed int64 `json:"seed,omitempty"`
|
|
Type NodesQueryType `json:"type,omitempty"`
|
|
}
|
|
|
|
// PulseWaveQuery defines model for PulseWaveQuery.
|
|
type PulseWaveQuery struct {
|
|
OffCount int64 `json:"offCount,omitempty"`
|
|
OffValue float64 `json:"offValue,omitempty"`
|
|
OnCount int64 `json:"onCount,omitempty"`
|
|
OnValue float64 `json:"onValue,omitempty"`
|
|
TimeStep int64 `json:"timeStep,omitempty"`
|
|
}
|
|
|
|
// SimulationQuery defines model for SimulationQuery.
|
|
type SimulationQuery struct {
|
|
Config map[string]any `json:"config,omitempty"`
|
|
Key struct {
|
|
Tick float64 `json:"tick"`
|
|
Type string `json:"type"`
|
|
Uid *string `json:"uid,omitempty"`
|
|
} `json:"key"`
|
|
Last bool `json:"last,omitempty"`
|
|
Stream bool `json:"stream,omitempty"`
|
|
}
|
|
|
|
// StreamingQuery defines model for StreamingQuery.
|
|
type StreamingQuery struct {
|
|
Bands int32 `json:"bands,omitempty"`
|
|
Noise float64 `json:"noise"`
|
|
Speed float64 `json:"speed"`
|
|
Spread float64 `json:"spread"`
|
|
Type StreamingQueryType `json:"type"`
|
|
Url string `json:"url,omitempty"`
|
|
}
|
|
|
|
// USAQuery defines model for USAQuery.
|
|
type USAQuery struct {
|
|
Fields []string `json:"fields,omitempty"`
|
|
Mode string `json:"mode,omitempty"`
|
|
Period string `json:"period,omitempty"`
|
|
States []string `json:"states,omitempty"`
|
|
}
|
|
|
|
//go:embed query.types.json
|
|
var f embed.FS
|
|
|
|
// QueryTypeDefinitionListJSON returns the query type definitions
|
|
func QueryTypeDefinitionListJSON() (json.RawMessage, error) {
|
|
return f.ReadFile("query.types.json")
|
|
}
|