backendplugin

package
v0.0.0-...-34a2968 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 6, 2020 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrPluginNotRegistered error returned when plugin not registered.
	ErrPluginNotRegistered = errors.New("Plugin not registered")
	// ErrHealthCheckFailed error returned when health check failed.
	ErrHealthCheckFailed = errors.New("Health check failed")
	// ErrPluginUnavailable error returned when plugin is unavailable.
	ErrPluginUnavailable = errors.New("Plugin unavailable")
	// ErrMethodNotImplemented error returned when plugin method not implemented.
	ErrMethodNotImplemented = errors.New("method not implemented")
)

Functions

func InstrumentQueryDataHandler

func InstrumentQueryDataHandler(handler backend.QueryDataHandler) backend.QueryDataHandler

InstrumentQueryDataHandler wraps a backend.QueryDataHandler with instrumentation of success rate and latency.

func InstrumentQueryDataRequest

func InstrumentQueryDataRequest(pluginID string, fn func() error) error

InstrumentQueryDataRequest instruments success rate and latency of query data request.

func InstrumentTransformDataRequest

func InstrumentTransformDataRequest(pluginID string, fn func() error) error

InstrumentTransformDataRequest instruments success rate and latency of transform data request.

Types

type CallResourceClientResponseStream

type CallResourceClientResponseStream interface {
	Recv() (*backend.CallResourceResponse, error)
	Close() error
}

CallResourceClientResponseStream is used for receiving resource call responses.

type Manager

type Manager interface {
	// Register registers a backend plugin
	Register(pluginID string, factory PluginFactoryFunc) error
	// StartPlugin starts a non-managed backend plugin
	StartPlugin(ctx context.Context, pluginID string) error
	// CollectMetrics collects metrics from a registered backend plugin.
	CollectMetrics(ctx context.Context, pluginID string) (*backend.CollectMetricsResult, error)
	// CheckHealth checks the health of a registered backend plugin.
	CheckHealth(ctx context.Context, pCtx backend.PluginContext) (*backend.CheckHealthResult, error)
	// CallResource calls a plugin resource.
	CallResource(pluginConfig backend.PluginContext, ctx *models.ReqContext, path string)
}

Manager manages backend plugins.

type Plugin

type Plugin interface {
	PluginID() string
	Logger() log.Logger
	Start(ctx context.Context) error
	Stop(ctx context.Context) error
	IsManaged() bool
	Exited() bool
	backend.CollectMetricsHandler
	backend.CheckHealthHandler
	backend.CallResourceHandler
}

Plugin backend plugin interface.

type PluginFactoryFunc

type PluginFactoryFunc func(pluginID string, logger log.Logger, env []string) (Plugin, error)

PluginFactoryFunc factory for creating a Plugin.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL