Documentation
¶
Overview ¶
Package schema implements a framework to sync schema info from the metadata repository.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MetadataEvent ¶
MetadataEvent is the syncing message between metadata repo and this framework.
type Repository ¶
type Repository interface {
Watcher()
SendMetadataEvent(MetadataEvent)
StoreGroup(groupMeta *commonv1.Metadata) (*group, error)
LoadGroup(name string) (Group, bool)
LoadResource(metadata *commonv1.Metadata) (Resource, bool)
Close()
StopCh() <-chan struct{}
}
Repository is the collection of several hierarchies groups by a "Group".
func NewPortableRepository ¶ added in v0.5.0
func NewPortableRepository( metadata metadata.Repo, l *logger.Logger, supplier ResourceSchemaSupplier, ) Repository
NewPortableRepository return a new Repository without tsdb.
func NewRepository ¶
func NewRepository( metadata metadata.Repo, l *logger.Logger, resourceSupplier ResourceSupplier, ) Repository
NewRepository return a new Repository.
type Resource ¶
type Resource interface {
io.Closer
IndexRules() []*databasev1.IndexRule
TopN() []*databasev1.TopNAggregation
Schema() ResourceSchema
Delegated() io.Closer
}
Resource allows access metadata from a local cache.
type ResourceSchema ¶
ResourceSchema allows get the metadata.
type ResourceSchemaSupplier ¶ added in v0.5.0
type ResourceSchemaSupplier interface {
ResourceSchema(metadata *commonv1.Metadata) (ResourceSchema, error)
OpenResource(shardNum uint32, db tsdb.Supplier, spec Resource) (io.Closer, error)
}
ResourceSchemaSupplier allows get a ResourceSchema from the metadata.
type ResourceSupplier ¶
type ResourceSupplier interface {
ResourceSchemaSupplier
OpenDB(groupSchema *commonv1.Group) (tsdb.Database, error)
}
ResourceSupplier allows open a resource and its embedded tsdb.
Click to show internal directories.
Click to hide internal directories.