recorder

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EventRecorder

type EventRecorder interface {
	Eventf(log logr.Logger, apiMetadata api.Metadata, eventType string, reason string, messageFormat string, args ...any)
}

EventRecorder defines an interface for recording events

type EventStore

type EventStore interface {
	ListEvents() []*irievent.Event
}

EventStore defines an interface for listing events

type EventStoreOptions

type EventStoreOptions struct {
	MaxEvents           int
	EventTTL            time.Duration
	EventResyncInterval time.Duration
}

EventStoreOptions defines options to initialize the event store

type Store

type Store struct {
	// contains filtered or unexported fields
}

Store implements the EventRecorder and EventStore interface and represents an in-memory event store with TTL for events.

func NewEventStore

func NewEventStore(log logr.Logger, opts EventStoreOptions) *Store

NewEventStore creates a new EventStore with a fixed number of events and set TTL for events.

func (*Store) Eventf

func (es *Store) Eventf(log logr.Logger, apiMetadata api.Metadata, eventType, reason, messageFormat string, args ...any)

Eventf logs and records an event with formatted message.

func (*Store) ListEvents

func (es *Store) ListEvents() []*irievent.Event

ListEvents returns a copy of all events currently in the store.

func (*Store) Start

func (es *Store) Start(ctx context.Context)

Start initializes and starts the event store's TTL expiration check.

Jump to

Keyboard shortcuts

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