shared

package
v1.35.0 Latest Latest
Warning

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

Go to latest
Published: May 30, 2022 License: Apache-2.0 Imports: 17 Imported by: 46

Documentation

Index

Constants

View Source
const BearerTokenKey = "bearer.token"

BearerTokenKey is the key name for the bearer token context value.

View Source
const StoragePluginIdentifier = "storage_plugin"

StoragePluginIdentifier is the identifier that is shared by plugin and host.

Variables

View Source
var Handshake = plugin.HandshakeConfig{
	MagicCookieKey:   "STORAGE_PLUGIN",
	MagicCookieValue: "jaeger",
}

Handshake is a common handshake that is shared by plugin and host.

View Source
var PluginMap = map[string]plugin.Plugin{
	StoragePluginIdentifier: &StorageGRPCPlugin{},
}

PluginMap is the map of plugins we can dispense.

Functions

func NewGRPCClient added in v1.30.0

func NewGRPCClient(c *grpc.ClientConn) *grpcClient

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

type Capabilities struct {
	ArchiveSpanReader   bool
	ArchiveSpanWriter   bool
	StreamingSpanWriter bool
}

Capabilities contains information about plugin capabilities

type ContextUpgradeFunc added in v1.23.0

type ContextUpgradeFunc func(ctx context.Context) context.Context

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
	StreamingSpanWriter StreamingSpanWriterPlugin
}

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
	StreamImpl  StreamingSpanWriterPlugin
}

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.

func (*StorageGRPCPlugin) RegisterHandlers added in v1.30.0

func (p *StorageGRPCPlugin) RegisterHandlers(s *grpc.Server) error

RegisterHandlers registers the plugin with the 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.

type StreamingSpanWriterPlugin added in v1.34.0

type StreamingSpanWriterPlugin interface {
	StreamingSpanWriter() spanstore.Writer
}

StreamingSpanWriterPlugin is the interface we're exposing as a plugin.

Jump to

Keyboard shortcuts

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