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/services/live/pipeline/registry.go

101 lines
2.5 KiB

package pipeline
type EntityInfo struct {
Type string `json:"type"`
Description string `json:"description"`
Example interface{} `json:"example,omitempty"`
}
var SubscribersRegistry = []EntityInfo{
{
Type: SubscriberTypeBuiltin,
Description: "apply builtin feature subscribe logic",
},
{
Type: SubscriberTypeManagedStream,
Description: "apply managed stream subscribe logic",
},
}
var FrameOutputsRegistry = []EntityInfo{
{
Type: FrameOutputTypeManagedStream,
Description: "only send schema when structure changes (note this also requires a matching subscriber)",
Example: ManagedStreamOutputConfig{},
},
{
Type: FrameOutputTypeConditional,
Description: "send to an output depending on frame values",
Example: ConditionalOutputConfig{},
},
{
Type: FrameOutputTypeRedirect,
Description: "redirect for processing by another channel rule",
},
{
Type: FrameOutputTypeThreshold,
Description: "output field threshold boundaries cross into new channel",
},
{
Type: FrameOutputTypeChangeLog,
Description: "output field changes into new channel",
},
{
Type: FrameOutputTypeRemoteWrite,
Description: "output to remote write endpoint",
},
{
Type: FrameOutputTypeLoki,
Description: "output frame as JSON to Loki",
},
}
var ConvertersRegistry = []EntityInfo{
{
Type: ConverterTypeJsonAuto,
Description: "automatic recursive JSON to Frame conversion",
},
{
Type: ConverterTypeJsonExact,
Description: "JSON to Frame conversion according to exact list of fields",
},
{
Type: ConverterTypeInfluxAuto,
Description: "accept influx line protocol",
Example: AutoInfluxConverterConfig{
FrameFormat: "labels_column",
},
},
{
Type: ConverterTypeJsonFrame,
Description: "JSON-encoded Grafana data frame",
},
}
var FrameProcessorsRegistry = []EntityInfo{
{
Type: FrameProcessorTypeKeepFields,
Description: "list the fields that should stay",
Example: KeepFieldsFrameProcessorConfig{},
},
{
Type: FrameProcessorTypeDropFields,
Description: "list the fields that should be removed",
Example: DropFieldsFrameProcessorConfig{},
},
}
var DataOutputsRegistry = []EntityInfo{
{
Type: DataOutputTypeBuiltin,
Description: "use builtin publish handler",
},
{
Type: DataOutputTypeRedirect,
Description: "redirect data processing to another channel rule",
},
{
Type: DataOutputTypeLoki,
Description: "output data to Loki as logs",
},
}