tools/telemetry-dashboard/README.md
A local web dashboard for receiving and visualizing telemetry data from Weaviate instances.
go run tools/telemetry-dashboard/main.go
The dashboard will start on http://localhost:8080
To configure a Weaviate instance to send telemetry to the local dashboard, you need to set the telemetry consumer URL. The default telemetry endpoint is base64-encoded. You can set a custom endpoint using environment variables or configuration.
Option 1: Using Environment Variable (if supported)
Set the telemetry consumer URL to point to your local dashboard:
WEAVIATE_TELEMETRY_URL=http://localhost:8080/weaviate-telemetry
Option 2: Modify Weaviate Configuration
The telemetry consumer URL is base64-encoded in the code. You would need to modify the defaultConsumer constant in usecases/telemetry/telemetry.go or use a configuration option if available.
To encode your URL:
echo -n "http://localhost:8080/weaviate-telemetry" | base64
Then use this encoded value in your Weaviate configuration.
Shows the most recent 100 telemetry payloads received, including:
Aggregated view per machine showing:
GET / - Main dashboard (HTML)POST /weaviate-telemetry - Telemetry endpoint (receives Weaviate telemetry)GET /api/data - JSON API for dashboard data (used for auto-refresh)The dashboard expects telemetry payloads in this format:
{
"machineId": "uuid-here",
"type": "UPDATE",
"version": "1.23.0",
"objs": 1000,
"os": "linux",
"arch": "amd64",
"usedModules": ["text2vec-openai", "generative-openai"],
"collectionsCount": 5,
"clientUsage": {
"python": 150,
"java": 75,
"typescript": 50
}
}
The dashboard is a standalone Go application that can be easily extended with additional features like: