# Tracepanel for Java (/docs/java)

[![Maven Central](https://img.shields.io/maven-central/v/dev.tracepanel/tracepanel-core)](https://central.sonatype.com/namespace/dev.tracepanel)
[![Java](https://img.shields.io/badge/java-17%2B-blue)](https://central.sonatype.com/namespace/dev.tracepanel)

Tracepanel for Java records each request of your Spring Boot or Ktor app with
its SQL, its calls to HTTP APIs, Redis, MongoDB, Kafka and RabbitMQ, its log
records and errors, and sends each trace to the agent. The agent finds the
issues and serves the panel and the console. It works in Java and in Kotlin.

![Swagger UI of a Spring Boot app with the panel docked at the bottom, showing the call tree of GET /api/catalog/products: the controller method, its transaction and two N+1 queries](/screenshots/java-spring-boot.png)

```kotlin
// build.gradle.kts
dependencies {
    developmentOnly("dev.tracepanel:tracepanel-spring-boot:0.3.1")
}
```

It supports Spring Boot 3.5 and 4 with Spring MVC, and Ktor 3, on Java 17 or
later. WebFlux apps aren't supported yet.

<Cards>
  <Card title="Installation" href="/docs/java/installation" description="Add the dependency to your Spring Boot or Ktor app." />
  <Card title="Integrations" href="/docs/java/integrations" description="What Tracepanel records in Spring Boot, Ktor and the libraries." />
  <Card title="Configuration" href="/docs/java/configuration" description="The environment variables and thresholds." />
</Cards>
