Documentation for automated readers
A curated documentation index is available at: https://grafana.com/llms.txt
A complete documentation index is available at: https://grafana.com/llms-full.txt
These indexes can help with page discovery before fetching individual documents.
This page is also available in Markdown, which may be easier for automated readers and AI tools to parse than HTML. The Markdown version is available at https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-websockets/websocket.md, or by sending Accept: text/markdown to https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-websockets/websocket/. For broader documentation discovery, the curated index is available at https://grafana.com/llms.txt and the complete index is available at https://grafana.com/llms-full.txt.
WebSocket
Creates a WebSocket instance for connection to a remote host.
The following events can close the connection:
- remote host close event.
- WebSocket.close().
- k6 VU interruption based on test configuration or CLI commands.
| Parameter | Type | Description |
|---|---|---|
| url | string | The URL to which to connect (e.g. “ws://localhost:10000”). |
| protocols | array | Not yet implemented, reserved for the future use. |
| params | object | Params object containing additional request parameters. |
Returns
| Type | Description |
|---|---|
| WebSocket | An instance of WebSocket object. |
Ready-state constants
Compare an instance’s readyState with these constants to check the connection state:
| Constant | Value | Description |
|---|---|---|
WebSocket.CONNECTING | 0 | The connection is not yet open. |
WebSocket.OPEN | 1 | The connection is open and ready to communicate. |
WebSocket.CLOSING | 2 | The connection is closing. |
WebSocket.CLOSED | 3 | The connection is closed or could not be opened. |
The constants are read-only and also available on each instance, for example, ws.OPEN.
Example
A k6 script that initiates a WebSocket connection.
import { WebSocket } from 'k6/websockets';
export default function () {
const ws = new WebSocket('wss://quickpizza.grafana.com/ws');
ws.onopen = () => {
console.log(ws.readyState === WebSocket.OPEN); // true
console.log(ws.OPEN === WebSocket.OPEN); // true
ws.close();
};
ws.onclose = () => {
console.log(ws.readyState === WebSocket.CLOSED); // true
};
}Was this page helpful?
Related resources from Grafana Labs

