PerformanceServerTiming - 表示服务器的指标
注意: 此特性在 Web Worker 中可用。
PerformanceServerTiming
接口表示服务器的指标,这些指标随响应一起在 Server-Timing
HTTP 标头中发送。
此接口被限制为具有相同的来源,但是您可以使用 Timing-Allow-Origin
标头来指定允许访问服务器指标的域名。请注意,此接口仅在某些浏览器中的安全上下文(HTTPS)中可用。
属性
PerformanceServerTiming.description
只读
一个 DOMString
,表示服务器指定的指标描述,没有则为空字符串。
PerformanceServerTiming.duration
只读
一个 double
,包含服务器指定的度量标准持续时间,没有则为 0.0
。
PerformanceServerTiming.name
只读
一个 DOMString
,表示服务器指定的度量标准名称。
方法
PerformanceServerTiming.toJSON()
返回一个 DOMString
,它是 PerformanceServerTiming
对象的 JSON 表示形式。
实例
准备一个发送 Server-Timing
标头的服务器,例如,像这样的 node.js 服务器:
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);
现在可以通过 PerformanceResourceTiming.serverTiming
属性从 JavaScript 中观察 PerformanceServerTiming
指标:
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: ""}
规范
规范 | 状态 | 备注 |
---|---|---|
Server Timing PerformanceServerTiming 的定义 |
工作草案 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 65 | ≤79 | 61 | 不支持 | 52 | 未知 |
description | 65 | ≤79 | 61 | 不支持 | 52 | 未知 |
duration | 65 | ≤79 | 61 | 不支持 | 52 | 未知 |
name | 65 | ≤79 | 61 | 不支持 | 52 | 未知 |
toJSON | 65 | ≤79 | 61 | 不支持 | 52 | 未知 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 65 | 65 | 未知 | 61 | 未知 | 47 | 未知 |
description | 65 | 65 | 未知 | 61 | 未知 | 47 | 未知 |
duration | 65 | 65 | 未知 | 61 | 未知 | 47 | 未知 |
name | 65 | 65 | 未知 | 61 | 未知 | 47 | 未知 |
toJSON | 65 | 65 | 未知 | 61 | 未知 | 47 | 未知 |