Documentation ¶
Index ¶
- Variables
- func TenantMiddleware(limits Limits, next http.Handler) http.Handler
- type CompactorClient
- type DeleteRequest
- type DeleteRequestClientMetrics
- type DeleteRequestHandler
- func (dm *DeleteRequestHandler) AddDeleteRequestHandler(w http.ResponseWriter, r *http.Request)
- func (dm *DeleteRequestHandler) CancelDeleteRequestHandler(w http.ResponseWriter, r *http.Request)
- func (dm *DeleteRequestHandler) GetAllDeleteRequestsHandler(w http.ResponseWriter, r *http.Request)
- func (dm *DeleteRequestHandler) GetCacheGenerationNumberHandler(w http.ResponseWriter, r *http.Request)
- type DeleteRequestStatus
- type DeleteRequestsClient
- type DeleteRequestsManager
- func (d *DeleteRequestsManager) DropFromIndex(_ retention.ChunkEntry, _ model.Time, _ model.Time) bool
- func (d *DeleteRequestsManager) Expired(ref retention.ChunkEntry, _ model.Time) (bool, filter.Func)
- func (d *DeleteRequestsManager) IntervalMayHaveExpiredChunks(_ model.Interval, userID string) bool
- func (d *DeleteRequestsManager) MarkPhaseFailed()
- func (d *DeleteRequestsManager) MarkPhaseFinished()
- func (d *DeleteRequestsManager) MarkPhaseStarted()
- func (d *DeleteRequestsManager) MarkPhaseTimedOut()
- func (d *DeleteRequestsManager) Stop()
- type DeleteRequestsStore
- type DeleteRequestsStoreOption
- type GRPCRequestHandler
- type Limits
Constants ¶
This section is empty.
Variables ¶
var ErrDeleteRequestNotFound = errors.New("could not find matching delete requests")
Functions ¶
Types ¶
type CompactorClient ¶
type DeleteRequest ¶
type DeleteRequest struct { RequestID string `json:"request_id"` StartTime model.Time `json:"start_time"` EndTime model.Time `json:"end_time"` Query string `json:"query"` Status DeleteRequestStatus `json:"status"` CreatedAt model.Time `json:"created_at"` UserID string `json:"-"` SequenceNum int64 `json:"-"` Metrics *deleteRequestsManagerMetrics `json:"-"` DeletedLines int32 `json:"-"` // contains filtered or unexported fields }
func (*DeleteRequest) FilterFunction ¶
FilterFunction returns a filter function that returns true if the given line should be deleted based on the DeleteRequest
func (*DeleteRequest) IsDeleted ¶
func (d *DeleteRequest) IsDeleted(entry retention.ChunkEntry) (bool, filter.Func)
IsDeleted checks if the given ChunkEntry will be deleted by this DeleteRequest. It returns a filter.Func if the chunk is supposed to be deleted partially or the delete request contains line filters. If the filter.Func is nil, the whole chunk is supposed to be deleted.
func (*DeleteRequest) SetQuery ¶
func (d *DeleteRequest) SetQuery(logQL string) error
type DeleteRequestClientMetrics ¶
type DeleteRequestClientMetrics struct {
// contains filtered or unexported fields
}
func NewDeleteRequestClientMetrics ¶
func NewDeleteRequestClientMetrics(r prometheus.Registerer) *DeleteRequestClientMetrics
type DeleteRequestHandler ¶
type DeleteRequestHandler struct {
// contains filtered or unexported fields
}
DeleteRequestHandler provides handlers for delete requests
func NewDeleteRequestHandler ¶
func NewDeleteRequestHandler(deleteStore DeleteRequestsStore, maxInterval time.Duration, registerer prometheus.Registerer) *DeleteRequestHandler
NewDeleteRequestHandler creates a DeleteRequestHandler
func (*DeleteRequestHandler) AddDeleteRequestHandler ¶
func (dm *DeleteRequestHandler) AddDeleteRequestHandler(w http.ResponseWriter, r *http.Request)
AddDeleteRequestHandler handles addition of a new delete request
func (*DeleteRequestHandler) CancelDeleteRequestHandler ¶
func (dm *DeleteRequestHandler) CancelDeleteRequestHandler(w http.ResponseWriter, r *http.Request)
CancelDeleteRequestHandler handles delete request cancellation
func (*DeleteRequestHandler) GetAllDeleteRequestsHandler ¶
func (dm *DeleteRequestHandler) GetAllDeleteRequestsHandler(w http.ResponseWriter, r *http.Request)
GetAllDeleteRequestsHandler handles get all delete requests
func (*DeleteRequestHandler) GetCacheGenerationNumberHandler ¶
func (dm *DeleteRequestHandler) GetCacheGenerationNumberHandler(w http.ResponseWriter, r *http.Request)
GetCacheGenerationNumberHandler handles requests for a user's cache generation number
type DeleteRequestStatus ¶
type DeleteRequestStatus string
const ( StatusReceived DeleteRequestStatus = "received" StatusProcessed DeleteRequestStatus = "processed" DeleteRequestsTableName = "delete_requests" )
type DeleteRequestsClient ¶
type DeleteRequestsClient interface { GetAllDeleteRequestsForUser(ctx context.Context, userID string) ([]DeleteRequest, error) Stop() }
func NewDeleteRequestsClient ¶
func NewDeleteRequestsClient(compactorClient CompactorClient, deleteClientMetrics *DeleteRequestClientMetrics, clientType string, opts ...DeleteRequestsStoreOption) (DeleteRequestsClient, error)
func NewPerTenantDeleteRequestsClient ¶
func NewPerTenantDeleteRequestsClient(c DeleteRequestsClient, l Limits) DeleteRequestsClient
type DeleteRequestsManager ¶
type DeleteRequestsManager struct {
// contains filtered or unexported fields
}
func NewDeleteRequestsManager ¶
func NewDeleteRequestsManager(store DeleteRequestsStore, deleteRequestCancelPeriod time.Duration, batchSize int, limits Limits, registerer prometheus.Registerer) *DeleteRequestsManager
func (*DeleteRequestsManager) DropFromIndex ¶
func (d *DeleteRequestsManager) DropFromIndex(_ retention.ChunkEntry, _ model.Time, _ model.Time) bool
func (*DeleteRequestsManager) Expired ¶
func (d *DeleteRequestsManager) Expired(ref retention.ChunkEntry, _ model.Time) (bool, filter.Func)
func (*DeleteRequestsManager) IntervalMayHaveExpiredChunks ¶
func (d *DeleteRequestsManager) IntervalMayHaveExpiredChunks(_ model.Interval, userID string) bool
func (*DeleteRequestsManager) MarkPhaseFailed ¶
func (d *DeleteRequestsManager) MarkPhaseFailed()
func (*DeleteRequestsManager) MarkPhaseFinished ¶
func (d *DeleteRequestsManager) MarkPhaseFinished()
func (*DeleteRequestsManager) MarkPhaseStarted ¶
func (d *DeleteRequestsManager) MarkPhaseStarted()
func (*DeleteRequestsManager) MarkPhaseTimedOut ¶
func (d *DeleteRequestsManager) MarkPhaseTimedOut()
func (*DeleteRequestsManager) Stop ¶
func (d *DeleteRequestsManager) Stop()
type DeleteRequestsStore ¶
type DeleteRequestsStore interface { AddDeleteRequestGroup(ctx context.Context, req []DeleteRequest) ([]DeleteRequest, error) GetDeleteRequestsByStatus(ctx context.Context, status DeleteRequestStatus) ([]DeleteRequest, error) GetAllDeleteRequestsForUser(ctx context.Context, userID string) ([]DeleteRequest, error) UpdateStatus(ctx context.Context, req DeleteRequest, newStatus DeleteRequestStatus) error GetDeleteRequestGroup(ctx context.Context, userID, requestID string) ([]DeleteRequest, error) RemoveDeleteRequests(ctx context.Context, req []DeleteRequest) error GetCacheGenerationNumber(ctx context.Context, userID string) (string, error) Stop() Name() string }
func NewDeleteStore ¶
func NewDeleteStore(workingDirectory string, indexStorageClient storage.Client) (DeleteRequestsStore, error)
NewDeleteStore creates a store for managing delete requests.
func NewNoOpDeleteRequestsStore ¶
func NewNoOpDeleteRequestsStore() DeleteRequestsStore
type DeleteRequestsStoreOption ¶
type DeleteRequestsStoreOption func(c *deleteRequestsClient)
func WithRequestClientCacheDuration ¶
func WithRequestClientCacheDuration(d time.Duration) DeleteRequestsStoreOption
type GRPCRequestHandler ¶
type GRPCRequestHandler struct {
// contains filtered or unexported fields
}
func NewGRPCRequestHandler ¶
func NewGRPCRequestHandler(deleteRequestsStore DeleteRequestsStore, limits Limits) *GRPCRequestHandler
func (*GRPCRequestHandler) GetCacheGenNumbers ¶
func (g *GRPCRequestHandler) GetCacheGenNumbers(ctx context.Context, _ *grpc.GetCacheGenNumbersRequest) (*grpc.GetCacheGenNumbersResponse, error)
func (*GRPCRequestHandler) GetDeleteRequests ¶
func (g *GRPCRequestHandler) GetDeleteRequests(ctx context.Context, _ *grpc.GetDeleteRequestsRequest) (*grpc.GetDeleteRequestsResponse, error)