Repository navigation
traffic66 2.4.0 - #25
Merged
Merged
Conversation
GET /api/report?from&to&if answers what a printable report needs in one request: totals for the period, its average, peak and 95th percentile, a row per interface, the top hosts, applications and countries, and the findings by severity. With if=exporter/ifindex the whole report is about that one interface. Two measurements of an interface exist and they do not agree, so each row says which one it is rather than mixing them: the device's own counters where they were read (what a carrier bills against, with the share of the period that was measured), the sampled flows where there are none. Utilisation is given only where the interface speed is known. The peak and the percentile leave out the bucket that is still filling, so a report reaching up to now no longer takes its peak from a half-counted minute.
Top 66 opened on the grouped table, which answers "what kind of traffic is this" — but the question somebody opens the page with is "who is talking", and that is the other tab. It now opens on the two ends of each conversation, and only the table mode is written into the address so a shared link still lands where the sender was. The map's three line widths were 1.5 / 4 / 8 px. The widest was so much heavier than the rest that it drowned the five shades that carry the same figure. They are now 1.5 / 3 / 4.5 px: the widest is about what the middle one was, and the colour is read again.
Four pages were left out of the mark: the overview, the sources, the account and the help page. The overview is the one somebody screenshots into a report, and keeping a list of exceptions right as pages are added is work nobody will do, so there are no exceptions now. The login screen is not one of these views and stays unmarked. The tile is 360x235 instead of 460x300, which puts about half again as many of the words on a screen. The glyph, its size and its faint ink are unchanged: the mark is easier to see as a mark without making anything under it harder to read.
The rule named four pages and two ranges, so the traffic, Top 66, flow paths, geo and interface pages stood still on a 6-hour or 24-hour range until somebody clicked something. The records were arriving and the numbers were right; the page was simply old, which is what "the chart lags" looks like from the outside. Every page that shows incoming data now redraws on its own, once what is on screen is older than its range's beat: 20 s on 15 minutes, 30 s on an hour, a minute on 6 and 24 hours, five minutes on 7 and 30 days — the width of the buckets the range is drawn in, so no redraw is asked for figures that cannot have changed. A range typed by hand ends in the past and has no beat. The check runs every 5 s, so changing the range takes effect at once rather than at the end of a cycle nobody can see.
The source and destination network charts asked for peer_asn <> 0, so traffic the AS database could not place was left out of them entirely. The AS table on the same page counts it, as "unknown", so the two disagreed; and where few flows carry an AS number, whole buckets came back empty and the chart was drawn as blocks with nothing between them — the shorter the range, the worse, because a one-minute bucket needs a placed AS in that minute while an hour-long one only needs it somewhere in the hour. Unplaced traffic now counts as AS 0 and is drawn as "unknown", like the table. A bucket is empty only when nothing went through it.
It sat at the foot of the sidebar, a 728x90 banner squeezed into 208 px and shown one at a time. It is now the full width of the browser above the sidebar and the content, and because the banners in the manifest are 728x90 the strip puts as many of them side by side as the window has room for (one per 420 px, up to six fetched) rather than stretching one. The rest rotate in together, with dots only when more exist than fit. It scrolls away with the page instead of holding a band of every screen, it is left out of print, and the sidebar's height is measured against it so the language picker and the sign-out button stay on screen.
The top bar said "Refreshes every 30 s" on every range, which was one number for a page that now redraws on its range's own beat. The line takes the number from that beat, and is left off a range that ends in the past and never moves.
The billing page was a table and nothing else: the 95th percentile, the peak and the average as numbers, with no way to see the five-minute samples behind them. GET /api/billing/series?from&to&if returns those buckets for one interface, with the bill the table shows, and the page draws one chart per billed interface: inbound and outbound, and a dashed line at the figure charged. Buckets the device reported nothing for stay empty in the chart as they are left out of the percentile — drawing them at zero would say the circuit was idle when nothing was collected. A month is more buckets than a chart has pixels, so above ~600 they are grouped and the highest of each group kept; the dashed line comes from the server, which saw them all.
An installation could only say "registered": the name on the licence was in the footer, but nothing said whether that name was a person or a company, so a licence bought by one person looked the same as a company's. The signed message gains a third version: v3 is v2 with the licensee after the customer. A file naming one is checked against v3 alone, so it cannot be written in afterwards; v2 and v1 licences still verify as what they are and carry no licensee rather than a guess. The sidebar badge carries the name under the word, the footer and the licence page say individual or organization beside it, and a licence issued before this says "kind not stated" rather than inventing one.
Asset management was a group in the sidebar with three pages under it, one of them an address book: subnets, assigned addresses, utilisation bars, free-address suggestions and a conflict report. It was a second place to keep what the system that hands out addresses already knows, and keeping it right was work nobody signed up for. What is left is a note beside the ports: a device's page lists the networks it carries (prefix, name, VLAN, gateway, tags) and an administrator adds one there. Nothing is looked up in it — no chart, name or filter comes from that table — and it says so on the page. The group is gone with it: rooms and racks, and names, now stand on their own in the sidebar. Addresses, their CSV columns, and the two paste formats that only fed them (show ip arp, show mac address-table) are removed. The addrs table is still created and left alone, so a ledger filled in before this keeps what was typed into it.
The banner had three sources: the browser straight from GitHub, a copy the traffic66 server downloaded every six hours into <data>/sponsor and served at /api/sponsor, and a built-in text. The middle one made the installation itself reach out to GitHub on a schedule, which is a thing an operator has to explain to a firewall team for an advert. Only the viewer's browser fetches it now. A browser that cannot reach GitHub shows the built-in text. The download loop, the cache and both routes are removed, and the manuals say so.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The changes for 2.4.0; CHANGELOG.md has them in full.
GET /api/report)GET /api/billing/series)Generated by Claude Code