Digma is a tool that profiles your application execution in runtime and identifies critical performance issues. Digma is comprised of an analysis backend (running locally on containers) and an IDE plugin as the main front end (Jetbrains only for now). The plugin provides code-level insights related to performance, query issues, bottlenecks scaling problems, and more.
Digma's backend receives OTEL data from your application (collected automatically when you run it locally), analyzes it, and identifies specific issues in the code execution. All of the data is handled locally in order to support compliance requirements and no code changes are required. Digma cam profile data from multiple environments, including dev, test, staging, production etc.
Get the Digma plugin from the JetBrains marketplace. We currently support IntelliJ with either Java or Kotlin, support for additional IDEs is coming soon.
That's it! :tada: As you start using your application and running your code, Digma will provide feedback and highlight issues over the code itself.
You can check out some videos and more info on our YouTube Channel!
In short, we can use existing logs, traces, and metrics to answer questions such as:
More importantly, all of these insights should be directly accessible in the IDE so we can use them while coding.
We believe that unless the application profiling is continuous and automatic - much like testing it won't be effective. There are many observability tools out there, however, they all require actively and manually spending time, attention, and expertise to get results. It is not surprising that they are used only reactively when something terrible happens. The end goal of observability should not be creating dashboards but improving our application and code.
Well, we don't compete with any tool existing today because... There isn't any tool that aims to generate this type of feedback. We do work very well together with other tools looking at the same data, like Jaeger, Prometheus, and even traditional observability APMs like Datadog or Splunk.
We are also not a static analysis tool. We profile the application execution in runtime rather than looking at the code and generating a ton of styling and rule-based issues.
We started publishing some more detailed blog posts explaining what we are trying to accomplish. Here are a few examples:
For the full list, you can check out our website blog
If you're interested in the specific capabilities, product features, and technical specifications - check out our docs!