storage

package
v1.46.0-tgt.2 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	// SpanStorageTypeEnvVar is the name of the env var that defines the type of backend used for span storage.
	SpanStorageTypeEnvVar = "SPAN_STORAGE_TYPE"

	// DependencyStorageTypeEnvVar is the name of the env var that defines the type of backend used for dependencies storage.
	DependencyStorageTypeEnvVar = "DEPENDENCY_STORAGE_TYPE"

	// SamplingStorageTypeEnvVar is the name of the env var that defines the type of backend used for sampling data storage when using adaptive sampling.
	SamplingStorageTypeEnvVar = "SAMPLING_STORAGE_TYPE"
)

Variables

View Source
var AllStorageTypes = []string{
	cassandraStorageType,
	opensearchStorageType,
	elasticsearchStorageType,
	memoryStorageType,
	kafkaStorageType,
	badgerStorageType,
	grpcPluginStorageType,
}

AllStorageTypes defines all available storage backends

Functions

func AllSamplingStorageTypes

func AllSamplingStorageTypes() []string

AllSamplingStorageTypes returns all storage backends that implement adaptive sampling

Types

type Factory

type Factory struct {
	FactoryConfig
	// contains filtered or unexported fields
}

Factory implements storage.Factory interface as a meta-factory for storage components.

func NewFactory

func NewFactory(config FactoryConfig) (*Factory, error)

NewFactory creates the meta-factory.

func (*Factory) AddFlags

func (f *Factory) AddFlags(flagSet *flag.FlagSet)

AddFlags implements plugin.Configurable

func (*Factory) AddPipelineFlags

func (f *Factory) AddPipelineFlags(flagSet *flag.FlagSet)

AddPipelineFlags adds all the standard flags as well as the downsampling flags. This is intended to be used in Jaeger pipeline services such as the collector or ingester.

func (*Factory) Close

func (f *Factory) Close() error

Close closes the resources held by the factory

func (*Factory) CreateArchiveSpanReader

func (f *Factory) CreateArchiveSpanReader() (spanstore.Reader, error)

CreateArchiveSpanReader implements storage.ArchiveFactory

func (*Factory) CreateArchiveSpanWriter

func (f *Factory) CreateArchiveSpanWriter() (spanstore.Writer, error)

CreateArchiveSpanWriter implements storage.ArchiveFactory

func (*Factory) CreateDependencyReader

func (f *Factory) CreateDependencyReader() (dependencystore.Reader, error)

CreateDependencyReader implements storage.Factory

func (*Factory) CreateSamplingStoreFactory

func (f *Factory) CreateSamplingStoreFactory() (storage.SamplingStoreFactory, error)

CreateSamplingStoreFactory creates a distributedlock.Lock and samplingstore.Store for use with adaptive sampling

func (*Factory) CreateSpanReader

func (f *Factory) CreateSpanReader() (spanstore.Reader, error)

CreateSpanReader implements storage.Factory.

func (*Factory) CreateSpanWriter

func (f *Factory) CreateSpanWriter() (spanstore.Writer, error)

CreateSpanWriter implements storage.Factory.

func (*Factory) InitFromViper

func (f *Factory) InitFromViper(v *viper.Viper, logger *zap.Logger)

InitFromViper implements plugin.Configurable

func (*Factory) Initialize

func (f *Factory) Initialize(metricsFactory metrics.Factory, logger *zap.Logger) error

Initialize implements storage.Factory.

type FactoryConfig

type FactoryConfig struct {
	SpanWriterTypes         []string
	SpanReaderType          string
	SamplingStorageType     string
	DependenciesStorageType string
	DownsamplingRatio       float64
	DownsamplingHashSalt    string
}

FactoryConfig tells the Factory which types of backends it needs to create for different storage types.

func FactoryConfigFromEnvAndCLI

func FactoryConfigFromEnvAndCLI(args []string, log io.Writer) FactoryConfig

FactoryConfigFromEnvAndCLI reads the desired types of storage backends from SPAN_STORAGE_TYPE and DEPENDENCY_STORAGE_TYPE environment variables. Allowed values: * `cassandra` - built-in * `opensearch` - built-in * `elasticsearch` - built-in * `memory` - built-in * `kafka` - built-in * `plugin` - loads a dynamic plugin that implements storage.Factory interface (not supported at the moment)

For backwards compatibility it also parses the args looking for deprecated --span-storage.type flag. If found, it writes a deprecation warning to the log.

Jump to

Keyboard shortcuts

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