telemetry: schema-first event registry (typed catalog + generated docs)
Les mainteneurs répondent en général sous 2 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 32/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- typescript
- Domaine
- observability-sre
Piste de recherche
Commencez par lire src/instrumentation/CONVENTIONS.md, les fichiers propres à chaque domaine sous src/instrumentation/* et src/instrumentation/EVENTS.md. Suivez TelemetryService.trace/log/logError, Span et leurs tests afin de comprendre le typage actuel des événements et des propriétés. Le travail est terminé lorsque la conception de registre choisie est implémentée, que l’instrumentation et les tests sont mis à jour, et que le EVENTS.md généré réussit son contrôle de fraîcheur CI.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
Telemetry events, properties, and value unions are declared per-domain in src/instrumentation/* and documented by hand in src/instrumentation/EVENTS.md. Nothing structurally prevents:
- emitting an event name that isn't cataloged anywhere,
- adding/renaming a property without updating the docs,
- drifting from the conventions in
src/instrumentation/CONVENTIONS.md(a recent audit found camelCase keys, kebab-case enum values, and caller-setresultthat review missed).
Proposal
Adopt a schema-first registry as the single source of truth for the telemetry surface, the way OTel itself defines semantic conventions in a registry and generates code + docs from it (Weaver).
TS-native sketch:
- A central
TelemetryEventMapinterface declaring every event with its properties and measurements (value unions spelled out). TelemetryService.trace/log/logErrorconstrained tokeyof TelemetryEventMap;Spanbecomes generic (Span<E>) sosetProperty/setMeasurementkeys and values are type-checked per event. An undeclared event or attribute key becomes a compile error.EVENTS.mdgenerated from the registry (script walking the interface + JSDoc), with a CI--checkmode so the doc can never go stale.
Known costs / open questions
- Every instrumentation class and its tests are touched by the
Span<E>generic. - Phase names compose at runtime (
parent.child), so child phases need registry entries or looser typing. - The registry partially duplicates per-domain unions the instrumentation classes already export; decide whether the registry imports those types or replaces them.
Cheaper interim guards (could land independently)
- Type the event-name parameter of
TelemetryService.trace/logas a union of registered names (names are already top-level string literals; near-zero churn). - ESLint restriction banning raw
telemetry.trace(/.log(outsidesrc/instrumentation(the layering rule from CONVENTIONS.md). - Golden event catalog aggregated from the test suite's sinks, checked like the existing OTLP goldens.
- Langage dominant
- TypeScript
- Étoiles
- 132
- Forks
- 48
- Merge moyen
- 2 j 4 h
- PR mergées (30 j)
- 25
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de coder/vscode-coder
-
ReconnectingWebSocket drops messages the server sends right after the handshakePeut-être pris @EhabY l’a pris il y a 1 jour. Ouvertebug vs-code
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
coder/vscode-coder#1141 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
-
Split commands.ts by topicPeut-être pris @EhabY l’a pris il y a 1 jour. OuverteImprovement tech-debt vs-code
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
coder/vscode-coder#1135 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
-
Migrate CI setup to pnpm/setupPeut-être pris @EhabY l’a pris il y a 25 jours. Ouvertetech-debt
coder/vscode-coder#1119 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
-
Design the VS Code Workspaces panelPeut-être à nouveau libre @chrifro l’a pris il y a 28 jours, et aucune pull request n’est ouverte. Ouverte
coder/vscode-coder#1113 · 3 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
-
bug upstream
Difficulté 4/5 3-5 jours Accessibilité débutants 42/100
coder/vscode-coder#1087 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de coder/vscode-coder
Issues similaires
-
e2e-failure ready-to-code
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
redhat-developer/rhdh-plugin-export-overlays#4391 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
Luligu/matterbridge#655 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
software-mansion/argent#1457 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
schmayterling/hibi#245 ·
Les mainteneurs répondent en général sous 1 jour
-
After a failed save, the red error banner stays on every page until the app is reloadedPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverteai-driven-qa bug claude Minor
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
linagora/twake-contacts-frontend#241 ·
Les mainteneurs répondent en général sous 1 jour