Performance Timeline API
L'API Performance Timeline définit des extensions de l'interface Performance
pour prendre en charge les mesures de latence côté client dans les applications. Ces extensions fournissent des interfaces permettant de récupérer les paramètres de saisie des performances en fonction de critères de filtrage spécifiques.
La norme comprend également des interfaces qui permettent à une application de définir des retours (« callbacks ») d'observateur des performances, qui sont notifiés lorsque des événements de performance spécifiques sont ajoutés à la chronologie des performances du navigateur.
Ce document fournit un aperçu des interfaces de la norme. Pour plus de détails sur les interfaces, voir les pages de référence et Utilisation de Performance Timeline.
Note: Cette fonctionnalité est disponible via les Web Workers
Extensions de Performance
L'API Performance Timeline étend l'interface Performance
avec trois méthodes qui fournissent différents mécanismes pour obtenir un ensemble d'enregistrements des performances (métriques), en fonction des critères de filtrage spécifiés. Ces méthodes sont les suivantes :
getEntries()
-
Renvoie toutes les entrées de performances enregistrées ou, éventuellement, les entrées basées sur les
name
, type de performance et/ou lesinitiatorType
spécifiés. (tel qu'un élément HTML). getEntriesByName()
-
Renvoie les entrées de performances enregistrées en fonction du
name
spécifié et éventuellement du type de performance. getEntriesByType()
-
Renvoie les entrées de perfornances enregistrées en fonction des types de performances spécifiés.
L'interface PerformanceEntry
L'interface PerformanceEntry
encapsule une unique entrée de performance, c'est-à-dire un point de donnée ou une métrique située sur la chronologie des performances. Cette interface possède quatre propriétés ; ces propriétés sont étendues (avec des contraintes supplémentaires) par d'autres interfaces (telles que PerformanceMark
) :
name
-
Le nom de l'entrée de performance lorsque la métrique a été créée.
entryType
-
Le type de mesure de performance (par exemple, «
mark
»). startTime
-
Un horodatage haute résolution représentant l'heure de départ de l'entrée de performance.
duration
-
Un horodatage haute résolution représentant la valeur temporelle de la durée de l'événement de performance (certains types d'entrée de performance n'ont pas de concept de durée et cette valeur est fixée à
'0'
pour ces types).
Cette interface comprend une méthode toJSON()
qui renvoie la sérialisation de l'objet PerformanceEntry
. La sérialisation varie selon le type de performance.
Observateurs des performances
Experimental: Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.
Les interfaces d'observateurs de performance permettent à une application d'enregistrer un observateur pour des types d'événements de performance spécifiques. Lorsqu'un de ces types d'événements est enregistré, l'application est notifiée de l'événement via la fonction de rappel de l'observateur qui a été spécifiée lors de la création de l'observateur.
Lorsque la fonction de rappel de l'observateur (callback) est invoquée, les paramètres incluent une liste des entrées de l'observateur de performance qui contient uniquement des entrées de performance observées. C'est-à-dire que la liste contient uniquement des entrées pour les types d'événements qui ont été spécifiés lorsque la méthode observe()
de l'observateur a été invoquée. L'interface PerformanceObserverEntryList
possède les trois mêmes méthodes getEntries*()
que l'interface Performance
. Cependant, notez qu'il y a une différence clé avec ces méthodes ; les versions PerformanceObserverEntryList
sont utilisées pour récupérer les entrées de performance observées dans le rappel de l'observateur.
Outre la méthode observe()
de l'interface PerformanceObserver
(qui sert à enregistrer les types d'entrées pour observer), l'interface PerformanceObserver
possède également une méthode disconnect()
qui empêche un observateur de recevoir d'autres événements.
Note : Les observateurs de performance ont été ajoutés au Niveau 2
de la norme et n'ont pas été implémentés à grande échelle.
État de la mise en œuvre
Un résumé de l'état de mise en œuvre des interfaces est fourni ci-dessous, avec un lien vers des informations plus détaillées.
- Les extensions de l'interface
Performance
: Comme le montre le tableau de Compatibilité des navigateurs de l'interfacePerformance
, la plupart de ces interfaces sont largement prises en charge par les navigateurs de bureau et bénéficient d'un support moindre sur les appareils mobiles. PerformanceEntry
: Comme le montre le tableau de Compatibilité des navigateurs de l'interfacePerformanceEntry
, la plupart de ces interfaces sont largement prises en charge par les navigateurs de bureau et le sont moins sur les appareils mobiles.PerformanceObserver
Expérimental : Comme le montre le tableau de Compatibilité des navigateurs de l'interfacePerformanceObserver
, cette interface n'est pas implémentée par les navigateurs.
Pour tester la prise en charge de ces interfaces par votre navigateur, vous pouvez exécuter l'application perf-api-support
.