Realtime/p/[project]/live

What is happening on the site right now

The realtime view is the one people open during a launch, and it is the one that makes an analytics install feel connected to something real. Falorb streams it from your own server over server-sent events, so the numbers move without anybody pressing refresh.

The realtime page: visitors-now figures above a live event feed, with panels for active pages, countries and longest-on-site visitors.The realtime page: visitors-now figures above a live event feed, with panels for active pages, countries and longest-on-site visitors.
Live · updates every three seconds

Visitors now, and how that compares

The current count of people active on the property, with the events and pageviews they have generated in the last few minutes. It is derived from the same event stream as everything else, so what you see live is what the reports will say tomorrow.

Realtime stat tiles showing visitors online now, pageviews and events in the last five minutes.Realtime stat tiles showing visitors online now, pageviews and events in the last five minutes.

The feed

Every event as it lands: who, what, where, and how long ago. Identified people show as themselves, anonymous ones as a stable short id, and each row links straight into the full profile, which is usually where the interesting question leads next.

A live feed of individual events, each with person, event name, page and relative time.A live feed of individual events, each with person, event name, page and relative time.

Where they are, and what they are reading

Pages active right now, ranked by the number of people on them, and the countries those people are in. Geolocation happens in-process at the collector from a local MaxMind database, so no lookup leaves your network, and the IP is discarded before anything is stored.

A panel listing the pages with visitors on them right now, ranked by concurrent visitors.A panel listing the pages with visitors on them right now, ranked by concurrent visitors.

Longest on site

The visitors who have been reading for the longest, which on a content property is a better signal of interest than any counter of arrivals. Sessions time out after thirty minutes of inactivity, using the same constant on the client and the server so the two never disagree about when a session ended.

A panel ranking current visitors by time on site, with the page each is on.A panel ranking current visitors by time on site, with the page each is on.
Specifics

How it works, precisely

Transport
Server-sent events on your own origin, cursor-advanced so no event is replayed
Cadence
Three-second poll behind the stream
Lifetime
The stream closes itself after thirty minutes rather than leaking an open connection
Session window
Thirty minutes of inactivity, shared between tracker and server
Questions

Realtime: the usual questions

Does the live view keep a connection open forever?

No. The stream self-closes after thirty minutes. A tab left open overnight stops consuming a connection rather than holding one until the process restarts.

Is realtime data stored differently from the rest?

No. There is one pipeline. Events go to Redis at collection and a worker writes them to ClickHouse, so the live view and the historical reports read the same rows.

Run it yourself this afternoon

Clone the repository, bring up the stack with Docker Compose, paste one script tag. The data never leaves your machines.