LogLens

A log parser adopted for daily use at Helloworld; a clean-room rebuild runs here.

2026Adopted for daily use by the team at HelloworldShipped

‘200,000’ drawn in the points of my sentences about LogLens

200,000 synthetic Nginx and HAProxy lines, parsed in your browser Built

What it is

Source: This site’s own code, for the rebuild. Date: Helloworld Travel, January to June 2026; the rebuild, this build of the site. Scope: What LogLens is and how it was used. The rebuild below shares no code with the production tool and runs on logs generated at build time. Not shown: The production tool, its logs and the size of its effect on incidents (the employer’s).

LogLens is a high-performance parser for Nginx and HAProxy logs, which I built at Helloworld Travel. Shipped I built it for request correlation: following one request through both logs.

What it does

  • Parsing. It turns raw Nginx and HAProxy log lines into structured records.
  • Request correlation. It reads a request’s HAProxy line and Nginx line as one thread.
  • Shorter incidents. It reduced the time to detect and to resolve production incidents. The size of the reduction is the employer’s. Reported

How it is built

LogLens has a Web Worker architecture. The rebuild on this page is a clean-room TypeScript version that shares no code with it. A Web Worker parses the sample and a canvas draws the two logs as lanes. The sample is one synthetic hour of 200,000 lines, with no real traffic. Built

Stack. Web Workers

Where it stands

The team at Helloworld adopted LogLens for daily use. Shipped The tool and its logs are the employer’s, so the rebuild below is what can be shown here.

My part

I built LogLens as Technical Business Analyst and Product Engineer in Helloworld’s Wholesale Business Systems team. Shipped

Each mark is a request placed by time and latency. Hold or tap a mark to pick a request and follow it across both lanes; the arrow keys step through the rows, Shift with an arrow key steps 250 rows at a time. The picked request is read out under the lanes and listed in a table below the stage.

LogLens

Nginx and HAProxy logs, parsed in your browser

Not parsed yet

The sample is parsed in a background thread in your browser as soon as this stage is in view.

Hold or tap a mark to pick one request and follow it across both lanes.

lines a second
0
lines parsed
0
requests in both layers
0
status 500 and above
0
Download the small sample

Clean-room re-implementation on synthetic logs generated at build time. The production tool is Helloworld’s. The meter is your machine’s speed, measured now.

Claim

At Helloworld I built LogLens, a high-performance tool that parses Nginx and HAProxy logs and lets an engineer follow one request across both. The team adopted it for daily use. It reduced the time to detect and the time to resolve production incidents; those deltas are the employer’s and are not shown here. Built

What runs below is a clean-room re-implementation on synthetic logs; the production tool is Helloworld’s. The sample is generated at build time, so nothing in it is real traffic. The meter is your machine’s speed, measured now, not a benchmark of the production tool.

Method

Source: This page’s code. Date: This build. Scope: How the instrument on this page works. It is not a description of the production tool’s internals.

Architecture. The page hands the sample to a Web Worker so the parse never blocks scrolling. The worker reads the sample line by line, recognises the two formats, and sends parsed rows back to the page, which keeps a lines-per-second meter running while it does.

Drawing. A canvas draws two lanes, Nginx on the left and HAProxy on the right. Holding on the stage picks the request id under the pointer and draws its correlation thread across the lanes, which is the whole point of the tool: one request, both sides, one line. On touch the lanes stack vertically with a 44 px scrubber.

What the production tool does that this cannot. Parse Helloworld’s real Nginx and HAProxy logs, for a team that adopted it for daily use. None of that is here, and this instrument measures none of it.

Benchmark note. The meter is measured in your browser each time the sample is parsed; different machines give different numbers. It is on the page because a parser’s claim is only honest with its throughput on the table, and it is a figure about this page on your machine, not about my work.

Raw

Source: This page. Date: Generated at build time. Scope: A synthetic sample in Nginx and HAProxy formats. No real traffic, hosts or users.

Every parsed row in the instrument sits on top of the line it came from. Select a row and the raw line appears beneath it, exactly as the parser received it, so a parse you doubt can be checked against its source. The instrument’s copy button copies the sample’s raw lines, so you can run them through anything else.

Screenshots of the production tool would go here, and only with the employer’s permission.

  1. ‘Oracle-free’ drawn in the points of my sentences about Silent failures of oracle-free LLM checks

    Silent failures of oracle-free LLM checks

    A first-author paper in preparation: how often wrong LLM outputs pass checks with no exact oracle.

    Paper in preparation Method