{"id":13446491,"url":"https://github.com/runsidekick/sidekick","last_synced_at":"2025-05-15T22:05:01.097Z","repository":{"id":57836549,"uuid":"527583905","full_name":"runsidekick/sidekick","owner":"runsidekick","description":"Sidekick is no longer in service","archived":false,"fork":false,"pushed_at":"2023-06-29T12:18:38.000Z","size":527,"stargazers_count":1617,"open_issues_count":5,"forks_count":69,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-05-15T22:04:31.666Z","etag":null,"topics":["debugging","debugging-tools","logging","monitoring"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/runsidekick.png","metadata":{"files":{"readme":"README-legacy.MD","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-08-22T13:46:15.000Z","updated_at":"2025-05-13T01:39:51.000Z","dependencies_parsed_at":"2024-04-10T02:56:07.271Z","dependency_job_id":"fab8f80d-62da-4506-8ee5-bf32b7b712d6","html_url":"https://github.com/runsidekick/sidekick","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runsidekick%2Fsidekick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runsidekick%2Fsidekick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runsidekick%2Fsidekick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runsidekick%2Fsidekick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/runsidekick","download_url":"https://codeload.github.com/runsidekick/sidekick/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254430326,"owners_count":22069907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debugging","debugging-tools","logging","monitoring"],"created_at":"2024-07-31T05:00:53.817Z","updated_at":"2025-05-15T22:05:01.044Z","avatar_url":"https://github.com/runsidekick.png","language":"Java","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"30%\" height=\"30%\" src=\"https://4750167.fs1.hubspotusercontent-na1.net/hubfs/4750167/Sidekick%20OS%20repo/logo-1.png\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/runsidekick/sidekick\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/github/license/runsidekick/sidekick?style=for-the-badge\" alt=\"Sidekick Licence\" /\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://www.runsidekick.com/discord-invitation?utm_source=sidekick-readme\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/discord/958745045308174416?style=for-the-badge\u0026logo=discord\u0026label=DISCORD\" alt=\"Sidekick Discord Channel\" /\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://www.runforesight.com?utm_source=sidekick-readme\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Monitored%20by-Foresight-%239900F0?style=for-the-badge\" alt=\"Foresight monitoring\" /\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://app.runsidekick.com/sandbox?utm_source=sidekick-readme\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/try%20in-sandbox-brightgreen?style=for-the-badge\" alt=\"Sidekick Sandbox\" /\u003e\u003c/a\u003e\u0026nbsp;\n    \n\u003c/p\u003e\n\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://www.producthunt.com/posts/sidekick-12?utm_source=badge-top-post-badge\u0026utm_medium=badge\u0026utm_souce=badge-sidekick\u0026#0045;12\" target=\"_blank\"\u003e\u003cimg src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=357053\u0026theme=light\u0026period=daily\" alt=\"Sidekick - Like\u0026#0032;Chrome\u0026#0032;DevTools\u0026#0032;for\u0026#0032;your\u0026#0032;backend\u0026#0044;\u0026#0032;now\u0026#0032;open\u0026#0032;source | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://docs.runsidekick.com/?utm_source=sidekick-readme\"\u003e\u003cstrong\u003eExplore Docs »\u003c/strong\u003e\u003c/a\u003e\n\t    \u003ca href=\"https://medium.com/runsidekick/sidekick-open-source-live-debugger-get-started-in-5-mins-efc0845a2288\"\u003e\u003cstrong\u003eQuick Start Tutorial »\u003c/strong\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#what-is-sidekick\"\u003eWhat is Sidekick?\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#sidekick-actions\"\u003eSidekick Actions\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#why-sidekick\"\u003eWhy Sidekick?\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#who-should-use-sidekick\"\u003eWho should use Sidekick?\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#how-does-sidekick-work\"\u003eHow does Sidekick work?\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#running-sidekick-using-our-docker-image\"\u003eRunning Sidekick using our Docker image\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#building-sidekick\"\u003eBuilding Sidekick\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#sidekick-ecosystem\"\u003eSidekick Ecosystem\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#documentation\"\u003eDocumentation\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#agents\"\u003eAgents\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#clients\"\u003eClients\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#usage-examples\"\u003eUsage Examples\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#sidekick-recipes\"\u003eSidekick Recipes\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#recent-publications\"\u003eRecent Publications\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#questions-problems-suggestions\"\u003eQuestions? Problems? Suggestions?\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## What is Sidekick?\nSidekick is a live application debugger that lets you troubleshoot your applications while they keep on running.\n\nAdd dynamic logs and put non-breaking breakpoints in your running application without the need of stopping \u0026 redeploying.\n\nSidekick 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. \n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"70%\" height=\"70%\" src=\"https://4750167.fs1.hubspotusercontent-na1.net/hubfs/4750167/Sidekick%20OS%20repo/HowSidekickWorks.gif\"\u003e\n\u003c/p\u003e\n\n\n##### Sidekick Actions:\nSidekick has two major actions; Tracepoints \u0026 Logpoints.\n\n- A **tracepoint** is a non-breaking remote breakpoint. In short, it takes a snapshot of the variables when the code hits that line.\n- **Logpoints** open the way for dynamic(on-demand) logging to Sidekick users. Replacing traditional logging with dynamic logging has the potential to lower stage sizes, costs, and time for log searching while adding the ability to add new logpoints without editing the source code, redeploying, or restarting the application.\n\nSupported runtimes: Java, Python, Node.js\n\nTo learn more about Sidekick features and capabilities, see our [web page.](https://www.runsidekick.com/?utm_source=sidekick-readme)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://app.runsidekick.com/sandbox?utm_source=github\u0026utm_medium=readme\" target=\"_blank\"\u003e\u003cimg width=\"345\" height=\"66\" src=\"https://4750167.fs1.hubspotusercontent-na1.net/hubfs/4750167/Sidekick%20OS%20repo/try(1)%201.png\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.runsidekick.com/discord-invitation?utm_source=sidekick-readme\" target=\"_blank\"\u003e\u003cimg width=\"40%\" height=\"40%\" src=\"https://4750167.fs1.hubspotusercontent-na1.net/hubfs/4750167/Sidekick%20OS%20repo/joindiscord.png\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Why Sidekick?\nYou can use Sidekick in any stage of your development for your live debugging \u0026 logging needs. With Sidekick you can:\n\n- Debug your remote application (monoliths or microservices on Kubernetes, Docker, VMs, or Local) and collect actionable data from your remote application.\n- Add logs to your production apps without redeploying or restarting\n- Cut your monitoring costs with on-demand \u0026 conditional logpoints \u0026 tracepoints\n- On-board new developers by showing how your apps work using real-time data.\n- Observe Event-Driven Systems with ease\n- Programmatically control where and when you collect data from your applications\n- Either use Sidekick's Web IDE, VS Code \u0026 IntelliJ IDEA extensions to control your Sidekick Actions or use headless clients to bring Sidekick to your workflow in any way you want!\n- Evaluate the impact of an error on applications with integrated distributed tracing.\n- Collaborate with your colleagues by sharing snapshots taken by Sidekick.\n- Reduce the time spent context-switching between different tools.\n\n\nAll these with almost no overhead. PS: Check out [our benchmark blogs](https://medium.com/runsidekick/sidekick-blog-production-debuggers-2022-benchmark-results-part-1-ec173d0f8ccd)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Features\n- Conditions \u0026 custom hit limits for your logpoints and tracepoints -\u003e collect only what you need\n- Mustache powered expression system for logpoints -\u003e easily add variable data to your logs context\n- Customizable agents -\u003e configure how your agents work, define depth and frame numbers\n- Aggregate your collected data with Thundra APM and Open-telemetry traces\n- Collect errors automatically and send them to your target of choice\n- Define custom data redaction functions to control what is being collected\n- Control your logpoints and tracepoints using client libraries \u0026 REST API\n- Work with your collected data in your way using Sidekick clients\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"70%\" height=\"70%\" src=\"https://4750167.fs1.hubspotusercontent-na1.net/hubfs/4750167/Sidekick%20OS%20repo/meettracepoints%20(1).gif\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"70%\" height=\"70%\" src=\"https://4750167.fs1.hubspotusercontent-na1.net/hubfs/4750167/Sidekick%20OS%20repo/meetlogpoints(2).gif\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Who should use Sidekick?\nWhile utilizing log data seems the most obvious choice for debugging a remote application, Sidekick provides an extra edge with a seamless debugging experience that is similar to debugging an application on your local environment. \n\n\u003cp align=\"center\"\u003e\t\n  *you*\t\n\u003c/p\u003e\n\nWhether you're a developer, testing software engineer, or QA engineer, Sidekick is here to help you find the root cause of the errors.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## How does Sidekick work?\n\nSidekick consists of 3 layers;\nThe broker is the central unit of Sidekick. It controls all the data flow between clients and agents. This very repository contains the Sidekick broker.\n\nAgents are the layer where Sidekick actions meet with your applications. Agents deployed with your software lets you collect snapshot data and generate dynamic logs without modifying your code. Agents get orders from clients and start listening to the targeted lines with given properties. Then whenever your code hits a logpoint or a tracepoint, agents collect stack \u0026 log data and send them to the clients via the broker. Currently, we have agents for Java, Python \u0026 Node.js runtimes. \n\nClients let you interact with the agents. They send commands to agents via the broker and let you control your tracepoints \u0026 logpoints. Clients come in many different ways:\n- The first one is Sidekick Web IDE, which you can use with our SaaS \u0026 on-prem versions, it lets you collaborate with other developers, and control your agents, workspaces \u0026 users from your browser. Since it is a web app, it does not require any installation. To learn more about Sidekick SaaS \u0026 On-prem features and capabilities, see our [web page.](https://www.runsidekick.com?utm_source=sidekick-readme)\n- Secondly, we have our IDE extensions. They enable you to control your agents with the comfort of your IDE. Currently, we have extensions for Visual Studio Code \u0026 IntelliJ IDEA. Check out the Clients section below.\n- Last but not least, you can also use Sidekick with a headless approach. Sidekick Rest API lets you apply CRUD operations over logpoints \u0026 tracepoints via HTTP protocol and other clients like Sidekick Node.js Client lets you control your agents programmatically and make use of your collected data using code.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Getting Started\nThe simplest way to use Sidekick is to create an account on Sidekick Cloud. For the self-hosted version, you can either build Sidekick yourself or use our Docker image.\n        \n  \u003e **Note**  \n  \u003e Make sure docker daemon is running.\n\n### Running Sidekick using our Docker image\n\n  \u003e **Note**  \n  \u003e Docker images are not supported on ARM64 machines. Follow building instructions to run Sidekick on your machine or visit http://www.runsidekick.com for the cloud hosted version\n\n1. #### Configure Environment Variables\n   1. Go to the docker folder under the project\n   2. Open `.env` file via any text editor\n        1. Set your secret token (you can set any value, this will be your master key)\n            1. `API_TOKEN`, `BROKER_CLIENT_AUTHTOKEN` and `BROKER_TOKEN` must be the same, otherwise, you can’t connect your apps and your client\n        2. Set MySQL secrets\n            1. Set MySQL root password (`MYSQL_ROOT_PASSWORD`)\n            2. Set MySQL user (`MYSQL_USER`, `SPRING_DATASOURCE_USERNAME`)\n            3. Set MySQL password (`MYSQL_PASSWORD`, `SPRING_DATASOURCE_PASSWORD`)\n\n2. #### Running Application Stack\n    - Go to the docker folder under the project\n    - Run command `docker-compose up -d` and wait for a minute\n    - App is ready\n    - You can connect to the broker using the url \n      \n      `ws://\u003cyour-server-hostname-or-ip\u003e:7777`\n    - You can see the API's swagger interface at\n      \n        `http://\u003cyour-server-hostname-or-ip\u003e:8084/swagger-ui/index.html`\n        \n    \n### Building Sidekick\n\n  \u003e **Note**  \n  \u003e Follow Build Service Images (Advanced) for arm64 builds\n  \n\n 1. #### Build Service Images (Basic)\n    1. ##### Build Sidekick Broker Image\n        1. Go to `sidekick/sidekick-broker-app` folder under project\n        2. Execute `release.sh`\n    \n    2. ##### Build Sidekick API Image\n        1. Go to `sidekick/sidekick-api` folder under project\n        2. Execute `release.sh`\n\n 2. #### Build Service Images (Advanced)\n      1. Go to main project folder\n      2. Run command `mvn clean install -DskipTests=true`\n      3. Go to sidekick-api folder `cd sidekick-api`\n      4. Build API image `docker build --build-arg JAR_FILE=target/sidekick-api.jar -t runsidekick/sidekick-api:latest .`\n      5. Go to sidekick-broker-app folder `cd ../sidekick-broker/sidekick-broker-app`\n      6. Build Broker image `docker build --build-arg JAR_FILE=target/sidekick-broker-app.jar -t runsidekick/sidekick-broker:latest .`\n      5. Run `docker-compose up -d` under `docker` folder\n    \n\n### \n\nNow that your broker is ready, you need to install your agents \u0026 clients to start using Sidekick. Check out them below.\n\nTo learn more see our [docs.](https://docs.runsidekick.com?utm_source=sidekick-readme)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Sidekick Ecosystem\n\n### Documentation\n\n- [Sidekick Docs](https://docs.runsidekick.com?utm_source=sidekick-readme)\n\n- [Thundra APM \u0026 Open-telemetry Integration](https://docs.runsidekick.com/integrations/tracing-integrations?utm_source=sidekick-readme)\n\n- [Node.js Data redaction](https://docs.runsidekick.com/installation/agents/node.js/data-redaction?utm_source=sidekick-readme)\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n### Agents\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"650\" height=\"389\" src=\"https://4750167.fs1.hubspotusercontent-na1.net/hubfs/4750167/Sidekick%20OS%20repo/Frame%2012agents%201.png\"\u003e\n\u003c/p\u003e\n\nCheck out [docs](https://docs.runsidekick.com/?utm_source=sidekick-readme) to learn how you can use agents with Sidekick Open Source!\n\n- ##### Sidekick Java Agent:\n    - [Docs](https://docs.runsidekick.com/installation/installing-agents/java?utm_source=sidekick-readme)\n\n    - [Repository](https://github.com/runsidekick/sidekick-agent-java)\n    \n- ##### Sidekick Python Agent:\n    - [Docs](https://docs.runsidekick.com/installation/installing-agents/python?utm_source=sidekick-readme)\n\n    - [Repository](https://github.com/runsidekick/sidekick-agent-python)\n\n- ##### Sidekick Node.js Agent:\n    - [Docs](https://docs.runsidekick.com/installation/installing-agents/node.js?utm_source=sidekick-readme)\n\n    - [Repository](https://github.com/runsidekick/sidekick-agent-nodejs)\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n### Clients\n\nCheck out [docs](https://docs.runsidekick.com/?utm_source=sidekick-readme) to learn how you can use clients with Sidekick Open Source!\n\n- ##### VSCode Extension (Python \u0026 Node.js):\n    - [Extension Page](https://marketplace.visualstudio.com/items?itemName=Sidekick.sidekick-debugger)\n\n    - [Docs Page](https://docs.runsidekick.com/plugins/visual-studio-code-extension-python-and-node.js?utm_source=sidekick-readme)\n\n- ##### IntelliJ IDEA (Java):\n    - [Plugin Page](https://plugins.jetbrains.com/plugin/18566-sidekick)\n\n    - [Docs Page](https://docs.runsidekick.com/plugins/intellij-idea-plugin?utm_source=sidekick-readme)\n\n\n- ##### PyCharm (Python):\n    - [Plugin Page](https://plugins.jetbrains.com/plugin/20031-sidekick)\n\n    - [Docs Page](https://docs.runsidekick.com/plugins/pycharm-plugin-python?utm_source=sidekick-readme)\n\n\n- ##### WebStorm (Node.js):\n    - [Plugin Page](https://plugins.jetbrains.com/plugin/20142-sidekick-webstorm)\n\n    - [Docs Page](https://docs.runsidekick.com/plugins/webstorm-plugin-node.js?utm_source=sidekick-readme)\n\n- ##### Sidekick Node.js Client:\n    [Sidekick Node Client](https://www.npmjs.com/package/@runsidekick/sidekick-client) opens up a new \u0026 headless way to use Sidekick. It allows you to both use custom ingest functions for the **tracepoint** or **logpoint** events and put/edit/delete your tracepoints/logpoints easily using code.\n      \n    \u003e **Note**  \n    \u003e This can be used with agents from all runtimes.\n    \n\n- ##### REST API\n    [Sidekick REST API Doc](https://api.service.runsidekick.com/swagger-ui/index.html)\n    \n    \n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Usage Examples\n- [Collect Realtime Stack Traces from NodeJS Applications](https://medium.com/runsidekick/collect-realtime-stack-traces-from-nodejs-applications-a300d1e91c1a)\n- [How to add missing logpoints to your running applicatons without stopping and send them to Loki ](https://dev.to/boroskoyo/how-to-add-missing-logpoints-to-your-running-applicatons-without-stopping-and-send-them-to-loki-8l3)\n- [Capturing Exception Call Stacks from Node.js Applications](https://medium.com/runsidekick/capturing-exception-call-stacks-from-running-node-js-applications-d9cd81407593)\n\n- [Achieving Rule-based observability using Sidekick and Camunda](https://medium.com/runsidekick/achieving-rule-based-observability-using-sidekick-and-camunda-8bb6483c7730)\n\n- [Embed Sidekick features to your applications](https://medium.com/runsidekick/sidekick-open-source-live-debugger-embed-sidekick-features-to-your-applications-1bacf083da5c)\n\n\n\nCheck out [docs](https://docs.runsidekick.com/?utm_source=sidekick-readme) for more!\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Sidekick Recipes\n1. Ingest your Sidekick logs \u0026 snapshots to Loki. https://github.com/boroskoyo/sidekick-loki\n\n    Related blog post: [Sidekick Recipes #2: Send logs to Loki -Add missing logs to your running microservices. Easy as 1–2–3](https://medium.com/runsidekick/sidekick-recipes-2-add-missing-logs-to-your-running-microservices-and-send-them-to-loki-1f5a3449343c)\n\n2. Send your collected **tracepoint** \u0026 **logpoint** events to Elasticsearch https://github.com/boroskoyo/sidekick-elastic\n\n    Related blog post: [Sidekick Recipes #1: Elasticsearch Ingest](https://medium.com/runsidekick/sidekick-recipes-1-elasticsearch-ingest-561d0970c030)\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n   \n### Recent Publications\n- [Sidekick Open Source Live Debugger : Get started in 5 mins](https://medium.com/runsidekick/sidekick-open-source-live-debugger-get-started-in-5-mins-efc0845a2288)\n- [Past, Present, and Future of Sidekick](https://medium.com/runsidekick/past-present-and-future-of-sidekick-d75649395be2)\n- [Production Debuggers — 2022 Benchmark Results](https://medium.com/runsidekick/sidekick-blog-production-debuggers-2022-benchmark-results-part-1-ec173d0f8ccd)\n- [Bringing the simplicity of print() to production debugging using PyCharm](https://medium.com/runsidekick/the-way-we-develop-software-evolves-way-we-debug-cant-stay-the-same-98125b685195)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Contributing\nCheckout [CONTRIBUTING.md](CONTRIBUTING.md)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Questions? Problems? Suggestions?\n\nTo report a bug or request a feature, create a [GitHub Issue](https://github.com/runsidekick/sidekick/issues). Please ensure someone else has not created an issue for the same topic.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Contact\n\n[Reach out on the Discord](https://www.runsidekick.com/discord-invitation?utm_source=sidekick-readme). A fellow community member or Sidekick engineer will be happy to help you out.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n","funding_links":[],"categories":["Container Operations","Java"],"sub_categories":["Monitoring"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunsidekick%2Fsidekick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frunsidekick%2Fsidekick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunsidekick%2Fsidekick/lists"}