Documentation ¶
Index ¶
- Variables
- type Config
- type Ingester
- func (i *Ingester) CheckReady(ctx context.Context) error
- func (i *Ingester) FindTraceByID(ctx context.Context, req *tempopb.TraceByIDRequest) (*tempopb.TraceByIDResponse, error)
- func (i *Ingester) Flush()
- func (i *Ingester) FlushHandler(w http.ResponseWriter, _ *http.Request)
- func (i *Ingester) Push(ctx context.Context, req *tempopb.PushRequest) (*tempopb.PushResponse, error)
- func (i *Ingester) PushBytes(ctx context.Context, req *tempopb.PushBytesRequest) (*tempopb.PushResponse, error)
- func (i *Ingester) ShutdownHandler(w http.ResponseWriter, _ *http.Request)
- func (i *Ingester) TransferOut(ctx context.Context) error
- type Limiter
- type RingCount
Constants ¶
This section is empty.
Variables ¶
var ErrReadOnly = errors.New("Ingester is shutting down")
ErrReadOnly is returned when the ingester is shutting down and a push was attempted.
var (
ErrTraceMissing = errors.New("Trace missing")
)
Errors returned on Query.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { LifecyclerConfig ring.LifecyclerConfig `yaml:"lifecycler,omitempty"` ConcurrentFlushes int `yaml:"concurrent_flushes"` FlushCheckPeriod time.Duration `yaml:"flush_check_period"` FlushOpTimeout time.Duration `yaml:"flush_op_timeout"` MaxTraceIdle time.Duration `yaml:"trace_idle_period"` MaxBlockDuration time.Duration `yaml:"max_block_duration"` MaxBlockBytes uint64 `yaml:"max_block_bytes"` CompleteBlockTimeout time.Duration `yaml:"complete_block_timeout"` OverrideRingKey string `yaml:"override_ring_key"` }
Config for an ingester.
type Ingester ¶
Ingester builds blocks out of incoming traces
func (*Ingester) FindTraceByID ¶
func (i *Ingester) FindTraceByID(ctx context.Context, req *tempopb.TraceByIDRequest) (*tempopb.TraceByIDResponse, error)
FindTraceByID implements tempopb.Querier.f
func (*Ingester) Flush ¶
func (i *Ingester) Flush()
Flush triggers a flush of all in memory traces to disk. This is called by the lifecycler on shutdown and will put our traces in the WAL to be replayed.
func (*Ingester) FlushHandler ¶
func (i *Ingester) FlushHandler(w http.ResponseWriter, _ *http.Request)
FlushHandler calls sweepAllInstances(true) which will force push all traces into the WAL and force
mark all head blocks as ready to flush.
func (*Ingester) Push ¶
func (i *Ingester) Push(ctx context.Context, req *tempopb.PushRequest) (*tempopb.PushResponse, error)
Push implements tempopb.Pusher.Push (super deprecated)
func (*Ingester) PushBytes ¶ added in v0.5.0
func (i *Ingester) PushBytes(ctx context.Context, req *tempopb.PushBytesRequest) (*tempopb.PushResponse, error)
PushBytes implements tempopb.Pusher.PushBytes
func (*Ingester) ShutdownHandler ¶ added in v0.7.0
func (i *Ingester) ShutdownHandler(w http.ResponseWriter, _ *http.Request)
ShutdownHandler handles a graceful shutdown for an ingester. It does the following things in order * Stop incoming writes by exiting from the ring * Flush all blocks to backend
type Limiter ¶
type Limiter struct {
// contains filtered or unexported fields
}
Limiter implements primitives to get the maximum number of traces an ingester can handle for a specific tenant
func NewLimiter ¶
NewLimiter makes a new limiter