Documentation
¶
Index ¶
- Constants
- func CopyMarkers(src string, dst string) error
- func ExtractIntervalFromTableName(tableName string) model.Interval
- type Chunk
- type ChunkClient
- type ExpirationChecker
- type IndexCleaner
- type IndexProcessor
- type IntervalFilter
- type Limits
- type Marker
- type MarkerProcessor
- type MarkerStorageWriter
- type Series
- type SeriesCallback
- type SeriesIterator
- type Sweeper
- type TableMarker
- type TenantRetentionSnapshot
- type TenantsRetention
Constants ¶
View Source
const (
MarkersFolder = "markers"
)
Variables ¶
This section is empty.
Functions ¶
func CopyMarkers ¶
CopyMarkers checks for markers in the src dir and copies them to the dst.
func ExtractIntervalFromTableName ¶
ExtractIntervalFromTableName gives back the time interval for which the table is expected to hold the chunks index.
Types ¶
type ChunkClient ¶
type ExpirationChecker ¶
type ExpirationChecker interface { Expired(userID []byte, chk Chunk, lbls labels.Labels, seriesID []byte, tableName string, now model.Time) (bool, filter.Func) IntervalMayHaveExpiredChunks(interval model.Interval, userID string) bool MarkPhaseStarted() MarkPhaseFailed() MarkPhaseTimedOut() MarkPhaseFinished() DropFromIndex(userID []byte, chk Chunk, labels labels.Labels, tableEndTime model.Time, now model.Time) bool CanSkipSeries(userID []byte, lbls labels.Labels, seriesID []byte, seriesStart model.Time, tableName string, now model.Time) bool }
func NeverExpiringExpirationChecker ¶
func NeverExpiringExpirationChecker(_ Limits) ExpirationChecker
NeverExpiringExpirationChecker returns an expiration checker that never expires anything
func NewExpirationChecker ¶
func NewExpirationChecker(limits Limits) ExpirationChecker
type IndexCleaner ¶ added in v3.5.0
type IndexCleaner interface { RemoveChunk(from, through model.Time, userID []byte, labels labels.Labels, chunkID []byte) error // CleanupSeries is for cleaning up the series that do have any chunks left in the index. // It would only be called for the series that have all their chunks deleted without adding new ones. CleanupSeries(userID []byte, lbls labels.Labels) error }
type IndexProcessor ¶
type IndexProcessor interface { SeriesIterator IndexCleaner // contains filtered or unexported methods }
type IntervalFilter ¶
IntervalFilter contains the interval to delete and the function that filters lines. These will be applied to a chunk.
type Limits ¶
type Limits interface { RetentionPeriod(userID string) time.Duration StreamRetention(userID string) []validation.StreamRetention AllByUserID() map[string]*validation.Limits DefaultLimits() *validation.Limits PoliciesStreamMapping(userID string) validation.PolicyStreamMapping }
type Marker ¶
type Marker struct {
// contains filtered or unexported fields
}
func NewMarker ¶
func NewMarker(workingDirectory string, expiration ExpirationChecker, markTimeout time.Duration, chunkClient client.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 Series ¶ added in v3.5.0
type Series struct {
// contains filtered or unexported fields
}
func (*Series) AppendChunks ¶ added in v3.5.0
type SeriesCallback ¶ added in v3.5.0
type SeriesIterator ¶ added in v3.5.0
type SeriesIterator interface {
ForEachSeries(ctx context.Context, callback SeriesCallback) error
}
type Sweeper ¶
type Sweeper struct {
// contains filtered or unexported fields
}
func NewSweeper ¶
func NewSweeper( workingDir string, deleteClient ChunkClient, deleteWorkerCount int, minAgeDelete time.Duration, backoffConfig backoff.Config, r prometheus.Registerer, ) (*Sweeper, error)
type TableMarker ¶
type TenantRetentionSnapshot ¶ added in v3.5.0
type TenantRetentionSnapshot struct {
// contains filtered or unexported fields
}
TenantRetentionSnapshot is a snapshot of retention rules for a tenant. The underlying retention rules may change on the original limits object passed to NewTenantRetentionSnapshot, but the snapshot is immutable.
func NewTenantRetentionSnapshot ¶ added in v3.5.0
func NewTenantRetentionSnapshot(limits Limits, userID string) *TenantRetentionSnapshot
func (*TenantRetentionSnapshot) RetentionHoursFor ¶ added in v3.5.0
func (r *TenantRetentionSnapshot) RetentionHoursFor(lbs labels.Labels) string
func (*TenantRetentionSnapshot) RetentionPeriodFor ¶ added in v3.5.0
func (r *TenantRetentionSnapshot) RetentionPeriodFor(lbs labels.Labels) time.Duration
type TenantsRetention ¶
type TenantsRetention struct {
// contains filtered or unexported fields
}
func NewTenantsRetention ¶
func NewTenantsRetention(l Limits) *TenantsRetention
func (*TenantsRetention) RetentionHoursFor ¶ added in v3.5.0
func (tr *TenantsRetention) RetentionHoursFor(userID string, lbs labels.Labels) string
func (*TenantsRetention) RetentionPeriodFor ¶
Click to show internal directories.
Click to hide internal directories.