compactor

package
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2022 License: AGPL-3.0 Imports: 20 Imported by: 0

Documentation

Index

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 added in v0.6.0

func (c *Compactor) BlockRetentionForTenant(tenantID string) time.Duration

BlockRetentionForTenant implements CompactorOverrides

func (*Compactor) Combine

func (c *Compactor) Combine(dataEncoding string, tenantID string, objs ...[]byte) ([]byte, bool, error)

Combine implements tempodb.CompactorSharder

func (*Compactor) MaxBytesPerTraceForTenant added in v1.5.0

func (c *Compactor) MaxBytesPerTraceForTenant(tenantID string) int

func (*Compactor) OnRingInstanceHeartbeat added in v1.3.0

func (c *Compactor) OnRingInstanceHeartbeat(lifecycler *ring.BasicLifecycler, ringDesc *ring.Desc, instanceDesc *ring.InstanceDesc)

OnRingInstanceHeartbeat is called while the instance is updating its heartbeat in the ring.

func (*Compactor) OnRingInstanceRegister added in v1.3.0

func (c *Compactor) OnRingInstanceRegister(lifecycler *ring.BasicLifecycler, ringDesc ring.Desc, instanceExists bool, instanceID 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 added in v1.3.0

func (c *Compactor) OnRingInstanceStopping(lifecycler *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 added in v1.3.0

func (c *Compactor) OnRingInstanceTokens(lifecycler *ring.BasicLifecycler, tokens ring.Tokens)

OnRingInstanceTokens is called once the instance tokens are set and are stable within the ring (honoring the observe period, if set).

func (*Compactor) Owns

func (c *Compactor) Owns(hash string) bool

Owns implements CompactorSharder

func (*Compactor) RecordDiscardedSpans added in v1.5.0

func (c *Compactor) RecordDiscardedSpans(count int, tenantID string)

type Config

type Config struct {
	ShardingRing    RingConfig              `yaml:"ring,omitempty"`
	Compactor       tempodb.CompactorConfig `yaml:"compaction"`
	OverrideRingKey string                  `yaml:"override_ring_key"`
}

func (*Config) RegisterFlagsAndApplyDefaults

func (cfg *Config) RegisterFlagsAndApplyDefaults(prefix string, f *flag.FlagSet)

RegisterFlagsAndApplyDefaults registers the flags.

type RingConfig added in v1.4.0

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 added in v1.4.0

func (cfg *RingConfig) RegisterFlags(f *flag.FlagSet)

RegisterFlags adds the flags required to config this to the given FlagSet

func (*RingConfig) ToLifecyclerConfig added in v1.4.0

func (cfg *RingConfig) ToLifecyclerConfig() ring.LifecyclerConfig

ToLifecyclerConfig returns a LifecyclerConfig based on the compactor ring config.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL