BX Lens
Get started
BoxLang module · Free and BoxLang+

See inside your app.
And every server.

BX Lens is the debug bar and ops console for BoxLang. Every request, query, HTTP call, mail and AI run in one place. Disk volumes, a view of all your servers (BoxLang+), email alerts and daily reports. Ask Lensy in plain words and approve the change.

$install-bx-module bx-lens
  • Off by default, loopback only
  • No external requests
  • Secrets redacted
3 servers · 1 behind
Disk /data at 88%
Lensy: alert on, awaiting approval
2surfaces: a bar on every page and a full console
15email alerts you can switch on
3report cadences: daily, weekly, monthly
0external requests, works air-gapped
Two surfaces

A bar for the request. A console for the server.

Start with the bar while you build. Open the console when you run it.

The tour

Everything your app and server are doing.

Pick an area. Every one is a page in the console, with its own docs.

Errors, grouped and explained

Every failed request is grouped by what went wrong, with the stack, the request and how often it happens. Press Explain and Lensy reads it with you.

  • Groups merged across servers (BoxLang+)
  • Daily and 15 day reports
  • Secrets redacted before anything is shown
Errors and reports →
The Errors page with grouped exceptions

Queries and ORM SQL

The slowest statements, the longest, the counts and the failures. ORM SQL shows with the rest, and datasource pools show their numbers and a connection test.

  • Slow and repeated queries
  • Hibernate statistics (Plus)
  • Pool use and waiting threads
Queries and in flight →
The Queries page with the slowest statements

Outgoing HTTP, by host

Which partner is slow, which one fails, and what it costs you. A latency histogram per host, a needs attention list and history from the saved rollups.

  • Per host and endpoint totals
  • Attention rules with limits you set
  • Up to 15 days of history
HTTP →
The HTTP page with calls per host

Mail you can see

Every message bx-mail builds, spools, sends or bounces. Read it as the recipient does, in a sandbox with no scripts and no remote images. See each delivery attempt and the SMTP error.

  • HTML, text, headers and attachments
  • Phone width and dark preview
  • Spool queue with retry and discard
Mail →
The Mail viewer with a message preview

Observe your AI

Runs, agents, tools, MCP servers, models and cost for BoxLang AI. Open a run and read the trace of every step.

  • Tokens and cost per model
  • MCP server health
  • Failed runs and rate limits flagged
AI observability →
The AI observability overview

The JVM, the disks, the threads

Heap, GC, CPU and threads with a deadlock check. Every disk volume with size, free and read only, and the folders BoxLang and Lens write to.

  • Volumes and folders are free
  • Heap dump and GC on demand
  • Thread viewer and dump
System and threads →
The System page with disk volumes and the folders Lens uses

All your servers in one table BoxLang+

Each server saves a health snapshot every minute. See heap, CPU, the fullest disk and last seen for the whole cluster, then open any server read only.

  • Fleet table on the Overview
  • Mail, ORM, queries and system per server
  • No agents, no extra service
  • Free shows one server only
Servers →
The servers table on the Overview with heap, CPU and disk per server
Multi server observability · BoxLang+

One folder. Every server. No agents.

Servers write what they know to a shared store. Any console reads it. Alerts are sent once for the cluster, not once per server.

BoxLang+ feature. The Free version is one server only.

web-1live
web-2disk 88%
web-3behind
Shared storehealth, rollups, errors, reports
Any consoleread only view of every server
Alerts and reports · BoxLang+

Hear about it before your users do.

Fifteen alerts, all off until you switch them on. You choose how Lens sends mail. Admins get a daily, weekly and monthly report for the whole cluster.

Server downDeadlockHeap pressureDisk spaceError spike Failed requestsSlow siteDatasource poolExecutor saturated Task failingOutgoing HTTPMailAISecurityLog errors
  • Your SMTP, not your app's. Lens sends through its own mail client. The password never lands in a settings file.
  • One mail, not twelve. One server sends for the cluster. An alert repeats while true and a resolved mail follows.
  • Reports with context. Requests, errors, slow routes, bad hosts, mail, restarts and the fullest disk, set against the period before.
Notifications → Email reports →
A weekly report preview with totals and a table per server
Lensy · the ops assistant in your console

Meet Lensy.
It knows your server, and asks before it acts.

Ask in plain words. Lensy reads your errors, queries, threads, mail and servers, explains what it finds and searches the BoxLang docs. When a change is needed it proposes one, shows you exactly what will happen and waits for an admin to press Approve.

1Ask

"How healthy is the server?" Lensy looks at the live data and answers in plain words.

2Approve

"Turn on the disk space alert at 85 percent." An approval card shows the exact change. Nothing happens until you press Approve.

3Delegate

"Email ops@acme.example.com about capacity problems, with the daily report." Lensy sets up the recipient for you.

Reads

Errors, queries, threads, executors, datasources, caches, logs, HTTP, mail, servers and alerts.

Explains

Why a request is slow, what a stack trace means, which host keeps failing and what to try next.

Changes, with approval

Alerts, recipients, report schedules, scheduled tasks, caches and GC. Admins only, one decision at a time.

Looks things up

Searches the BoxLang docs and any MCP server you choose to switch on.

Never without you Every action audited Secrets redacted before the model sees anything Runs on Ollama, so data can stay on your network Cannot touch SMTP, access or store settings
Free and BoxLang+

Free to use, in production too.

The bar, the console basics, volumes and the BIFs are free, for one server. BoxLang+ adds multi server observability and what teams need to run a fleet.

Free

  • The bar, every tab
  • Console: requests, errors in memory, executors, tasks, datasources, caches, logs, system
  • Disk volumes and folders of this server
  • Roles, audit log, read only mode
  • All lens* BIFs and the extension API

BoxLang+ or trial

  • Saved errors, reports and rollups for 15 days
  • Multi server observability: the fleet table and the pages of every other server
  • Mail viewer and monitor
  • 15 email alerts and daily, weekly, monthly reports
  • Lensy: chat, tools and approved changes
  • AI observability, ORM statistics, HTTP history
  • Request cost, heap dump, diagnostic bundle
Compare in detail
Built to be safe in production

It watches your app without becoming a risk.

Off until you say so

Both surfaces are disabled by default and answer on loopback only. Open them up with an IP list and a password.

Roles and an audit log

A viewer role that can look but not change anything. Every change, login and approved action is in the audit log.

Redacted by default

Passwords, tokens and keys are removed before any value reaches the screen, a mail or the AI.

Light on a busy server

Collection is capped and bounded. Pick light or full, and see the overhead on the Configuration page.

Part of the BoxLang ecosystem

Built for BoxLang, with BoxLang.

Two minutes to your first look

Install it. Turn it on. See your app.

Install the module, enable the bar or the console in boxlang.json and open your app.