Skip to content

A browser copilot that empowers the usage of applications that use Apache Skywalking as observability platform

License

Notifications You must be signed in to change notification settings

abstracta/skywalking-copilot

Repository files navigation

Skywalking Copilot

A Browser Copilot that empowers the usage of applications that use Apache Skywalking as an observability platform.

screenshot

Currently, this project only covers some basic scenarios. If you are interested in helping to evolve it, we are open to contributions.

Features

  • 🤖 Automatic activation of the agent when the configured application is accessed in a browser.
  • 🚨 Proactive notifications of live alerts.
  • 🕵️‍♂️ Proactive report of traces generated from the application in the active browser tab.
  • 🗺️ Provide services topology diagram.
  • 🧾 Provide a table of the services and their associated metrics.
  • 📉 Generate charts of metrics like response time, error rate, load, Apdex, and message queuing metrics.
  • 🤔 Ask any question about displayed information.
  • ➕ More to come!

Requirements

Setup

devbox install && devbox run install

Set OPENAI_API_KEY with proper value in .env

Start Postgres:

devbox run postgres

Development

To update to the latest version of the browser-copilot submodule, you can use

devbox run update-git

To update to the latest dependencies of the Python project:

devbox run update-python

To add new dependencies to the Python project:

poetry add X

To generate new DB migrations due to changes in the database.py module:

devbox run new-migration "description"

To run DB migrations against the local database:

devbox run migrations

The app automatically updates the database with migrations when the Postgres service is started with devbox

To update the Skywalking showcase run:

devbox run update-showcase

Skywalking Showcase

To try the copilot locally, try Skywalking showcase.

This project already includes a tuned version of the showcase. You can build it with devbox run update-showcase and run it with devbox run showcase.

This will spin up the Skywalking showcase locally with minimum services and memory required, as well as showcase app frontend access from host and English song names.

Here is a diagram of the deployed infrastructure:

diagram

  • To access Skywalking frontend go to http://localhost:9999. You can now explore information collected by Skywalking on the showcase sample services.

To stop the showcase, you can run devbox run stop-showcase.

Run agent in dev mode

devbox run agent

Note: The agent is configured by default to connect to http://localhost:9999 to the Skywalking server and auto-trigger the copilot when the application under test is located at http://localhost:9091. If you want to try it with another Skywalking instance and application instance, change the .env file accordingly.

Run Chrome extension in dev mode

devbox run browser

Now, if you open a new tab and navigate to the configured application monitored by skywalking (http://localhost:9091/index.html) the copilot should automatically activate, and you can start interacting with it.

About

A browser copilot that empowers the usage of applications that use Apache Skywalking as observability platform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published