How to Configure Windows Sandbox Local Jaeger Tracing Backend via XML in Windows 11

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.exe executable and configuration scripts.
  • A sandbox configuration file: An XML blueprint file (.wsb) specifying shared folder mounting and an automated LogonCommand.

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.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.