plugin

package module
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2019 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Executor

type Executor struct {
	Plugins       []Plugin
	ElasticClient *elastic.Client
}

Executor for controlling Plugin instances

func (*Executor) BuildPlugins

func (executor *Executor) BuildPlugins(configuration config.Configuration, pluginConfig config.PluginConfig, newPlugin factoryMethodType)

BuildPlugins creates the plugin instances

func (*Executor) RunPlugins

func (executor *Executor) RunPlugins(freq time.Duration)

RunPlugins runs all Plugins in a loop

type Plugin

type Plugin interface {
	BuildMetrics([]config.Query) []prometheus.Collector
	Perform(*elastic.Client)
}

Plugin can be implemented to extend ELCEPs functionality. see BUILD-CUSTOM-MONITOR.md for details

type Provider

type Provider struct {
	Plugins map[string]factoryMethodType
}

Provider loads the plugin files and scans for available plugins

func NewPluginProvider

func NewPluginProvider(pluginFolder string) *Provider

NewPluginProvider returns an instance with loaded Plugins from plugin Files

func (*Provider) GetPluginNames

func (provider *Provider) GetPluginNames() []string

GetPluginNames returns a list of logical plugin names

Directories

Path Synopsis
Package mock_plugin is a generated GoMock package.
Package mock_plugin is a generated GoMock package.

Jump to

Keyboard shortcuts

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