Kaleidoscope, an open-source observability tool, empowers developers to visually map and annotate the backend structure of web applications. With Kaleidoscope, developers can create a distinctive node map of their project, analyze request latency across endpoints, and pinpoint performance bottlenecks in the backend.
Please read the website and medium article for more information.
- Annotations for nodes and node data
- 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 be in D3 instead of HTML Canvas
- 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
- Ease of use (npm package?)
- Opentelemetry instrumentation integrated within your app
- Instrumentation must be configured to export to a collector with the following environment variable:
OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317
NOTE If 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>
- Once your app is correctly instrumented to emit telemetry data, start the OTel collector in a Docker container:
$ cd otel-collector && docker compose up
- 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