PerformanceServerTiming
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2023.
Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.
L'interface PerformanceServerTiming présente des métriques de serveur qui sont envoyées avec la réponse dans l'en-tête Server-Timing dans l'en-tête HTTP.
Cette interface est limitée à la même origine, mais vous pouvez utiliser l'en-tête Timing-Allow-Origin pour spécifier les domaines qui sont autorisés à accéder aux paramètres du serveur. Notez que cette interface n'est disponible que dans des contextes sécurisés (HTTPS) dans certains navigateurs.
Note : Cette fonctionnalité est disponible via les Web Workers.
Propriétés
PerformanceServerTiming.descriptionLecture seule-
Une chaîne de caractères
DOMStringdécrivant la métrique spécifiée par le serveur, ou une chaîne vide. PerformanceServerTiming.durationLecture seule-
Un double qui contient la durée de la métrique spécifiée par le serveur, ou la valeur
0.0. PerformanceServerTiming.nameLecture seule-
Une chaîne de caractères
DOMStringavec le nom de la métrique spécifiée par le serveur.
Méthodes
PerformanceServerTiming.toJSON()-
Retourne une chaîne de caractères
DOMStringqui est la représentation JSON de l'objetPerformanceServerTiming.
Exemple
Étant donné un serveur qui envoie l'en-tête Server-Timing, par exemple un serveur node.js comme celui-ci :
const http = require("http");
function requestHandler(request, response) {
const headers = {
"Server-Timing": `
cache;desc="Cache Read";dur=23.2,
db;dur=53,
app;dur=47.2
`.replace(/\n/g, ""),
};
response.writeHead(200, headers);
response.write("");
return setTimeout((_) => {
response.end();
}, 1000);
}
http.createServer(requestHandler).listen(3000).on("error", console.error);
Les entrées PerformanceServerTiming sont désormais observables depuis JavaScript via la propriété PerformanceResourceTiming.serverTiming :
let entries = performance.getEntriesByType("resource");
console.log(entries[0].serverTiming);
// 0: PerformanceServerTiming {name: "cache", duration: 23.2, description: "Cache Read"}
// 1: PerformanceServerTiming {name: "db", duration: 53, description: ""}
// 2: PerformanceServerTiming {name: "app", duration: 47.2, description: ""}
Spécifications
| Specification |
|---|
| Server Timing> # the-performanceservertiming-interface> |
Compatibilité des navigateurs
Chargement…