# Digma Developer Guide

## Digma Developer Guide

- [Welcome to the Digma Docs!](https://docs.digma.ai/digma-developer-guide/readme.md): This is the home of everything related to the Digma Continuous Feedback platform - how to install and configure it (locally on centrally) and how to make the most out of its features and capabilities
- [What is a Continuous Feedback platform?](https://docs.digma.ai/digma-developer-guide/what-is-a-continuous-feedback-platform.md)
- [Digma Quickstart](https://docs.digma.ai/digma-developer-guide/digma-quickstart.md): Couch to Continuous Feedback in less than five minutes
- [Local Install](https://docs.digma.ai/digma-developer-guide/installation/readme-1.md): Installing Digma locally is pretty straightforward, you can choose whether you want Digma to install its Analytics Engine for you or do it on your own.
- [Local Install Architecture](https://docs.digma.ai/digma-developer-guide/installation/readme-1/local-install-architecture.md)
- [Installation Troubleshooting](https://docs.digma.ai/digma-developer-guide/installation/readme-1/installation-troubleshooting.md)
- [Central (on-prem) Install](https://docs.digma.ai/digma-developer-guide/installation/central-on-prem-install.md): In this simple guide, we’ll go over the basic steps required to move beyond local deployment and get Digma up and running in a Kubernetes cluster that multiple people can connect to.
- [Resource Requirements](https://docs.digma.ai/digma-developer-guide/installation/central-on-prem-install/resource-requirements.md)
- [Instrumenting your code for tracing](https://docs.digma.ai/digma-developer-guide/instrumentation/instrumenting-your-code-for-tracing.md)
- [Java](https://docs.digma.ai/digma-developer-guide/instrumentation/java.md)
- [Automatic Instrumentation in the IDE (IntelliJ)](https://docs.digma.ai/digma-developer-guide/instrumentation/java/automatic-instrumentation-in-the-ide.md)
- [Spring, Spring Boot, Dropwizard](https://docs.digma.ai/digma-developer-guide/instrumentation/java/spring-spring-boot-dropwizard-and-default.md): The default strategy for getting observability data from your code to Digma doesn't require any code changes. This also works for other esoteric frameworks or just vanilla Java code
- [Instrumenting your code in CI/Staging or the terminal](https://docs.digma.ai/digma-developer-guide/instrumentation/java/spring-spring-boot-dropwizard-and-default/instrumenting-your-code-in-ci-staging-or-the-terminal.md)
- [Instrumenting your application in Docker Compose](https://docs.digma.ai/digma-developer-guide/instrumentation/java/spring-spring-boot-dropwizard-and-default/instrumenting-your-application-in-docker-compose.md)
- [Instrumenting your application on Kubernetes](https://docs.digma.ai/digma-developer-guide/instrumentation/java/spring-spring-boot-dropwizard-and-default/instrumenting-your-application-on-kubernetes.md)
- [Covering more of your code with Observability](https://docs.digma.ai/digma-developer-guide/instrumentation/java/spring-spring-boot-dropwizard-and-default/covering-more-of-your-code-with-observability.md)
- [Using GitHub Actions (beta)](https://docs.digma.ai/digma-developer-guide/instrumentation/java/spring-spring-boot-dropwizard-and-default/using-github-actions-beta.md)
- [Using Micrometer Tracing (Spring Boot 3.x only)](https://docs.digma.ai/digma-developer-guide/instrumentation/java/spring-spring-boot-dropwizard-and-default/using-micrometer-tracing-spring-boot-3.x-only.md)
- [Instrumenting code running in CLI](https://docs.digma.ai/digma-developer-guide/instrumentation/java/spring-spring-boot-dropwizard-and-default/instrumenting-code-running-in-cli.md)
- [Quarkus, Micronaut, OpenLiberty](https://docs.digma.ai/digma-developer-guide/instrumentation/java/quarkus-micronaut.md)
- [.NET](https://docs.digma.ai/digma-developer-guide/instrumentation/.net.md)
- [Correlating observability and source code commits](https://docs.digma.ai/digma-developer-guide/instrumentation/correlating-observability-and-source-code-commits.md)
- [Sending Data to Digma using the OTEL Collector](https://docs.digma.ai/digma-developer-guide/instrumentation/sending-data-to-digma-using-the-otel-collector.md)
- [Sending Data to Digma Using the Datadog agent](https://docs.digma.ai/digma-developer-guide/instrumentation/sending-data-to-digma-using-the-datadog-agent.md)
- [Design and write code more efficiently by understanding the system flows](https://docs.digma.ai/digma-developer-guide/use-cases/understand-the-application-flows-better-for-faster-development.md): Code usage analytics can be critical to understand how the code works and roll out changes faster and without issues.
- [Get early feedback on bottlenecks and code issues](https://docs.digma.ai/digma-developer-guide/use-cases/get-early-feedback-on-bottlenecks-and-code-issues.md): One thing that Digma tries to do is make observability proactive. This means that if there are any issues you shouldn't encounter them when it's already late in the dev/release process
- [Prioritize Technical Debt](https://docs.digma.ai/digma-developer-guide/use-cases/prioritize-technical-debt.md)
- [Environments](https://docs.digma.ai/digma-developer-guide/digma-core-concepts/environments.md): Environments represent different deployment stages or scopes. Typical environments would include - local development, load testing, CI, staging, or production.
- [Assets](https://docs.digma.ai/digma-developer-guide/digma-core-concepts/assets.md): Assets are different components identified by Digma in the tracing data. The represent the sum of unique elements in the application.
- [Analytics vs. Issues](https://docs.digma.ai/digma-developer-guide/digma-core-concepts/analytics.md)
- [Issues](https://docs.digma.ai/digma-developer-guide/digma-features/insights.md)
- [Suspected N+1](https://docs.digma.ai/digma-developer-guide/digma-features/insights/suspected-n+1.md): N+1 queries are usually a result of modeling issues created by ORMs. They manifest in an excessive number of queries that can carry a performance cost.
- [Excessive API calls (chatty API)](https://docs.digma.ai/digma-developer-guide/digma-features/insights/excessive-api-calls-chatty-api.md): Digma can detect situations of excessive API chatter between different microservices or to different APIs and point them out.
- [Bottleneck](https://docs.digma.ai/digma-developer-guide/digma-features/insights/bottleneck.md): This insight identifies assets that hold up requests by taking a large portion of their time. An asset will not be considered a bottleneck if it is a part of a non-blocking asynchronous execution.
- [Scaling Issue](https://docs.digma.ai/digma-developer-guide/digma-features/insights/scaling-issue.md): The scaling issue insight analyzes how the code performs when running concurrently and automatically tries to RCA the cause of any performance issues.
- [Session In View Query Detected](https://docs.digma.ai/digma-developer-guide/digma-features/insights/session-in-view-query-detected.md): Open Session in View is a common anti-pattern in which the database session is left open during view rendering, possibly resulting in lazy database queries at the rendering phase.
- [Query Optimization Suggested](https://docs.digma.ai/digma-developer-guide/digma-features/insights/query-optimization-suggested.md): This insight identifies queries that are abnormally  slow and are considered candidates for optimization
- [High number of queries](https://docs.digma.ai/digma-developer-guide/digma-features/insights/high-number-of-queries.md): This insight identifies endpoints that trigger an abnormal amount of queries. This can be caused by abstraction issues or not using bulk queries when applicable
- [Slow Endpoint](https://docs.digma.ai/digma-developer-guide/digma-features/insights/slow-endpoint.md): This insight provides an indication if a particular endpoint is slower than others by a substantial degree
- [Analytics](https://docs.digma.ai/digma-developer-guide/digma-features/analytics.md)
- [Top Usage](https://docs.digma.ai/digma-developer-guide/digma-features/analytics/top-usage.md): The usage analytic allows developers to see who is using a given asset - code or non-code, and understand which areas of the app can be affected by any changes
- [Request Breakdown](https://docs.digma.ai/digma-developer-guide/digma-features/analytics/request-breakdown.md): The request
- [Duration](https://docs.digma.ai/digma-developer-guide/digma-features/analytics/duration.md): This insight provides aggregated duration statistics for the selected asset. This also includes recent changes in performance.
- [Code Nexus](https://docs.digma.ai/digma-developer-guide/digma-features/analytics/code-nexus.md): Code nexus points are areas of the code with a high level of runtime dependencies from other endpoints, services and flow. You should be watchful for change impact radius around these locations.
- [Duration Breakdown](https://docs.digma.ai/digma-developer-guide/digma-features/analytics/duration-breakdown.md): This insights allows developers to understand where how the duration of this asset is being spent among all of its child assets.  It aggregates information from all traces using the current asset.
- [Endpoint Low/High Usage](https://docs.digma.ai/digma-developer-guide/digma-features/analytics/endpoint-low-high-usage.md): This analytics provides data on actual usage of an endpoint in terms of traffic and requests per unit of time
- [Performance Impact](https://docs.digma.ai/digma-developer-guide/digma-features/performance-impact.md)
- [Test observability](https://docs.digma.ai/digma-developer-guide/digma-features/test-observability.md)
- [Issue Criticality](https://docs.digma.ai/digma-developer-guide/digma-features/criticality.md)
- [Spring Boot](https://docs.digma.ai/digma-developer-guide/sample-projects/spring-boot.md): Coming soon
- [Reporting Plugin Issues](https://docs.digma.ai/digma-developer-guide/troubleshooting/reporting-plugin-issues.md)
- [Digma Overload Warning](https://docs.digma.ai/digma-developer-guide/troubleshooting/digma-overload-warning.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://docs.digma.ai/digma-developer-guide/readme.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
