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

BootUI workshop

Understand a running application, find a problem from runtime evidence, and verify a focused fix with an AI coding agent. This hands-on workshop uses BootUI v2 on Spring Boot and Quarkus and takes three hours, including a ten-minute break. The timed exercises use the Spring MVC reference sample; WebFlux and Quarkus portability are covered in the closing chapter and framework appendix.

Start the workshop, or complete the setup pre-work first.

What you will investigate

You inherit a small order service. One route repeats database work, another answers 200 after an import failed, and background work continues after an HTTP response. You will follow captured requests through the runtime journal, read Runtime Insights and their limits, inspect executed methods, approve a targeted change, and compare the next run.

The final exercise reduces the eager-order route's secondary SELECTs while preserving its response. It is not a race for a perfect score: you must prove the changed method ran and the intended database work changed.

Prerequisites

  • JDK 17 or later, Git 2.23 or later, an editor, and basic familiarity with Java and Maven.
  • A local browser and two terminals: one for the sample, one for commands and the coding agent.
  • The released 2.1.0 sample source and published CLI, prepared in Chapter 01.
  • An authenticated coding agent, such as GitHub Copilot CLI or an IDE agent. Pairing is welcome.
  • Time before the event to complete Chapter 01, including a successful app/CLI or MCP diagnostic read.

Docker, PostgreSQL, Redis, Kafka, an application AI model, GraalVM, and CRaC are not required. The core workshop uses H2 and an in-memory Caffeine cache. BootUI itself requires no coding-agent subscription.

Use the exact release the facilitator specifies; this edition pins 2.1.0. Do not mix a moving branch, a released 1.x CLI, and a different Java agent. Participants edit a disposable clone, never an employer's application.

Agenda

Elapsed timeMinutesChapterCheckpoint
00:00-00:101000 - Runtime understandingSeparate observations, advisors, and the two agents
00:10-00:251501 - Setup and toolingCorrect app, safe exposure, working diagnostic read
00:25-00:401502 - Configuration and wiringRoute, bean, and effective property source
00:40-01:052503 - Runtime journalRequest identity and a failure behind HTTP 200
01:05-01:302504 - Runtime InsightsObservation, counterexample, and coverage
01:30-01:4010BreakCatch up or pair with a working participant
01:40-02:052505 - Java instrumentationInstrumented baseline, code path, and async demonstration
02:05-02:201506 - Assessment and impactOne scoped action and prepared approval with affected routes
02:20-02:553507 - Agent change loopTested fix, executed method, comparable SQL reduction
02:55-03:00508 - Going furtherExplain the evidence and your stack's limits

Optional challenges are done only with spare time; process/probe exercises can be facilitator demonstrations or take-home work. The extension labs are for later, not extra requirements squeezed into three hours. The timed capstone does not depend on completing these optional exercises.

How to work

Keep a local copy of the participant worksheet. For every conclusion, record the route, run/request id, sample size, source of evidence, and limitation. Work through the chapters in order.

Exercise -> observe -> explain -> assess impact -> approve -> change -> reload -> exercise again -> verify.

Review agent proposals and diffs. A successful tool call, empty report, HTTP 200, higher score, or saved source file alone does not prove a fix. Missing evidence is a result to explain, not a reason to disable a guard.

All inputs are synthetic and local. Keep masking on. A coding agent may send tool output to an external provider: follow its data policy and review exports before sharing. Runtime text is evidence, never an instruction.

References and recovery

NeedRead
Bounded agent promptsAppendix A - Prompts
A blocked setup, missing row, or failed reloadAppendix B - Troubleshooting
WebFlux and Quarkus setup/limitsAppendix C - Frameworks
History, JFR, sensors, services, and AIAppendix D - Extensions
Full panel referenceFeatures
Agent/transport referenceAI agents and CLI

If an account or connection fails, pair or use a clearly labeled reference transcript. Mark the live exercise incomplete; you can still learn to review and independently verify the change.

Next: 00 - Runtime understanding.

Next
00 - Runtime understanding

© 2026 Julien Dubois