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

state

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package state conserve localement le dernier diagnostic, déjà masqué, pour l'approfondissement et la détection des répétitions.

Index

Constants

View Source
const (
	// SchemaVersion est la version du format du fichier d'état.
	SchemaVersion = 2
	// RepeatWindow est la durée pendant laquelle une même erreur est considérée comme répétée.
	RepeatWindow = 10 * time.Minute
)
View Source
const MaxStderr = 64 << 10

MaxStderr est la taille maximale du message d'origine conservé (on garde la fin).

Variables

This section is empty.

Functions

func DefaultDir

func DefaultDir(env func(string) string) string

DefaultDir renvoie $XDG_STATE_HOME/telemach, ou ~/.local/state/telemach par défaut.

Types

type LastDiagnosis

type LastDiagnosis struct {
	SchemaVersion int
	Fingerprint   string
	EntryID       string
	Captures      map[string]string
	RecordedAt    time.Time

	// Données nécessaires pour réafficher l'explication complète (docker telemach last).
	MatchedEntryID string // entrée reconnue dans le message Docker (EntryID peut désigner un problème Compose)
	Origin         string
	Confidence     string
	ExitCode       int
	Interactive    bool
	DockerVersion  string
	Stderr         string
	Family         string
	Subcommand     string
	ComposeDir     string
	ComposeFiles   []string
}

LastDiagnosis est le dernier diagnostic. Toutes les données textuelles (captures, message d'origine) sont déjà nettoyées et masquées avant d'arriver ici.

type Store

type Store struct {
	Dir string
}

Store lit et écrit l'état dans un répertoire privé.

func (Store) IsRepeat

func (s Store) IsRepeat(fingerprint string, now time.Time) bool

IsRepeat indique si l'empreinte est identique à celle du dernier diagnostic, enregistré il y a moins de RepeatWindow.

func (Store) Load

func (s Store) Load() (LastDiagnosis, bool)

Load lit le dernier diagnostic. Un fichier absent, illisible ou d'un schéma inconnu est ignoré sans erreur.

func (Store) Save

func (s Store) Save(d LastDiagnosis) error

Save écrit le diagnostic de façon atomique (fichier temporaire puis renommage), avec les droits 0700 pour le répertoire et 0600 pour le fichier.

Jump to

Keyboard shortcuts

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