Occurrences
La chronologie durable de chaque front d'occurrence, observé par le juge d'un essai ou par le surveillant Toujours hors essai, avec la condition figée derrière chacun.
L'onglet Occurrences Process de Événements (/events?view=occurrences) est la chronologie durable
de ce qu'ont fait les objets sous essai : une ligne par front d'occurrence, qu'il ait été observé
par le juge d'un essai ou par le surveillant Toujours hors essai. Le voir demande Voir les
événements; l'exporter demande Exporter/importer les historiques. Les occurrences se
définissent par modèle sous Process > Réglage > Occurrences; cet onglet lit
leur historique et ne change rien.
Il suit la conduite commune aux trois chronologies décrite sur Événements : 500 lignes par page avec une pagination dessous, une période, une recherche temporisée, l'actualisation en direct, un seul volet de détail, l'export en CSV et en JSON de toute la période.
Ce qu'est une ligne
Une occurrence est une condition booléenne sur les voies d'un modèle, avec un retard à la montée et un retard à la retombée. Une ligne est l'une des quatre transitions d'une même session d'observation :
| Transition | Sens |
|---|---|
| Activée | La condition est montée et s'est maintenue pendant le retard à la montée. |
| Levée | La condition est retombée et s'est maintenue pendant le retard à la retombée. |
| Indisponible | Une ou plusieurs voies référencées par la condition ont cessé de livrer une valeur. Le juge conserve sa dernière condition confirmée et ne fabrique jamais une levée. |
| Rétablie | Chaque voie référencée livre de nouveau; la condition est évaluée à neuf et son retard repart. |
Chaque ligne dit aussi dans quelle portée elle a été observée et pourquoi sa session a commencé :
| Champ | Valeurs | Sens |
|---|---|---|
| Portée | Essai, Hors essai | Essai : le juge propre à un essai, armé par la procédure; le front est aussi écrit dans le fichier de cet essai. Hors essai : le surveillant Toujours, qui lit les liaisons de l'unité entre deux essais. |
| Motif | Exécution démarrée, Exécution reprise, Surveillance démarrée, Observation hors exécution reprise, Définition modifiée | Pourquoi une nouvelle session d'observation a commencé : un essai a démarré; un essai a repris après un redémarrage de l'application; le surveillant Toujours a démarré pour cette occurrence et cette unité; l'unité est revenue à l'observation hors essai après un essai; ou la condition, les retards, les voies référencées, l'état d'activation ou le mode d'armement ont été modifiés. |
Une nouvelle session part de rien : aucun état de condition, de disponibilité ou d'anti-rebond n'est reporté par-dessus une interruption d'observation, donc une condition déjà vraie peut produire une autre Activée quand un essai démarre ou quand l'application revient, et cette chronologie ne porte aucune ligne synthétique de « session commencée ». Le fichier propre à l'essai enregistre la limite de session même quand aucune transition ne suit; les historiques et les rapports s'en servent pour classer une activation ouverte plus ancienne comme Interrompue. Ce marqueur reste hors de cette chronologie et ne lève aucune notification. Les modifications d'affichage seul (nom, message, gravité) conservent la session et ne changent que les instantanés ultérieurs.
Recherche et filtre
| Contrôle | Valeurs | Ce qu'il fait |
|---|---|---|
| Recherche | Texte d'exemple « Rechercher un nom, un message, un modèle, une unité ou une procédure » | Comparaison « contient » sur le nom de l'occurrence, son message, le nom du modèle, celui de l'unité et celui de la procédure, tels qu'ils ont été figés sur le coup. |
| Gravité | Toutes les gravités (par défaut), Critique, Avertissement, Information | Ne garde que les transitions des occurrences qui portaient cette gravité au moment où elles sont arrivées. |
| Actualiser | Relit le journal; infobulle « Actualiser les occurrences ». | |
| Exporter | Exporter en CSV…, Exporter en JSON… | Écrit les lignes actuellement listées. Dessiné seulement avec Exporter/importer les historiques; grisé tant que la liste est vide. |
Les lignes
| Partie de la ligne | Contenu |
|---|---|
| Heure | Date et heure auxquelles le juge a observé le front (pour un essai, l'horodatage propre à l'échantillon jugé). |
| Point | La teinte de la gravité : critique pour Critique, prudence pour Avertissement, neutre pour Information. |
| Nom | Le nom de l'occurrence sur le coup. |
| Résumé | « Transition · obs. N (Motif) · Modèle / Unité · contexte », où N est le rang du front dans sa session et où le contexte est « Essai · » suivi du nom de la procédure (ou simplement « Essai » quand aucun nom de procédure n'a été enregistré) ou « Hors essai ». Exemple : « Activée · obs. 1 (Exécution démarrée) · Four / Ligne 2 · Essai · Cuisson 180 ». |
| Niveau | Le mot de la gravité. |
Le message que porte une ligne est le message propre à l'occurrence pour Activée et Levée (vide quand la définition n'en a pas, affiché « Aucun message capturé. » dans le volet), et pour les fronts de disponibilité « Signal indisponible : » ou « Signal rétabli : » suivi des noms des voies touchées, séparés par des virgules.
Le volet de détail
Sélectionner une ligne ouvre le volet avec le badge de gravité et le nom, l'horodatage complet, la ligne de résumé, le message et quatre cartes :
| Carte | Champ | Contenu |
|---|---|---|
| ÉVÉNEMENT | Niveau | La gravité. |
| ÉVÉNEMENT | ID d'événement | L'identité de ce front dans le journal. Pour une observation d'essai, c'est le même identifiant que porte le fichier de l'essai. |
| INSTANTANÉ DE L'OCCURRENCE | Transition | Activée, Levée, Indisponible ou Rétablie. |
| INSTANTANÉ DE L'OCCURRENCE | Modèle | Le nom du modèle sur le coup. |
| INSTANTANÉ DE L'OCCURRENCE | Unité | Le nom de l'unité sur le coup. |
| INSTANTANÉ DE L'OCCURRENCE | Portée | Essai ou Hors essai. |
| INSTANTANÉ DE L'OCCURRENCE | Procédure | Seulement pour la portée Essai : le nom de la procédure, ou un tiret quand aucun n'a été enregistré. |
| INSTANTANÉ DE L'OCCURRENCE | ID d'essai | Seulement pour la portée Essai : l'identifiant de l'essai, le même que montrent les historiques. |
| INSTANTANÉ DE L'OCCURRENCE | ID de modèle, ID d'unité, ID d'occurrence | Les identifiants stables derrière les noms, qu'un changement de nom ne touche pas. |
| SESSION D'OBSERVATION | Séquence du journal | Le numéro d'insertion de la ligne dans le journal, qui ordonne les lignes partageant un horodatage. |
| SESSION D'OBSERVATION | ID d'observation | L'identité de la session qui a observé le front; tous les fronts d'une même session le partagent. |
| SESSION D'OBSERVATION | Séquence de transition | Le rang du front dans la session, à partir de 1. Un trou signale un front que le journal n'a pas pu conserver. |
| SESSION D'OBSERVATION | Démarrée | Quand la session a commencé, en horodatage complet. |
| SESSION D'OBSERVATION | Motif | Exécution démarrée, Exécution reprise, Surveillance démarrée, Observation hors exécution reprise ou Définition modifiée. |
| CONFIGURATION FIGÉE | Condition | La condition JavaScript que la session a réellement jugée. |
| CONFIGURATION FIGÉE | Retard à la montée / à la retombée | « x ms / y ms », l'anti-rebond employé par la session. |
| CONFIGURATION FIGÉE | ID des voies référencées | Les identifiants des voies qui conditionnaient la condition, séparés par des points-virgules. |
Copier l'événement copie une seule ligne : « horodatage | Occurrence | gravité | nom | résumé | message | EventId=… | OccurrenceId=… | ObservationId=… | ObservationSequence=… | ObservationStartedAt=… | ObservationReason=… | Condition=… | OnDelayMs=… | OffDelayMs=… | ReferencedChannelIds=… ».
Colonnes de l'export
Le CSV et le JSON portent les mêmes champs, dans cet ordre : Timestamp (l'en-tête du CSV y ajoute
la référence de temps, « Timestamp (UTC-03:00) »), JournalSequence, Severity, Name,
Transition, Scope, Model, ModelId, Unit, UnitId, Procedure, RunId, Message,
EventId, OccurrenceId, ObservationId, ObservationSequence, ObservationStartedAt,
ObservationReason, Condition, OnDelayMs, OffDelayMs et ReferencedChannelIds (séparés par
des points-virgules dans le CSV, un tableau dans le JSON). Le JSON est une enveloppe avec TimeZone
et Events. Les noms de fichiers sont occurrence-history-<yyyyMMdd-HHmmss>.csv et .json. Le CSV
suit la préférence de séparateur décimal de la station comme tous les autres exports : avec le point
décimal, le séparateur de liste est ,; avec la virgule décimale, c'est ;. Une cellule qui
commence par =, +, - ou @ est préfixée d'une apostrophe pour qu'un tableur la lise comme du
texte.
Où une occurrence est enregistrée par ailleurs
Une observation d'essai est d'abord écrite dans le fichier propre à l'essai, puis copiée ici avec le même identifiant d'événement et le contexte de l'essai; si la copie échoue, le fichier de l'essai détient tout de même le front et Console porte une ligne Error qui le dit. Une observation hors essai n'existe qu'ici. Chaque front laisse aussi une ligne de Console sous le domaine Process : une activation au niveau de sa gravité (Critique en erreur, Avertissement en avertissement, Information en information), une perte de signal au même niveau, une levée et un rétablissement en information. Une activation lève en plus une notification dans la fenêtre, intitulée « Occurrence · » suivi du nom de l'unité et, pour une activation Avertissement ou Critique observée pendant un essai, une notification du système d'exploitation tant que la fenêtre est masquée ou réduite.
États vides et ligne d'état
- « Rien encore dans les occurrences de Process » avec « Les transitions d'occurrence, venues des essais et de la surveillance permanente hors essai, apparaîtront ici. »
- « Rien dans les occurrences de Process ne correspond à ces filtres » avec « Ajustez la gravité ou les termes de recherche pour élargir cet historique. »
- La ligne d'état indique « N affichés · page 1 », puis « · filtrées » quand une recherche, une gravité ou une période est en vigueur; à droite, « 1 sélectionnée » et « Mise à jour hh:mm:ss ».
Ce que l'onglet Occurrences ne fait pas
- Il ne définit, n'arme ni ne modifie aucune occurrence (Process > Réglage > Occurrences).
- Il n'apparie pas les fronts en épisodes avec leur durée : cette vue dérivée, avec ses classements Interrompu et Incomplet, se trouve dans Historiques pour un essai et sur les volets propres à l'unité.
- Il n'a ni filtre d'unité, ni filtre d'essai, ni filtre de portée, ni filtre de date; cherchez par le nom de l'unité, du modèle ou de la procédure, ou ouvrez l'essai dans les historiques.
- Il ne montre aucun état en direct : savoir si une occurrence est active en ce moment se lit sur le volet de l'unité, pas ici.