Documentation ¶
Overview ¶
Package storage is the collection of different storage interfaces that are shared by two or more components.
If a storage is used by only one component, its interface should be defined in the component package, and implementations under ./plugin/storage/{db_name}/{store_type}/....
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrArchiveStorageNotConfigured can be returned by the ArchiveFactory when the archive storage is not configured. ErrArchiveStorageNotConfigured = errors.New("archive storage not configured") // ErrArchiveStorageNotSupported can be returned by the ArchiveFactory when the archive storage is not supported by the backend. ErrArchiveStorageNotSupported = errors.New("archive storage not supported") )
Functions ¶
This section is empty.
Types ¶
type ArchiveFactory ¶
type ArchiveFactory interface { // CreateArchiveSpanReader creates a spanstore.Reader. CreateArchiveSpanReader() (spanstore.Reader, error) // CreateArchiveSpanWriter creates a spanstore.Writer. CreateArchiveSpanWriter() (spanstore.Writer, error) }
ArchiveFactory is an additional interface that can be implemented by a factory to support trace archiving.
type Factory ¶
type Factory interface { // Initialize performs internal initialization of the factory, such as opening connections to the backend store. // It is called after all configuration of the factory itself has been done. Initialize(metricsFactory metrics.Factory, logger *zap.Logger) error // CreateSpanReader creates a spanstore.Reader. CreateSpanReader() (spanstore.Reader, error) // CreateSpanWriter creates a spanstore.Writer. CreateSpanWriter() (spanstore.Writer, error) // CreateDependencyReader creates a dependencystore.Reader. CreateDependencyReader() (dependencystore.Reader, error) }
Factory defines an interface for a factory that can create implementations of different storage components. Implementations are also encouraged to implement plugin.Configurable interface.
See also ¶
plugin.Configurable
type MetricsFactory ¶ added in v1.23.0
type MetricsFactory interface { // Initialize performs internal initialization of the factory, such as opening connections to the backend store. // It is called after all configuration of the factory itself has been done. Initialize(logger *zap.Logger) error // CreateMetricsReader creates a metricsstore.Reader. CreateMetricsReader() (metricsstore.Reader, error) }
MetricsFactory defines an interface for a factory that can create implementations of different metrics storage components. Implementations are also encouraged to implement plugin.Configurable interface.
See also ¶
plugin.Configurable
type SamplingStoreFactory ¶ added in v1.27.0
type SamplingStoreFactory interface { // CreateLock creates a distributed lock. CreateLock() (distributedlock.Lock, error) // CreateSamplingStore creates a sampling store. CreateSamplingStore(maxBuckets int) (samplingstore.Store, error) }
SamplingStoreFactory defines an interface that is capable of returning the necessary backends for adaptive sampling.