vexlo binary. This procedure builds
that binary from source and starts an authenticated local deployment.
Prerequisites
Install Git, Go, npm, curl, Node.js 22.12 or later, and a C compiler for the SQLite driver. The Go module selects toolchaingo1.27.3 through go.mod. The server build includes its web UI.
The SDK and MCP have separate installation instructions under
Python SDK and Connect an agent.
The commands below use loopback ports 8080 and 9101; select different addresses in
configuration if those ports are occupied.
Build the binary
From your chosen installation directory:web/dist. Add the absolute
vexlo/bin directory to your shell or process environment when using the binary later.
Select storage directories
Keep server storage and the SDK’s local queue in separate directories. From the installation parent directory, set:VEXLO_DATA_DIR. Token commands
use the same directory. The SDK and relay must share VEXLO_SPOOL_DIR on the application host.
Keep these absolute paths in the environment of the processes you start.
Create deployment credentials
Create an ingest token for the relay and a read token for the UI and API. This example uses teamdevelopment; both tokens must name the team whose records you want to read.
token list calls show metadata. See Authentication for token scope
and revocation.
Save the process environment
From the installation parent directory, save the selected paths and credential-file locations:Start the server and relay
Open a terminal in the installation parent directory, load the environment and start the server:http://127.0.0.1:8080. Authentication remains enabled on loopback.
Open a second terminal in the same installation parent directory:
VEXLO_ENDPOINT. Its development environment
label is separate from the team supplied by the ingest token. On another application host,
run a relay there with the SDK’s queue directory and the destination server’s URL. Configure
TLS before using a non-loopback connection.
Verify access
In a third terminal, loadvexlo-env.sh from the installation parent directory.
Verify read access:
whoami verifies the credential and server connection. Relay health and status verify the
forwarding process and queue. They do not prove an application has recorded a request yet.
Complete the quickstart to send a request through the SDK, or
instrument your service.
Open http://127.0.0.1:8080, paste the read token in Read token, and select Connect.
Use Search traces to find existing recordings.
Stop the processes
PressCtrl+C in each process terminal to stop the server and relay. Their data directories
remain at the paths you selected. To restart, load the same vexlo-env.sh file and run the
server and relay commands again. For unattended deployment, run both processes under your
process supervisor.
Plan for capture cost
Measure application latency and CPU with representative inputs and concurrency. Input binding, value conversion, exception-message formatting and optional log formatting run in the application process. A local writer performs file work in the background, and the relay handles the network hop. Measure those boundaries separately as well as end to end. Log capture formats and stores messages for each recorded attempt. Its cost depends on message volume and formatting. Custom-object adapters and exception formatting can execute application code, so measure with the objects and methods your service uses. Value sampling changes which captured bytes are retained. It does not skip the value-capture work or remove previews.capture_values=False skips input, output and error-value capture;
tags and logs have separate controls.
Capture controls documents the settings that affect captured data,
and Retention explains the queue and server capacity limits.