Documentation
¶
Overview ¶
Package plugin is the package that defines the reporter plugin, and those strategies must implement ReporterPlugin interface, supporting both embedded plugin and external registered plugin.
Index ¶
- type DummyReporterPlugin
- func (_ DummyReporterPlugin) GetCache() *v1alpha1.GetReportContentResponse
- func (_ DummyReporterPlugin) GetReportContent(c context.Context) (*v1alpha1.GetReportContentResponse, error)
- func (_ DummyReporterPlugin) ListAndWatchReportContentCallback(s string, response *v1alpha1.GetReportContentResponse)
- func (_ DummyReporterPlugin) Name() string
- func (_ DummyReporterPlugin) Run(success chan<- bool)
- type Endpoint
- type InitFunc
- type ListAndWatchCallback
- type ReporterPlugin
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DummyReporterPlugin ¶
type DummyReporterPlugin struct {
*util.StopControl
}
func (DummyReporterPlugin) GetCache ¶
func (_ DummyReporterPlugin) GetCache() *v1alpha1.GetReportContentResponse
func (DummyReporterPlugin) GetReportContent ¶
func (_ DummyReporterPlugin) GetReportContent(c context.Context) (*v1alpha1.GetReportContentResponse, error)
func (DummyReporterPlugin) ListAndWatchReportContentCallback ¶
func (_ DummyReporterPlugin) ListAndWatchReportContentCallback(s string, response *v1alpha1.GetReportContentResponse)
func (DummyReporterPlugin) Name ¶
func (_ DummyReporterPlugin) Name() string
func (DummyReporterPlugin) Run ¶
func (_ DummyReporterPlugin) Run(success chan<- bool)
type Endpoint ¶
type Endpoint interface {
// Run initializes a ListAndWatch steam which will send a signal to the success channel
// when it initializes successfully
Run(success chan<- bool)
// Stop will be call when this Endpoint was de-registered or some error happened in ListAndWatch
Stop()
// GetReportContent will call rpc GetReportContent to plugin directly
GetReportContent(c context.Context) (*v1alpha1.GetReportContentResponse, error)
// ListAndWatchReportContentCallback will be call when this Endpoint receives plugin ListAndWatch send
ListAndWatchReportContentCallback(string, *v1alpha1.GetReportContentResponse)
// GetCache get response cache of this Endpoint
GetCache() *v1alpha1.GetReportContentResponse
// IsStopped check this Endpoint whether be called stop function before
IsStopped() bool
// StopGracePeriodExpired check if this Endpoint has been stopped and exceeded the
// grace period since the stop timestamp
StopGracePeriodExpired() bool
}
Endpoint represents a single registered plugin. It is responsible for managing gRPC communications with the reporter plugin and caching reporter states.
func NewRemoteEndpoint ¶
func NewRemoteEndpoint(socketPath, pluginName string, cache *v1alpha1.GetReportContentResponse, emitter metrics.MetricEmitter, callback ListAndWatchCallback, ) (Endpoint, error)
NewRemoteEndpoint creates a new Endpoint for the given reporter' plugin name. This is to be used during normal reporter' plugin registration.
func NewStoppedRemoteEndpoint ¶
func NewStoppedRemoteEndpoint(pluginName string, cache *v1alpha1.GetReportContentResponse) Endpoint
NewStoppedRemoteEndpoint creates a new Endpoint for the given pluginName with stopTime set. This is to be used during Agent restart, before the actual reporter plugin re-registers.
type InitFunc ¶
type InitFunc func(emitter metrics.MetricEmitter, _ *metaserver.MetaServer, conf *config.Configuration, callback ListAndWatchCallback) (ReporterPlugin, error)
type ListAndWatchCallback ¶
type ListAndWatchCallback func(string, *v1alpha1.GetReportContentResponse)
ListAndWatchCallback should be called when plugins report info update.
type ReporterPlugin ¶
ReporterPlugin performs report actions based on system or kubelet information.