Versions in this module Expand all Collapse all v0 v0.0.1 Mar 6, 2022 Changes in this version + const DefaultDBFile + const DefaultDataDir + const DefaultSleepSeconds + const DefaultTimeFormat + const EventSize + func PrintVersion() + func ProcessBootTime() time.Time + func StrftimeToGo(cFormat string) (goFormat string, err error) + func SystemBootTime() (time.Time, error) + type Daemon struct + func NewDaemon(dataStore DataStore, database EventWriter, sleep time.Duration) *Daemon + func NewDaemonWithClock(dataStore DataStore, database EventWriter, sleep time.Duration, ...) *Daemon + func (d Daemon) Init(bootTime time.Time, timeFormat string) error + func (d Daemon) Run(ctx context.Context) error + type DataDir struct + func NewDataDir(dir string) (*DataDir, error) + func (dd DataDir) GetBoot() (time.Time, error) + func (dd DataDir) GetShutdown() (time.Time, error) + func (dd DataDir) GetStamp() (time.Time, error) + func (dd DataDir) SetBoot(t time.Time) error + func (dd DataDir) SetShutdown(t time.Time) error + func (dd DataDir) SetStamp(t time.Time) error + type DataStore interface + GetBoot func() (time.Time, error) + GetShutdown func() (time.Time, error) + GetStamp func() (time.Time, error) + SetBoot func(t time.Time) error + SetShutdown func(t time.Time) error + SetStamp func(t time.Time) error + type DatabaseReader struct + func NewDatabaseReader(reader io.ReadSeeker) *DatabaseReader + func OpenDatabaseReader(filepath string) (*DatabaseReader, error) + func (db *DatabaseReader) All() ([]Event, error) + func (db *DatabaseReader) Close() error + func (db *DatabaseReader) Next() (Event, error) + func (db *DatabaseReader) Reset() error + func (db *DatabaseReader) Since(after time.Time) ([]Event, error) + type DatabaseWriter struct + func NewDatabaseWriter(writer io.Writer) *DatabaseWriter + func (db *DatabaseWriter) Append(event Event) error + func (db *DatabaseWriter) Close() error + type Event struct + What EventType + When UnixTimestamp + func NewEvent(what EventType, when time.Time) Event + func (e Event) String() string + type EventReader interface + All func() ([]Event, error) + Next func() (Event, error) + Reset func() error + Since func(after time.Time) ([]Event, error) + type EventType uint8 + const EventTypeCrash + const EventTypeNone + const EventTypeShutdown + const EventTypeUp + func ParseEventType(name string) (EventType, error) + func (x *EventType) UnmarshalText(text []byte) error + func (x EventType) MarshalText() ([]byte, error) + func (x EventType) String() string + type EventWriter interface + Append func(event Event) error + type UnixTimestamp int64 + func (ut UnixTimestamp) AsTime() time.Time + func (ut UnixTimestamp) String() string