Documentation ¶
Index ¶
- Constants
- type BoltDBIndexClient
- type Config
- type StorageClient
- type Table
- func (lt *Table) Cleanup(dbRetainPeriod time.Duration) error
- func (lt *Table) MultiQueries(ctx context.Context, queries []index.Query, callback index.QueryPagesCallback) error
- func (lt *Table) RemoveDB(name string) error
- func (lt *Table) RemoveSnapshotDB(name string) error
- func (lt *Table) Snapshot() error
- func (lt *Table) Stop()
- func (lt *Table) Upload(ctx context.Context, force bool) error
- func (lt *Table) Write(ctx context.Context, writes local.TableWrites) error
- type TableManager
Constants ¶
const ( // create a new db sharded by time based on when write request is received ShardDBsByDuration = 15 * time.Minute )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BoltDBIndexClient ¶
type StorageClient ¶
type Table ¶
type Table struct {
// contains filtered or unexported fields
}
Table is a collection of multiple dbs created for a same table by the ingester. All the public methods are concurrency safe and take care of mutexes to avoid any data race.
func LoadTable ¶
func LoadTable(path, uploader string, storageClient StorageClient, boltdbIndexClient BoltDBIndexClient, makePerTenantBuckets bool, metrics *metrics, ) (*Table, error)
LoadTable loads local dbs belonging to the table and creates a new Table with references to dbs if there are any otherwise it doesn't create a table
func NewTable ¶
func NewTable(path, uploader string, storageClient StorageClient, boltdbIndexClient BoltDBIndexClient, makePerTenantBuckets bool) (*Table, error)
NewTable create a new Table without looking for any existing local dbs belonging to the table.
func (*Table) Cleanup ¶
Cleanup removes dbs which are already uploaded and have not been modified for period longer than dbRetainPeriod. This is to avoid keeping all the files forever in the ingesters.
func (*Table) MultiQueries ¶
func (lt *Table) MultiQueries(ctx context.Context, queries []index.Query, callback index.QueryPagesCallback) error
MultiQueries runs multiple queries without having to take lock multiple times for each query.
func (*Table) RemoveSnapshotDB ¶
type TableManager ¶
type TableManager struct {
// contains filtered or unexported fields
}
func NewTableManager ¶
func NewTableManager(cfg Config, boltIndexClient BoltDBIndexClient, storageClient StorageClient, registerer prometheus.Registerer) (*TableManager, error)
func (*TableManager) BatchWrite ¶
func (tm *TableManager) BatchWrite(ctx context.Context, batch index.WriteBatch) error
func (*TableManager) QueryPages ¶
func (tm *TableManager) QueryPages(ctx context.Context, queries []index.Query, callback index.QueryPagesCallback) error
func (*TableManager) Stop ¶
func (tm *TableManager) Stop()