timing

package
v0.49.0 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package timing turns ledger events into the active time a run spent in a step: the window between two step boundaries, minus every wait on the user inside it. It never reports a wall duration: a window it cannot bound, or one an unended wait runs into, yields nothing rather than a guess.

Index

Constants

View Source
const (
	Plan      = "plan"
	Implement = "implement"
)

The steps windows are measured for.

Variables

This section is empty.

Functions

func Claim

func Claim(e ledger.Event) (string, string, string)

Claim reads a `state_set` row's arguments: `ship running implement` is phase ship, status running, leaf implement. Empty for any other row.

Types

type Window

type Window struct {
	Task    string
	Session string
	Step    string
	From    time.Time
	To      time.Time
	Active  time.Duration
}

Window is one stretch of a step in one session.

func Windows

func Windows(events []ledger.Event) []Window

Windows is every bounded plan and implement window, oldest first by end. A plan run counts to the plan it saves; a ship step from the claim entering it to the claim leaving it (next step, stop, backstop, next run). A plan claimed `prior` or `skipped` was never planned here.

Jump to

Keyboard shortcuts

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