Today, we, as the Thundra family, are proud to announce that our baby flies the nest! Sidekick is grown up now and ready to make happy developer faces with live debugging capabilities.
How we got here
Debugging live applications can be difficult, especially when the application is running in production. You need to stop the application, get data from it, analyze the data, and then try to fix the bug. This process can take a lot of time and requires redeploying the app multiple times until you find the issue root cause.
While trying to find the root cause of an issue, developers often need to create the development environment on their local machine, reproduce complex issues in distributed environments in their local machine, or juggle with multiple tools.
APM solutions don’t help because developers need a real-time solution. Logging solutions don’t help because developers don’t have much time and sometimes even experience to find the error route-cause. Existing remote debugging solutions don’t help because developers don’t want the application to stop running. Tracing solutions don’t help because they bring overhead.
Sidekick to the rescue
Sidekick enables developers to troubleshoot problems where they happen, when they happen, without stopping, rebuilding, or redeploying applications. It provides agents for application runtimes that can be controlled from an IDE.
Developers put tracepoints in code, and Sidekick conveys the tracepoint locations to the agent. When the code executes, the agent takes a snapshot of the application state, the call stack, captured variables, etc. without stopping the application, and sends the snapshot to the IDE as an event. Developers can analyze the events to understand the behavior of the app.
The live debugging experience is similar to stepping through code in a debugger, but it works for any application - cloud apps, local apps, or even legacy applications running on mainframes.
Sidekick supports Python and JVM programming languages, such as Java, Scala, or Kotlin. Node.JS support is on the way. It works in all clouds, containers, Docker, and Kubernetes with GitHub and GitLab sources.
Live Debugging without stopping your apps
- Tracepoints (aka non-breaking breakpoints) You can put tracepoints that do not stop the execution of your application in your code and instantly see the snapshots of the application state, the call stack, captured variables, and etc.
- Debug directly from IDEs Sidekick provides agents for application runtimes that can be controlled from IDEs such as IntelliJ IDEA, VSCode (coming soon), or Sidekick’s web IDE.
- Native Thundra APM integration Sidekick’s native Thundra APM integration brings end-to-end traceability of every distributed application via plug&play automated instrumentation.
- Secure by design Sidekick provides rich deployment options such as SaaS version and On-Prem version which you can deploy on your own cloud instances. Sensitive data is redacted at the agent, and does not leave the application.
- Works with your tech-stack Sidekick supports your stack and keeps expanding its coverage. Git (GitHub, GitLab), runtimes (Java, Python, NodeJS), cloud platforms (AWS, GCP, Azure, etc.)
Get Started: Enter Sidekick
Sidekick installs in seconds. The quick start guide in the documentation helps you learn how to get started easily.
In six simple steps you will have the granular visibility into the errors you want to debug.
1) Create a Sidekick account
In order to get started with Sidekick, you need to create an account. You can sign up for Sidekick within a minute after clicking this link.
2) Install the Thundra agent
You can follow the steps for installation from this link. Download and configure the Sidekick agent and install Sidekick to your application.
3) Connect the source code of your running app
By connecting your source code, you allow Sidekick to understand the correct source code and the correct tracepoint location.You can import your source code from your GitHub and Gitlab repositories.
4) Set a Tracepoint on Sidekick Web IDE
In order to gather valuable insights from your application, you can start setting tracepoints for your applications. For more information, please follow this link.
5) Take snapshots (a.k.a. Tracepoint events)
After you connect your source code, select applications to debug, and put tracepoints, Sidekick will automatically start taking snapshots, in other words; generating tracepoint events, when the remote application is executed. Follow this link for more information.
6) Enable TraceMap Distributed Tracing
Sidekick offers different Tracing solutions for you to enable TraceMap of your application. Sidekick integrates all tracepoints automatically with the rich distributed tracing so that you can see the tracepoint events with all the other actions that your application does end-to-end.
No matter where your code runs, it can pretty easily become a nightmare when a service goes down. Most of the time, it's just like searching for a needle in a haystack.
Sidekick is a modern live debugging tool that helps development teams to understand their code instantly by getting snapshots of their running applications wherever they run.
From the moment you start using Sidekick, your code quality will increase, your developers' velocity and morale will boost, and your metrics such as MTTR, MTBF, MTTF will improve.
Unlike regular observability tools that collect lots of data, across disparate tools, it enables developers to collect the relevant data at runtime.
Sidekick allows software engineers to iterate faster and ship better code. It installs in seconds, no DevOps or coding experience required, no reproducing bugs required.