Distributed tracing is essential for analysing microservice latency, debugging inter-service communication, and validating OpenTelemetry span emissions. However, running local tracing storage engines and UI dashboards directly on a developer workstation often causes port conflicts and consumes background system resources. In Windows 11, Windows Sandbox provides a lightweight, fully disposable virtual environment. By authoring custom Windows Sandbox XML (.wsb) configuration files, you can deploy an all-in-one Jaeger tracing backend in seconds.
Architecture of the Disposable Jaeger Sandbox
Windows Sandbox provides an isolated Hyper-V guest operating system that resets to a clean slate upon closure. To provision an automated Jaeger environment, our architecture consists of two files residing on the host machine:
- A mapped host folder: A directory containing the standalone
jaeger-all-in-one.exeexecutable and configuration scripts. - A sandbox configuration file: An XML blueprint file (
.wsb) specifying shared folder mounting and an automatedLogonCommand.
Authoring the Windows Sandbox WSB Blueprint
Create a dedicated host folder, such as C:\SandboxJaeger. Download the Windows release of jaeger-all-in-one.exe into this directory. Then create LaunchJaeger.wsb with the following XML structure:
<Configuration>
<VGpu>Default</VGpu>
<Networking>Default</Networking>
<MappedFolders>
<MappedFolder>
<HostFolder>C:\SandboxJaeger</HostFolder>
<SandboxFolder>C:\JaegerFiles</SandboxFolder>
<ReadOnly>false</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command>powershell.exe -ExecutionPolicy Bypass -NoExit -File C:\JaegerFiles\Start-Jaeger.ps1</Command>
</LogonCommand>
</Configuration>
Authoring the Automated Jaeger Startup Script
Inside the same host directory (C:\SandboxJaeger), create the PowerShell initialization script named Start-Jaeger.ps1:
Write-Host "=============================================" -ForegroundColor Cyan
Write-Host " Starting Jaeger All-In-One Tracing Backend.. " -ForegroundColor Green
Write-Host " Web UI: http://127.0.0.1:16686 " -ForegroundColor Yellow
Write-Host " OTLP gRPC: 127.0.0.1:4317 " -ForegroundColor Yellow
Write-Host " OTLP HTTP: 127.0.0.1:4318 " -ForegroundColor Yellow
Write-Host "=============================================" -ForegroundColor Cyan
# Set environment variables for OTLP ingestion
$env:COLLECTOR_OTLP_ENABLED = "true"
# Launch Jaeger all-in-one binary
& "C:\JaegerFiles\jaeger-all-in-one.exe" --query.port 16686
Running and Validating Tracing in the Sandbox
Launch the environment by double-clicking LaunchJaeger.wsb. Windows Sandbox boots up, mounts the mapped folder, and immediately launches Jaeger inside an interactive PowerShell window.
The Jaeger backend begins listening on port 16686 for its web query interface and on ports 4317/4318 for OpenTelemetry trace payloads. Open Microsoft Edge inside the sandbox and navigate to http://127.0.0.1:16686 to access the search UI.
You can send trace spans from local test suites, inspect latency waterfall diagrams, and benchmark sampling strategies in complete isolation. When testing concludes, closing the sandbox window instantly eliminates all trace data, memory buffers, and running processes, leaving your host system clean and unburdened.