telemetry-dashboard

command
v1.36.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2026 License: BSD-3-Clause Imports: 7 Imported by: 0

README

Weaviate Telemetry Dashboard

A local web dashboard for receiving and visualizing telemetry data from Weaviate instances.

Features

  • Real-time telemetry reception: Accepts telemetry POST requests from Weaviate instances
  • Live dashboard: Web-based UI showing:
    • Recent telemetry payloads with full details
    • Machine statistics aggregated by machine ID
    • Client usage tracking (Python, Java, TypeScript, Go, C#)
    • Module usage information
    • Object and collection counts
  • Auto-refresh: Dashboard updates every 2 seconds automatically
  • Multiple instances: Tracks multiple Weaviate instances simultaneously

Usage

Start the Dashboard
go run tools/telemetry-dashboard/main.go

The dashboard will start on http://localhost:8080

Configure Weaviate to Send Telemetry

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.

Dashboard Views

Recent Payloads

Shows the most recent 100 telemetry payloads received, including:

  • Payload type (INIT, UPDATE, TERMINATE)
  • Machine ID
  • Weaviate version
  • OS and architecture
  • Object counts
  • Collection counts
  • Client usage statistics
  • Used modules
Machines

Aggregated view per machine showing:

  • Total payloads received
  • Payload type breakdown
  • Total objects stored
  • Collection count
  • All modules used
  • Total client usage across all payloads
  • First seen / Last seen timestamps

API Endpoints

  • GET / - Main dashboard (HTML)
  • POST /weaviate-telemetry - Telemetry endpoint (receives Weaviate telemetry)
  • GET /api/data - JSON API for dashboard data (used for auto-refresh)

Example Telemetry Payload

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
  }
}

Development

The dashboard is a standalone Go application that can be easily extended with additional features like:

  • Historical data persistence
  • Export functionality
  • Filtering and search
  • Charts and graphs
  • Alerting

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL