Documentation ¶
Index ¶
- Variables
- func ExtractIntervalFromTableName(tableName string) model.Interval
- type ChunkClient
- type ChunkEntry
- type ChunkEntryIterator
- type ChunkRef
- type ExpirationChecker
- type InvalidIndexKeyError
- type LabelSeriesRangeKey
- type Limits
- type Marker
- type MarkerProcessor
- type MarkerStorageWriter
- type SeriesCleaner
- type Sweeper
- type TableMarker
- type TenantsRetention
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrInvalidIndexKey = errors.New("invalid index key")
Functions ¶
func ExtractIntervalFromTableName ¶
ExtractIntervalFromTableName gives back the time interval for which the table is expected to hold the chunks index.
Types ¶
type ChunkClient ¶
type ChunkEntry ¶
type ChunkEntryIterator ¶
type ChunkEntryIterator interface { Next() bool Entry() ChunkEntry // Delete deletes the current entry. Delete() error Err() error }
func NewChunkIndexIterator ¶
func NewChunkIndexIterator(bucket *bbolt.Bucket, config chunk.PeriodConfig) (ChunkEntryIterator, error)
type ChunkRef ¶
type ExpirationChecker ¶
type ExpirationChecker interface { Expired(ref ChunkEntry, now model.Time) (bool, []model.Interval) IntervalMayHaveExpiredChunks(interval model.Interval, userID string) bool MarkPhaseStarted() MarkPhaseFailed() MarkPhaseFinished() DropFromIndex(ref ChunkEntry, tableEndTime model.Time, now model.Time) bool }
func NewExpirationChecker ¶
func NewExpirationChecker(limits Limits) ExpirationChecker
type InvalidIndexKeyError ¶
func (InvalidIndexKeyError) Error ¶
func (e InvalidIndexKeyError) Error() string
func (InvalidIndexKeyError) Is ¶
func (e InvalidIndexKeyError) Is(target error) bool
type LabelSeriesRangeKey ¶
func (LabelSeriesRangeKey) String ¶
func (l LabelSeriesRangeKey) String() string
type Limits ¶
type Limits interface { RetentionPeriod(userID string) time.Duration StreamRetention(userID string) []validation.StreamRetention AllByUserID() map[string]*validation.Limits DefaultLimits() *validation.Limits }
type Marker ¶
type Marker struct {
// contains filtered or unexported fields
}
func NewMarker ¶
func NewMarker(workingDirectory string, config storage.SchemaConfig, expiration ExpirationChecker, chunkClient chunk.Client, r prometheus.Registerer) (*Marker, error)
type MarkerProcessor ¶
type MarkerProcessor interface { // Start starts parsing marks and calling deleteFunc for each. // If deleteFunc returns no error the mark is deleted from the storage. // Otherwise the mark will reappears in future iteration. Start(deleteFunc func(ctx context.Context, chunkId []byte) error) // Stop stops processing marks. Stop() }
type MarkerStorageWriter ¶
func NewMarkerStorageWriter ¶
func NewMarkerStorageWriter(workingDir string) (MarkerStorageWriter, error)
type SeriesCleaner ¶
type Sweeper ¶
type Sweeper struct {
// contains filtered or unexported fields
}
func NewSweeper ¶
func NewSweeper(workingDir string, deleteClient ChunkClient, deleteWorkerCount int, minAgeDelete time.Duration, r prometheus.Registerer) (*Sweeper, error)
type TableMarker ¶
type TenantsRetention ¶
type TenantsRetention struct {
// contains filtered or unexported fields
}
func NewTenantsRetention ¶
func NewTenantsRetention(l Limits) *TenantsRetention
func (*TenantsRetention) RetentionPeriodFor ¶
Click to show internal directories.
Click to hide internal directories.