BootUI
Try it
Setup
Features
Workshop
Properties
AI agents
Ecosystem
GitHub
Try it
Setup
Features
Workshop
Properties
AI agents
Ecosystem
GitHub
  • Get started

    • Try the sample app
    • Setup
    • Spring WebFlux
    • Quarkus
    • Java agent
    • Activation and safety
    • Non-standard runtimes
    • Troubleshooting
  • Workshop

    • Workshop overview
    • 00 - Runtime understanding
    • 01 - Setup and tooling
    • 02 - Configuration and wiring
    • 03 - Runtime journal
    • 04 - Runtime Insights
    • 05 - Java instrumentation
    • 06 - Assessment and impact
    • 07 - Agent change loop
    • 08 - Going further
    • Participant worksheet
    • A - Prompts
    • B - Troubleshooting
    • C - Frameworks
    • D - Extensions
  • Features

    • All features
    • Scorecard
    • Live Activity
    • Runtime Insights
    • Advisors
    • Runtime
    • Configuration
    • Database
    • Security
    • Services
    • Diagnostics
    • Java Agent
    • Developer tools
  • Reference

    • Properties
    • Framework support
    • AI agents
    • Command line
    • BootUI family
    • Known limitations
  • Diagnostic checks

    • Architecture
    • REST API
    • Spring
    • Hibernate
    • Database
    • Security
    • Vulnerabilities
    • Memory
    • Pentesting
    • GraalVM readiness
    • CRaC readiness
    • Quarkus
    • Quarkus security
  • Contributing

    • Repository
    • Specification
    • Implementation plan
    • v2 plan
    • Try 2.0 early
    • v2 validation report
    • Releasing 2.0
    • Quarkus design notes
    • WebFlux design notes
  • Privacy

Features

These groups match the console's own menu. Pick one to read its panels in detail, or use the search box to jump straight to a panel by name.

GroupPanelsWhat it answers
HomeScorecard · Live Activity · Runtime InsightsWhat should I fix first, what did my application just do, and what did this run do that no single panel shows? Each panel has its own page: Scorecard, Live Activity, Runtime Insights.
AdvisorsArchitecture · REST API · Spring · Quarkus · Database · Hibernate · Memory · Security · Pentesting · VulnerabilitiesWhat is wrong with my app, and how do I fix it?
RuntimeHealth · HTTP Sessions · Metrics · Live Memory · JVM Tuning · Heap Dump · Threads · Startup Timeline · GraalVM · CRaCHow is the JVM behaving right now?
ConfigurationConfiguration · Profile Diff · Loggers · Beans · Conditions · MappingsWhat configuration and wiring is actually effective?
DatabaseDatabase Connection Pools · PostgreSQL · MySQL · SQL Trace · Transactions · Hibernate Statistics · Spring Data · Flyway · LiquibaseWhat is my app doing to the database?
SecuritySpring Security · Security LogsHow is access actually enforced?
ServicesScheduled Tasks · REST Client · Fault Tolerance · WebSockets · AI Framework · Cache · Email · Kafka · RabbitMQ · JMSWhat is my app talking to?
DiagnosticsTraces · Log Tail · Exceptions · HTTP Exchanges · HTTP ProbeWhy did that request fail?
InstrumentationJava Agent · Code Paths · Code Inventory · Side EffectsDid my change run? Where does the handler's time go? What did my route start?
Developer toolsMCP Server · Command Line · Spring DevTools · Dev Services · Copilot · Claude Code · GitHubWhat is my toolchain doing locally?

Rules that apply to every panel

An old tab can recover after a UI rebuild. When a panel's JavaScript or stylesheet is no longer available, BootUI keeps the current panel and offers Reload BootUI, which fetches the current UI and opens the intended panel, including its route query and hash. Custom console mounts are preserved.

Reloading discards unsaved input, so BootUI never does it for you. If loading still fails, the alert stays available. There is no automatic retry, reload loop, or background connection probe, and ordinary panel and API errors keep their existing handling.

Unavailable panels are visible, not hidden. When a panel's backing infrastructure is missing, the sidebar moves it into a collapsed Disabled / unavailable group, and opening it shows the reason at the top of the page. The panels that need the BootUI agent are the exception: without the agent they stay in the Instrumentation group, dimmed, with the reason as their tooltip, so they can be found before the agent is attached. A panel turned off by configuration always moves to Disabled / unavailable.

The vendor-specific database panels are the exception. PostgreSQL and MySQL appear only when that vendor's JDBC driver is on the runtime classpath. With the driver present but no matching datasource configured they are listed as unavailable, as above; with no driver at all they are absent from the sidebar and from /bootui/api/panels, and their API path returns 404.

Every panel can be turned off. Use bootui.panels.<panel-id>.enabled=false. Panels with browser-triggered actions also support bootui.panels.<panel-id>.read-only=true, and bootui.read-only=true makes all of BootUI read-only. See the property reference for the complete list.

Changing server state always asks first. Restarting a dev service, capturing or deleting a heap dump, writing a GraalVM or CRaC artifact, running a migration, clearing a cache or trace buffer, and destroying an HTTP session each open a confirmation dialog naming the affected resource. Read-only scans and reversible toggles never prompt.

How the confirmation dialog behaves

The dialog flags irreversible operations, defaults focus to Cancel, dismisses on Escape or a backdrop click, and honors prefers-reduced-motion.

BootUI hides itself by default. Beans, Conditions, Mappings, Loggers, Metrics, Startup Timeline, Scheduled Tasks, Cache, Spring Security, HTTP Exchanges, and Traces exclude BootUI's own runtime data, so they stay focused on your application. Set bootui.monitoring.exclude-self=false to include BootUI internals while debugging the console.

Availability per stack

Spring MVC is the reference stack. For per-panel availability on the other two, see Framework support. The running console is always the better answer: every panel that cannot run says so in the sidebar and explains why when you open it.

Next
Scorecard

© 2026 Julien Dubois