PerformanceServerTiming
Baseline 2023
Newly available
Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
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.description
Lecture seule-
Une chaîne de caractères
DOMString
décrivant la métrique spécifiée par le serveur, ou une chaîne vide. PerformanceServerTiming.duration
Lecture seule-
Un double qui contient la durée de la métrique spécifiée par le serveur, ou la valeur
0.0
. PerformanceServerTiming.name
Lecture seule-
Une chaîne de caractères
DOMString
avec le nom de la métrique spécifiée par le serveur.
Méthodes
PerformanceServerTiming.toJSON()
-
Retourne une chaîne de caractères
DOMString
qui 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
BCD tables only load in the browser