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 ¶
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 )
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 ¶
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 ¶
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.