Documentation ¶
Index ¶
Constants ¶
const StoragePluginIdentifier = "storage_plugin"
StoragePluginIdentifier is the identifier that is shared by plugin and host.
Variables ¶
var Handshake = plugin.HandshakeConfig{
MagicCookieKey: "STORAGE_PLUGIN",
MagicCookieValue: "jaeger",
}
Handshake is a common handshake that is shared by plugin and host.
var PluginMap = map[string]plugin.Plugin{ StoragePluginIdentifier: &StorageGRPCPlugin{}, }
PluginMap is the map of plugins we can dispense.
Functions ¶
This section is empty.
Types ¶
type ArchiveStoragePlugin ¶ added in v1.20.0
type ArchiveStoragePlugin interface { ArchiveSpanReader() spanstore.Reader ArchiveSpanWriter() spanstore.Writer }
ArchiveStoragePlugin is the interface we're exposing as a plugin.
type Capabilities ¶ added in v1.20.0
Capabilities contains information about plugin capabilities
type ContextUpgradeFunc ¶ added in v1.23.0
ContextUpgradeFunc is a functional type that can be composed to upgrade context
type PluginCapabilities ¶ added in v1.20.0
type PluginCapabilities interface {
Capabilities() (*Capabilities, error)
}
PluginCapabilities allow expose plugin its capabilities.
type PluginServices ¶ added in v1.20.0
type PluginServices struct { Store StoragePlugin ArchiveStore ArchiveStoragePlugin }
PluginServices defines services plugin can expose
type StorageGRPCPlugin ¶
type StorageGRPCPlugin struct { plugin.Plugin // Concrete implementation, This is only used for plugins that are written in Go. Impl StoragePlugin ArchiveImpl ArchiveStoragePlugin }
StorageGRPCPlugin is the implementation of plugin.GRPCPlugin.
func (*StorageGRPCPlugin) GRPCClient ¶
func (*StorageGRPCPlugin) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)
GRPCClient implements plugin.GRPCPlugin. It is used by go-plugin to create a grpc plugin client.
func (*StorageGRPCPlugin) GRPCServer ¶
func (p *StorageGRPCPlugin) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error
GRPCServer implements plugin.GRPCPlugin. It is used by go-plugin to create a grpc plugin server.
type StoragePlugin ¶
type StoragePlugin interface { SpanReader() spanstore.Reader SpanWriter() spanstore.Writer DependencyReader() dependencystore.Reader }
StoragePlugin is the interface we're exposing as a plugin.