eventlog

package
v0.7.169 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Event

type Event struct {
	Ts          time.Time `json:"ts"`
	SidecarID   string    `json:"sidecar_id,omitempty"`
	SidecarName string    `json:"sidecar_name,omitempty"`
	Branch      string    `json:"branch,omitempty"`
	Op          Op        `json:"op"`
	Level       string    `json:"level"` // "step", "info", "warn", "done", "error"
	Msg         string    `json:"msg"`

	// Final marks the one event that closes an operation, with Passed and Total
	// carrying its tally. A reader tells a finished operation from one still in
	// flight by this, never by reading Msg.
	Final  bool `json:"final,omitempty"`
	Passed int  `json:"passed,omitempty"`
	Total  int  `json:"total,omitempty"`
}

Event is a single status event written to the log.

func (Event) Outcome added in v0.7.169

func (e Event) Outcome() (passed, total int, ok bool)

Outcome reports whether e is the event that closes an operation, and the tally to show for it.

type Log

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

Log appends events to a JSONL file in a project data directory.

func Open

func Open(dataDir string) (*Log, error)

Open opens (or creates) the event log in dataDir, trimming if too large.

func (*Log) Append

func (l *Log) Append(e Event) error

Append writes a single event to the log.

func (*Log) Recent

func (l *Log) Recent(n int) ([]Event, error)

Recent returns up to n most recent events from the log.

func (*Log) Recorder added in v0.7.169

func (l *Log) Recorder(inner iostream.StatusFunc, op Op, sidecarID, sidecarName, branch string) *Recorder

Recorder returns a Recorder that reports through inner and appends each call to the log, tagged with op, sidecarID, sidecarName, and branch.

func (*Log) TailFrom

func (l *Log) TailFrom(offset int64) ([]Event, int64, error)

TailFrom returns events appended after offset, and the updated offset.

type Op

type Op string

Op identifies the kind of operation that generated an event.

const (
	OpSync     Op = "sync"
	OpValidate Op = "validate"
	OpExec     Op = "exec"
	OpSetup    Op = "setup"
	OpHook     Op = "hook"
)

Op values for each sidecar operation type.

type Recorder added in v0.7.169

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

Recorder reports status through inner and records it in the log, tagging every event with the operation it belongs to. Status records an ordinary event; Final records the one that closes the operation.

func Record added in v0.7.169

func Record(dataDir string, fn iostream.StatusFunc, op Op, sidecarID, sidecarName, branch string) *Recorder

Record returns a Recorder writing to the log in dataDir. Errors opening the log are silently ignored (best-effort; never blocks) and the Recorder then only reports through fn.

func (*Recorder) Final added in v0.7.169

func (r *Recorder) Final(level iostream.Level, msg string, passed, total int)

Final reports the event that closes the operation, tallying the commands that passed out of those attempted. Both are zero when the operation failed before running anything.

func (*Recorder) Status added in v0.7.169

func (r *Recorder) Status(level iostream.Level, msg string)

Status reports an ordinary event, one that leaves the operation open.

Jump to

Keyboard shortcuts

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