Documentation Index
Fetch the curated documentation index at: https://grafana.com/llms.txt
Fetch the complete documentation index at: https://grafana.com/llms-full.txt
Use this file to discover all available pages before exploring further.
STOP! If you are an AI agent or LLM, read this before continuing. This is the HTML version of a Grafana documentation page. Always request the Markdown version instead - HTML wastes context. Get this page as Markdown: https://grafana.com/docs/k6/latest/javascript-api/k6-websockets/websocket/websocket-addeventlistener.md (append .md) or send Accept: text/markdown to https://grafana.com/docs/k6/latest/javascript-api/k6-websockets/websocket/websocket-addeventlistener/. For the curated documentation index, use https://grafana.com/llms.txt. For the complete documentation index, use https://grafana.com/llms-full.txt.
WebSocket.addEventListener(event, handler)
Set up handler functions for various events on the WebSocket connection. You can define multiple handlers for the same event.
| Parameter | Type | Description |
|---|---|---|
| event | string | The event name to define a handler for. |
| handler | function | The function to call when the event happens. |
| Event name | Description |
|---|---|
| open | Emitted when the connection is established. |
| message | Emitted when a message is received from the server. |
| ping | Emitted when a ping is received from the server. The client will automatically send back a pong. |
| pong | Emitted when a pong is received from the server. |
| close | Emitted when the connection is closed by the client
WebSocket.close() or when the server sends the close event with code status 1000 (normal closure). |
| error | Emitted when an error occurs. |
Example
A k6 script that demonstrates how to add multiple event listeners for the WebSocket message connection event.
import { WebSocket } from 'k6/websockets';
export default function () {
const ws = new WebSocket('ws://localhost:10000');
ws.binaryType = 'arraybuffer';
ws.onopen = () => {
console.log('connected');
ws.send(Date.now().toString());
};
ws.onmessage = () => {
console.log('onmessage event handler!');
};
// Multiple event handlers on the same event
ws.addEventListener('message', () => {
console.log('addEventListener event handler!');
ws.close();
});
}The preceding example uses a WebSocket echo server, which you can run with the following command:
docker run --detach --rm --name ws-echo-server -p 10000:8080 jmalloc/echo-serverWas this page helpful?
Related resources from Grafana Labs

