Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Português

Glossary

The words these guides use, each said for someone meeting it the first time. A word in italics has its own entry.

Backend

The part of the browser a chart draws with: WebGPU where the browser has it, WebGL2 where it does not, and a 2D canvas drawn on the CPU when it has neither. The chart picks the best one by itself; every backend draws the same frame.

Base

The width of time of the pyramid’s finest buckets, its level 0 — one second by default. Choose about the spacing of your points: see the pyramid.

Bucket

A summary of the points in a stretch of time in eight numbers: the first and last point’s time and value, the least and greatest value, how many points, and the sum of their weights. Two neighbouring buckets merge into one without going back to the points.

C ABI

The Application Binary Interface: how a compiled program calls a library — which functions exist, and how their arguments sit in memory. nonius-capi gives Nonius a C one, so any language that can call C can use it. Its version number changes when that layout does.

Column

A pixel column of the chart. A view spreads its time range over its columns, and the chart reads one summary per column.

CORS

Cross-Origin Resource Sharing: the rule by which a browser lets a page read a server at another address. The server says who may, in headers; nonius-server allows any page.

Crate

A Rust package, published on crates.io. Nonius is seven of them, from nonius-format (the bytes) to nonius-server (the program).

Device pixel and pixel ratio

A screen’s own pixels. A page is laid out in CSS pixels; on a sharp screen one CSS pixel is two or three device pixels, its pixel ratio. The chart draws in device pixels, so its lines stay sharp.

ETag

A short tag a server gives an answer — nonius-server uses a hash of its bytes. A client that has the answer asks again with the tag, and gets 304 Not Modified with no body if nothing changed.

Exponent

See scale.

Frame

Two meanings. On screen, one picture the chart draws — sixty a second as a person drags. On a live feed, one numbered message carrying new points.

Gap

The longest time between two points that the line still joins. Past it, the line breaks. By default every point is joined; you set the gap from what you know of your data.

Level

One layer of the pyramid. Level 0’s buckets are the base wide; each level above is four times as wide.

Live feed

Points sent as they happen, over a WebSocket, in numbered frames. A frame the network loses is noticed by its missing number and asked for again.

Metadata

A series’ description, as a server answers it in JSON: its time range, its scale, its pyramid, its last point. A chart reads it before any tile.

NSB1

Nonius’s series file format: the points’ three columns (time, value, weight), the scale, and a checksum, in a container whose first bytes are NONIUSB1. It is read where it lands in memory, with no decoding step. A file usually ends in .nsb.

Pick

Finding the point under the pointer: the chart does it for the crosshair, and a server answers /pick for a page that shows its image.

Point

The one thing every package takes: t, v and w, three integers — a time in nanoseconds since 1970 (UTC), a value, a weight.

Protocol

The rules for asking a server about a series over HTTP: which addresses exist and which bytes each answers. Written to be implemented without Nonius’s code; nonius-server is its reference.

Pyramid

A series summarised at several widths of time, each level four times as wide as the one below, so a view of any length reads a few thousand buckets instead of every point — and draws exactly the same line.

Pyramid file

A series and its built pyramid in one file, stored as the protocol’s own columns. A server maps it and starts at once, whatever its size.

Raw points

The points themselves, not summaries. A view deep enough in a zoom reads them.

Scale

How many decimal places a series’ values have. At a scale of 2, the integer 2137 means 21.37. Also called the exponent.

Series

The points of one quantity over time, in time order: one sensor, one instrument, one metric.

Still

One frame drawn on the CPU as a PNG image, with no window and no GPU.

Tile

A small piece of a series cut for a view, so a chart fetches only what its screen shows. A column tile holds summaries of one level; a raw tile holds the raw points of a span of time.

Time zone

A place’s rule for its local time, named as in the IANA database, such as Europe/Lisbon. Nonius keeps every time in UTC; a zone changes only the labels.

WebAssembly

A compact program format browsers run at near native speed. Nonius’s Rust core is compiled to it, so the browser runs the same code as the server. Often written wasm.

WebGL2 and WebGPU

The browser’s two ways of drawing on the graphics card. WebGPU is the newer; WebGL2 is everywhere. See backend.

WebSocket

A connection a page keeps open to a server, so the server can send data the moment it has it. A live feed runs over one.

Weight

The w of a point: how much it counts — 1 for a plain reading, the volume of a trade. Summaries add the weights up.

2D canvas

The browser’s plain drawing surface, drawn by the CPU. The chart’s last backend, used when the browser has no WebGPU or WebGL2.