Params
`Params` 是 WebSocket 构造函数使用的对象。`Params` 对象包含请求特定的选项,例如应插入到连接初始化请求中的 header。
名称 | 类型 | 描述 |
---|---|---|
Params.compression | string | WebSocket 连接使用的压缩算法。当前唯一支持的算法是 `deflate`。 |
Params.jar | http.CookieJar | 用于建立 WebSocket 连接时的初始 HTTP 请求的 cookie jar。如果为空,将使用默认的 VU cookie jar。 |
Params.headers | object | 自定义 HTTP header,以键值对形式添加到建立 WebSocket 连接的初始 HTTP 请求中。键是 header 名称,值是 header 值。 |
Params.tags | object | 自定义指标标签,以键值对形式表示,其中键是标签名称,值是标签值。WebSocket 连接将生成附带这些标签的指标样本,允许用户过滤结果数据或在子指标上设置阈值。 |
自定义元数据 header 和标签示例
一个 k6 脚本,它发出带有自定义 header 的 WebSocket 请求,并用特定标签标记结果数据
import { WebSocket } from 'k6/experimental/websockets';
export default function () {
const url = 'ws://:10000';
const params = {
headers: { 'X-MyHeader': 'k6test' },
tags: { k6test: 'yes' },
};
const ws = new WebSocket(url, null, params);
ws.onopen = () => {
console.log('WebSocket connection established!');
ws.close();
};
}
前面的示例使用了一个 WebSocket Echo 服务器,您可以通过以下命令运行它
docker run --detach --rm --name ws-echo-server -p 10000:8080 jmalloc/echo-server