Skip to content

Open source dev tool for visualizing telemetry data.

Notifications You must be signed in to change notification settings

oslabs-beta/kaleidoscope

Repository files navigation

PRs Welcome License: MIT Release: 1.0

Kaleidoscope 🔭

About

Kaleidoscope is an open-source observability tool designed for developers to explore and enhance the backend architecture of web applications. It provides a unique node map visualization, enabling the analysis of request latency across various endpoints and identification of performance bottlenecks.

Please read the website and medium article for more information.

Features

  • Annotate nodes and node data for detailed insights.
  • Upcoming enhancements include a Node map sandbox, Trace movement visualization, and much more.

Upcoming Features

  • Node map sandbox
  • Trace movement visualization
  • Implement map saving and users saving maps
  • Populating the annotations on the map so they correspond to their location in the architecture
  • Rework Node Map to D3
  • Account information after log in
  • OAuth
  • Hosted demo of application
  • Hosted Splash Page
  • Individual trace information (waterfall)
  • "Refresh" button to find new traces for system
  • npm package
  • Finish conversion of backend to Go

Prerequisites

  • To use Kaleidoscope, you can instrument your application using OpenTelemetry, and export the data to the containerized version of the OpenTelemetry Collector that runs in tandem with this app. If your application is writtten in Node.js it can be instrumented automatically by running the application while requiring instrumentation.js:
$ node --require ./instrumentation.js <entry point to your application>
  • Ensure the environment variable in your application for the OTel collector is set as follows:
OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317

Getting Started

  • Once you've instrumented your application to emit telemetry data, start the OTel collector in a Docker container:
$ cd otel-collector && docker compose up
  • Telemetry data should now be transmitted to Kaleidoscope as requests travel through your app!
  • Open Kaleidoscope from the root directory:
$ npm run start-dev
  • Register / Sign in to generate a node map of your app's latest trace data (Registration/Signin is implemented locally for Kaleidoscope)

Technology Stack

JavaScript React OpenTelemetry

The Developers

About

Open source dev tool for visualizing telemetry data.

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published