Documentation ¶
Index ¶
- type Compactor
- func (c *Compactor) BlockRetentionForTenant(tenantID string) time.Duration
- func (c *Compactor) MaxBytesPerSnapshotForTenant(tenantID string) int
- func (c *Compactor) OnRingInstanceHeartbeat(*ring.BasicLifecycler, *ring.Desc, *ring.InstanceDesc)
- func (c *Compactor) OnRingInstanceRegister(_ *ring.BasicLifecycler, ringDesc ring.Desc, instanceExists bool, _ string, ...) (ring.InstanceState, ring.Tokens)
- func (c *Compactor) OnRingInstanceStopping(*ring.BasicLifecycler)
- func (c *Compactor) OnRingInstanceTokens(*ring.BasicLifecycler, ring.Tokens)
- func (c *Compactor) Owns(hash string) bool
- func (c *Compactor) RecordDiscardedSnapshots(count int, tenantID string, snapshotID string)
- type Config
- type RingConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Compactor ¶
type Compactor struct { services.Service Ring *ring.Ring // contains filtered or unexported fields }
func New ¶
func New(cfg Config, store storage.Store, overrides *overrides.Overrides, reg prometheus.Registerer) (*Compactor, error)
New makes a new Compactor.
func (*Compactor) BlockRetentionForTenant ¶
BlockRetentionForTenant implements CompactorOverrides
func (*Compactor) MaxBytesPerSnapshotForTenant ¶
func (*Compactor) OnRingInstanceHeartbeat ¶
func (c *Compactor) OnRingInstanceHeartbeat(*ring.BasicLifecycler, *ring.Desc, *ring.InstanceDesc)
OnRingInstanceHeartbeat is called while the instance is updating its heartbeat in the ring.
func (*Compactor) OnRingInstanceRegister ¶
func (c *Compactor) OnRingInstanceRegister(_ *ring.BasicLifecycler, ringDesc ring.Desc, instanceExists bool, _ string, instanceDesc ring.InstanceDesc) (ring.InstanceState, ring.Tokens)
OnRingInstanceRegister is called while the lifecycler is registering the instance within the ring and should return the state and set of tokens to use for the instance itself.
func (*Compactor) OnRingInstanceStopping ¶
func (c *Compactor) OnRingInstanceStopping(*ring.BasicLifecycler)
OnRingInstanceStopping is called while the lifecycler is stopping. The lifecycler will continue to hearbeat the ring the this function is executing and will proceed to unregister the instance from the ring only after this function has returned.
func (*Compactor) OnRingInstanceTokens ¶
func (c *Compactor) OnRingInstanceTokens(*ring.BasicLifecycler, ring.Tokens)
OnRingInstanceTokens is called once the instance tokens are set and are stable within the ring (honoring the observe period, if set).
type Config ¶
type Config struct { Disabled bool `yaml:"disabled,omitempty"` ShardingRing RingConfig `yaml:"ring,omitempty"` Compactor deepdb.CompactorConfig `yaml:"compaction"` OverrideRingKey string `yaml:"override_ring_key"` }
type RingConfig ¶
type RingConfig struct { KVStore kv.Config `yaml:"kvstore"` HeartbeatPeriod time.Duration `yaml:"heartbeat_period"` HeartbeatTimeout time.Duration `yaml:"heartbeat_timeout"` // Wait ring stability. WaitStabilityMinDuration time.Duration `yaml:"wait_stability_min_duration"` WaitStabilityMaxDuration time.Duration `yaml:"wait_stability_max_duration"` // Instance details InstanceID string `yaml:"instance_id" doc:"hidden"` InstanceInterfaceNames []string `yaml:"instance_interface_names"` InstancePort int `yaml:"instance_port" doc:"hidden"` InstanceAddr string `yaml:"instance_addr" doc:"hidden"` // Injected internally ListenPort int `yaml:"-"` WaitActiveInstanceTimeout time.Duration `yaml:"wait_active_instance_timeout"` ObservePeriod time.Duration `yaml:"-"` }
RingConfig masks the ring lifecycler config which contains many options not really required by the compactors ring. This config is used to strip down the config to the minimum, and avoid confusion to the user.
func (*RingConfig) RegisterFlags ¶
func (cfg *RingConfig) RegisterFlags(f *flag.FlagSet)
RegisterFlags adds the flags required to config this to the given FlagSet
func (*RingConfig) ToLifecyclerConfig ¶
func (cfg *RingConfig) ToLifecyclerConfig() ring.LifecyclerConfig
ToLifecyclerConfig returns a LifecyclerConfig based on the compactor ring config.