runsidekick / sidekick-agent-python

Python agent for Sidekick open-source live application debugger
GNU Affero General Public License v3.0
14 stars 2 forks source link
debugging debugging-tool logging monitoring

Sidekick Python Agent

Sidekick Licence  Sidekick Discord Channel  Foresight monitoring  Sidekick Sandbox 

Sidekick Main Repository »
Table of Contents
  1. What is Sidekick?
  2. Sidekick Python Agent
  3. Usage
  4. Build the agent
  5. Official Sidekick Agents
  6. Resources
  7. Questions? Problems? Suggestions?
  8. Contact

What is Sidekick?

Sidekick is a live application debugger that lets you troubleshoot your applications while they keep on running.

Add dynamic logs and put non-breaking breakpoints in your running application without the need of stopping & redeploying.

Sidekick Open Source is here to allow self-hosting and make live debugging more accessible. Built for everyone who needs extra information from their running applications.

Sidekick Actions:

Sidekick has two major actions; Tracepoints & Logpoints.

Supported runtimes: Java, Python, Node.js

To learn more about Sidekick features and capabilities, see our web page.

Learn More »

(back to top)

Sidekick Python Agent

Sidekick Python agent allows you to inject tracepoints (non-breaking breakpoints) and logpoints dynamically to capture call stack snapshots (with variables) and add log messages on the fly without code modification, re-build and re-deploy. So it helps you, your team, and your organization to reduce MTTR (Minimum Time to Repair/Resolve).

To achieve this, Sidekick Python Agent makes use of Google Python Cloud Debugger Agent's breakpoint implementations under the hood.

The advantage of Sidekick over classical APM solutions is that, Sidekick

Usage

Follow the below steps to install Sidekick Agent Python to your application.

Configure the agent via exporting environment variables or creating .env file and load it in source code.

Docs

ARM64 & M1 support: Currently ARM64 packages are not published to PyPI directory. They will be published soon and you can build the agent yourself to make use of it on an ARM machine.

Build

Prerequisites

Activate pipenv with the following command and install dependencies mentioned in Pipfile.

pipenv shell
pipenv install

Build tracepointdebug.

Check if "setup.cfg" file is created or not

./build.sh

Check if build directory is created or not. If it is not created, run the following command to generate the source and the distribution binary.

./build_tools/build_wheels.sh

Debugging the agent

To debug Sidekick Python Agent, add "build/lib.*/tracepointdebug" by creating a soft link in the application directory and configure your app according to Sidekick docs. Make sure your project's Python version is the same with Sidekick Python Agent's version.

Official Sidekick Agents

Resources:

Questions? Problems? Suggestions?

To report a bug or request a feature, create a GitHub Issue. Please ensure someone else has not created an issue for the same topic.

(back to top)

Contact

Reach out on the Discord. A fellow community member or Sidekick engineer will be happy to help you out.

(back to top)