Référence d'API — nodefony/debugbar
stable
Documentation › Référence d’API › nodefony › debugbar
Générée depuis les déclarations de types publiées de
nodefony10.0.0-beta.5 : exactement ce que reçoit une application qui l’installe. Cette page n’existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.
nodefony/debugbar#
import { … } from "nodefony/debugbar" — 16 symboles.
Classes (3)#
DebugBar#
class DebugBar
Widget DOM. Lazy : ne construit le Shadow DOM qu’au mount(). Idempotent (un seul #nodefony-debugbar par page).
constructor(opts?: DebugBarOptions)mount(): this— Construit le DOM, branche le realtime et ouvre la connexion.unmount(): void— Détache listeners, ferme la connexion (si propriétaire) et retire le DOM.setVisible(v: boolean): void— Affiche/masque la barre (pilotable depuis une app via le handle global).setLive(v: boolean): void— Active/désactive le temps réel (bouton de la barre) + persiste la préférence.
DebugBarModel#
class DebugBarModel
get consoleRequestIds(): ReadonlySet<string> | null— Les requêtes de la console reconnues jusqu’ici, pour écarter AUSSI leurs lignes sans URL (même règle queconsoleRequestIdsdu cœur, tenue au fil de l’eau).setState(state: RealtimeState): voidingestStats(payload: StatsPayload): void— Mémorise le dernier tick stats + alimente les séries/peaks.ingestSyslog(payload: SyslogPayload): number— Comptabilise un batch de logs coalescés (compteurs cumulés + feed).get view(): DebugBarView
NetworkModel#
class NetworkModel
ingest(entry: NetEntry): void— Upsert d’une entrée (pending puis résolue partagent le mêmeid).get(id: number): NetEntry— L’entrée d’id localid, si elle est encore gardée.entries(): NetEntry[]— Entrées récentes (récent → ancien) pour le rendu.get total(): numberget errors(): numberget pending(): numbertotalOf(tooling: boolean): number— Appels observés depuis l’ouverture de la page, l’outillage compris ou non.errorsOf(tooling: boolean): number— Appels en échec gardés, l’outillage compris ou non.pendingOf(tooling: boolean): number— Appels en attente de réponse, l’outillage compris ou non.profileState(requestId: string): ProfileStatesetProfileState(requestId: string, state: ProfileState): voidclear(): void
Fonctions (5)#
computeWaterfall#
function computeWaterfall(phases: ProfilePhase[]): WaterfallBar[]
Calcule le layout proportionnel des phases serveur (waterfall). Pur.
default#
function mountDebugBar(opts?: DebugBarOptions): DebugBar
Monte la debug bar sur la page courante. Idempotent (un seul widget par page). No-op hors navigateur (SSR). Branche un NodefonySocket sur le WS realtime et rend l’overlay live.
isNetworkError#
function isError(e: NetEntry): boolean
Vrai si une entrée est en erreur : échec réseau, statut ≥ 400, ou WebSocket fermé sur un code anormal (1006, 1011… — règle du cœur, accessStatusFamily).
mountDebugBar#
function mountDebugBar(opts?: DebugBarOptions): DebugBar
Monte la debug bar sur la page courante. Idempotent (un seul widget par page). No-op hors navigateur (SSR). Branche un NodefonySocket sur le WS realtime et rend l’overlay live.
phaseTier#
function phaseTier(name: string): string
Mappe un nom de phase vers sa classe de couleur (défaut neutre).
Interfaces (4)#
DebugBarOptions#
interface DebugBarOptions
url?: string— URL/chemin du WS realtime.client?: NodefonySocket— Client realtime injectable (partage / tests).position?: "bottom" | "top"— Position verticale du widget.open?: boolean— Ouvre le panneau au montage.frontend?: DebugBarFrontend— Contexte frontend (active la carte Frontend + la sonde HMR Vite).network?: boolean— Active le panneau Network (interceptefetch/XHR).profilerBase?: string— Base du data-plane profiler.env?: string— Environnement du serveur, connu AU RENDU de la page (development…).page?: { requestId?: string; }— La requête qui a rendu la page, quand le serveur la connaît.
DebugBarView#
interface DebugBarView
Vue dénormalisée consommée par le rendu.
state: RealtimeStateappName: string— Métadonnées app (env, branche git, version) — depuis le blocappdes stats.appVersion: stringenv: stringdebug: booleanbranch: stringcpuPercent: numbercpuPeak: numbercpuCount: numbereventLoopMs: numbereventLoopPeak: numberuptime: numberpid: numberinstanceId: stringloadavg: number[]rss: numberheapUsed: numberheapTotal: numberheapLimit: numberexternal: numberheapPercent: number— heapUsed / heapLimit en %, 0 si limite inconnue.heapPeak: numbercpuSeries: number[]— Séries temporelles (anciens → récents) pour les sparklines.heapSeries: number[]loopSeries: number[]logTotal: number— Total de logs reçus depuis le montage.errorCount: number— Logs de sévérité ≤ 3 (ERROR/CRITIC/ALERT/EMERGENCY).warnCount: number— Logs de sévérité === 4 (WARNING).dropped: number— Logs omis par le coalescing serveur (surcharge).feed: FeedLog[]— Derniers logs (récents en dernier), capés.
NetEntry#
interface NetEntry
Une entrée du panneau Network (1 appel AJAX observé).
id: number— Id local monotone (clé de rendu, ≠ requestId serveur).method: stringurl: stringpath: string— Path seul (sans origin/query) pour l’affichage compact.status: number | nullok: booleandurationMs: number | null— Durée client (ms, envoi → réponse),nulltant que pending.startedAt: numberrequestId: string | null—X-Request-Idde la réponse → clé du profil serveur.traceparent: string | null—traceparentW3C (RFC-propre) de la réponse, pour la corrélation distribuée.pending: boolean— Vrai tant que la réponse n’est pas arrivée.error: string | null— Message d’erreur réseau (fetch rejeté / XHR error), sinonnull.stream?: INetStream— Flux longue durée (WebSocket, flux d’événements) : son cycle.
WaterfallBar#
interface WaterfallBar
Une barre du waterfall (positions en % du span total).
name: stringleftPct: numberwidthPct: numberdurationMs: numbertier: string— Classe de couleur CSS (cf STYLES.wf-<tier>).
Types (4)#
ProfileEntry#
type ProfileEntry = IProfileEntry
ProfilePhase#
type ProfilePhase = IProfilePhase
ProfileQuery#
type ProfileQuery = IProfileQuery
ProfileState#
type ProfileState = { status: "loading"; } | { status: "ready"; profile: ProfileEntry; } | { status: "missing"; } | { status: "error"; message: string; }
État de chargement d’un profil serveur dans le cache.