--- title: PerformanceServerTiming slug: Web/API/PerformanceServerTiming tags: - API - Interface - Reference - Performance Web - Resource Timing API translation_of: Web/API/PerformanceServerTiming ---
{{APIRef("Resource Timing API")}} {{securecontext_header}}

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.

{{AvailableInWorkers}}

Propriétés

PerformanceServerTiming.description{{readonlyInline}}
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{{readonlyInline}}
Un double qui contient la durée de la métrique spécifiée par le serveur, ou la valeur 0.0.
PerformanceServerTiming.name{{readonlyInline}}
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, 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
{{SpecName('Server Timing','#the-performanceservertiming-interface', 'PerformanceServerTiming')}} {{Spec2('Server Timing')}} Définition initiale.

Compatibilité des navigateurs

{{Compat("api.PerformanceServerTiming")}}

Voir aussi