Skip to content

Quick start

Add the starter, run your app, open the toolbar and the dashboard.

Add the dependency

Maven

<dependency>
    <groupId>org.peekaboot</groupId>
    <artifactId>peekaboot-spring-boot-starter</artifactId>
    <version>1.0.0</version>
</dependency>

Gradle

implementation("org.peekaboot:peekaboot-spring-boot-starter:1.0.0")

To keep Peekaboot out of the executable jar in Gradle, declare it developmentOnly instead. Spring Boot’s Gradle plugin still puts it on the bootRun class path:

developmentOnly("org.peekaboot:peekaboot-spring-boot-starter:1.0.0")

For Maven, see Keeping it out of the artifact.

What your application needs

Peekaboot serves the dashboard and the toolbar on servlet (Spring MVC) applications only. On WebFlux or a non-web application they are absent, and startup is unaffected.

Run your app

Start it from your IDE, with mvn spring-boot:run or with gradle bootRun. Peekaboot turns itself and the dev toolbar on for these launches. The toolbar docks to the bottom of every HTML page your app renders.

The collapsed dev toolbar docked at the bottom of the page, showing a 200 status badge, GET /orders, the controller method, duration, query count and duration, and a copyable trace id

Click the bar for request and response detail, the trace view and the request’s logs. See Dev toolbar.

Set peekaboot.dev-toolbar: false to turn the toolbar off and keep the dashboard.

Peekaboot is off in a devcontainer. A container never counts as a local run. Turn it on with the properties below; see Configuration, containers.

Turn it on outside a local run

These properties default to true for a local run and to false for java -jar, wars, native images, containers and tests. Any value you set wins.

Property Default Effect
peekaboot.enabled local run only The dashboard, its API and Peekaboot’s Spring Boot defaults. Every other switch also needs it.
peekaboot.dev-toolbar local run only The toolbar, log capture and request-detail capture.
peekaboot.storage.enabled local run only Keeps the charts and the run history in ~/.peekaboot across restarts.
peekaboot.error-page.enabled local run only Peekaboot’s error page in place of Spring Boot’s whitelabel page.
peekaboot.stack-trace.fold local run only Folds framework frames on the error page and in the Logs tab.

Outside a local run, Peekaboot also protects /peekaboot/** with HTTP Basic (peekaboot.security.enabled). Read Do I want this in production? before you turn it on anywhere shared. All other properties are in Configuration.

Open the dashboard

The dashboard is at http://localhost:8080/peekaboot/, its API under http://localhost:8080/peekaboot/api/. On another port or context path, use the URL on the Peekaboot Dashboard: line Peekaboot logs once the application is ready. See Configuration.

The Peekaboot dashboard's Overview tab, showing Build, Git, Spring, Java, System, JVM Defaults and Datasource cards for a running application

What you get immediately

What the starter brings

Adding peekaboot-spring-boot-starter pulls in:

Peekaboot requires the OpenTelemetry bridge the starter brings. Brave is not supported: with the Brave bridge the Traces tab stays empty and the toolbar never shows a trace.

If you exclude one of them

Startup never fails because of a missing piece.

Missing What happens
A Micrometer Tracer bean The dev toolbar is absent. The rest of the dashboard works.
The OpenTelemetry SDK The Traces tab stays empty.
A Micrometer MeterRegistry bean The Meters and Insights tabs, the insights API and the Overview stat tiles are absent. See Insights.

Next