PerformanceServerTiming

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 (en-US) 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 (en-US) 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 DOMString dé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 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'objet PerformanceServerTiming.

Exemple

Étant donné un serveur qui envoie l'en-tête Server-Timing (en-US), 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

Spécification Statut Commentaire
Server Timing
La définition de 'PerformanceServerTiming' dans cette spécification.
Version de travail Définition initiale.

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi