Help us shape the future of Go! Take the 2026 Go Developer Survey

sqlite

package
v1.58.8 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2026 License: MPL-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CleanConfig added in v1.58.6

type CleanConfig struct {
	// MaxBytesPerApp is one app's budget.
	MaxBytesPerApp int64

	// MaxBytesTotal bounds every app together, so the ceiling does not grow with
	// the number of apps on the machine. Zero disables it.
	MaxBytesTotal int64

	// MinTracesKept is how many of an app's newest traces survive whatever their size.
	MinTracesKept int

	// BatchSize caps how many traces one sweep deletes per app.
	BatchSize int

	// KnownApps reports the apps the daemon still knows about, under every id
	// their traces may be recorded as. Traces belonging to any other app are
	// dropped. Nil, an error, or an empty result skips the prune.
	KnownApps func() ([]string, error)
}

CleanConfig bounds how much trace data the daemon keeps on disk. Sizes are measured over trace_event alone; it holds the payloads and dominates.

type Store

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

func New

func New(db *sql.DB) *Store

New creates a new store backed by the given db.

func (*Store) CleanEvery added in v1.50.2

func (s *Store) CleanEvery(ctx context.Context, freq time.Duration, cfg CleanConfig)

func (*Store) Clear added in v1.40.0

func (s *Store) Clear(ctx context.Context, appID string) error

func (*Store) DoClean added in v1.50.2

func (s *Store) DoClean(ctx context.Context, cfg CleanConfig) error

DoClean drops traces the daemon no longer needs: those of apps it has forgotten, then each app's oldest until it fits MaxBytesPerApp, then whole apps oldest-first until everything fits MaxBytesTotal. Deleted pages go to SQLite's freelist, so this bounds where the file settles, it does not shrink it.

func (*Store) Get

func (s *Store) Get(ctx context.Context, appID, traceID string, iter trace2.EventIterator) error

func (*Store) GetEvents added in v1.54.0

func (s *Store) GetEvents(ctx context.Context, appID, traceID, spanID string) ([]*tracepb2.TraceEvent, error)

func (*Store) GetSpanSummaries added in v1.54.0

func (s *Store) GetSpanSummaries(ctx context.Context, appID, traceID string) ([]*tracepb2.SpanSummary, error)

func (*Store) List

func (s *Store) List(ctx context.Context, q *trace2.Query, iter trace2.ListEntryIterator) error

func (*Store) Listen

func (s *Store) Listen(ch chan<- trace2.NewSpanEvent)

func (*Store) WriteEvents

func (s *Store) WriteEvents(ctx context.Context, meta *trace2.Meta, events []*tracepbcli.TraceEvent) error

Jump to

Keyboard shortcuts

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