Skip to content
New storyWe built Skald to count visitors. It caught an AI-key thief.
SkaldEvery visit, truly told.

Features · real time

Real-time analytics: who is on your site now

Real-time analytics with two honest clocks. Visitors are counted every 2 minutes, with the same rules as every other figure. Requests are read every 15 seconds and always called requests.

Real-time analytics shows what is happening on a website right now: who is on it, what they read and where they came from. Skald reads it from the end of your server's access log, so AI assistants and crawlers show too, in their own units. Part of Skald features.

30-day free trial · no card · we set it up within one working day · free to self-host

Overview › Real time · sampletwo clocks
  1. 14:02:10 Visitors as of 14:02:10counted every 2 min
  2. 14:03:45 Requests as of 14:03:45read every 15 s
  3. Active now · 14 visitorspeople
  4. Last 30 minutes · 61 visitorspeople
  5. Requests this minute · 412requests, not people
  6. ChatGPT-User · 9 requests, 30 minAI · live fetch

Sample figures. People and requests, each on its own clock and in its own unit.

[01] two clocks

Real-time visitors every 2 minutes, requests every 15 seconds

A raw request is not a person. So Real time shows two figures, each with its own clock at the top of the page, and never mixes them.

flip it

Visitors, counted every 2 minutes

The people figures: active now (a request in the last 5 minutes), the last 30 minutes, today so far, and pages read in the last 30 minutes. Counted with the same rules as every other figure, so a crawler pretending to be a browser, your own office and the heartbeat are never in them.

If the clock says late, the 2-minute count has not run for more than 10 minutes, and Site › Data quality says why.

14active now · visitors
412requests this minute

Sample figures. The left one is people, the right one is log lines.

Skald Real time tab with sample data: visitors active now, the last 30 minutes as bars, and a world map with countries shaded by visits today
Sample data. Real time, with the live world map.

[02] the live map

A live world map of your visitors, down to the city

Each country is shaded by its visits today. A green bubble marks a country with visitors active in the last 30 minutes.

With a city file, a pulsing dot sits on each city with someone on the site now, and a hollow dot marks a city with visits today and nobody active. Point at one for its figures, click it for its detail. The By country and By city tables beside it hold the same figures, to search, sort and download.

The map is drawn in the page from Natural Earth's public-domain outlines. No map service is asked for anything.

[03] what they are doing

What visitors are doing now, page by page

On Overview with Today · Live on: the five visitors with the newest activity, where they are, their device, where they came from, and the pages they read in order.

As visitors move, a new page joins their path, a new visitor slides in at the top, and one who has gone quiet fades out. Point at a row and its city pulses on the map. Select one to open the visitor drawer with its journey.

What visitors are doing now · samplelive
  1. Toronto · Mobile · from chatgpt.com
  2. Lyon · Desktop · from google.com
  3. Austin · Desktop · Direct
  4. now on /book-a-demo/ · 20 s ago

Sample visitors. No address and no browser string is shown here.

[04] today against yesterday

Today so far against yesterday at this hour

At 14:33 today, each tile is set against yesterday from midnight to 14:33. Never against all of yesterday, which would make every morning look like a fall.

412Visitors · +18% vs yesterday by now
1,130Pages read · +9%
3Leads · +2
21Visitors from AI · Not recorded yesterday

Sample figures. Under 10 yesterday, the change is a count (+2); from 10, a percent.

  1. Its own second count

    Yesterday is counted again from the log up to the same time, every 2 minutes, with today's rules. Leads come from the lead store, test rows left out.

  2. Not recorded, never a fall

    If yesterday was withheld, only partly in the log, or not recorded, the change says Not recorded. It never shows as a drop to zero.

  3. A running total by hour

    The small chart under each tile is today as a line and yesterday dashed. Point at it for the totals at each hour.

[05] the lists

Pages, sources, devices and AI, right now

Under the map, four lists for the last 30 minutes. Select any page, source, device or crawler to open its detail.

  1. Pages being read

    Page views in the last 30 minutes, by page.

  2. Newest visits

    The ten newest, with time, city or country, device, source, landing page and pages so far. "Active now" means a request in the last 5 minutes.

  3. Sources and devices now

    Visitors active in the last 30 minutes, by where they came from and by device.

  4. AI and crawlers now

    Requests from AI assistants and search crawlers by name, other bots and scanners as one count. Machines, in requests.

[06] checked, even live

Real-time figures, counted twice

Every real-time figure is counted a second time from the raw log lines, along with yesterday at this hour and the last 15-second request count.

If the second count of today disagrees, today's figures are withheld and Real time shows no visitor figures until they match. The request count stays: it is a plain count of log lines.

What it does not do

  • Visitor figures refresh every 2 minutes, not every 15 seconds. The 15-second figure is requests, never people.
  • Real time always covers the whole site, never one page group. On a page group, yesterday at this hour says not recorded.
  • Cities need a city file set by whoever runs your Skald server. Without one, the map shows countries only.
  • Lines that reach the log late, from a log shipper say, reach Real time late too.
  • In the live demo there is no running Skald, so its requests per minute come from the 2-minute count, and it says so.

questions

Real-time analytics FAQ

Straight answers, including what Skald does not do.

How often does Skald's real-time view update?

It has two clocks. The visitor figures are counted every 2 minutes, with the same rules as every other figure, so crawlers, your own office and the heartbeat are never in them. Requests per minute are read from the end of the log every 15 seconds. The page asks for fresh figures every 15 seconds while it is open.

Why does Skald say requests and not visitors for the 15-second figure?

Because those lines are not sorted into people and machines yet. One page can make many requests, and a crawler makes requests too. A spike in requests with no visitors is usually a crawler. Skald never calls a request a visitor.

What does active now mean?

A visitor with any request in the last 5 minutes. A visitor is a visit that read a page, the same count as Visitors everywhere else in the dashboard, and an upper bound on people.

Does the live map use an outside map service?

No. The map is drawn in the page from Natural Earth's public-domain outlines. No map service is asked for anything. Countries are shaded by visits today, and with a city file, each city with someone on the site in the last 30 minutes gets a pulsing dot.

Can I see AI assistants in real time?

Yes. AI and crawlers now lists requests from AI assistants and search crawlers in the last 30 minutes, by name, with other bots and scanners as one count. They are machines, counted in requests, never as visitors.

What happens if the real-time figures do not add up?

Every real-time figure is counted a second time from the raw log lines. If that second count of today disagrees, Real time shows no visitor figures until they match. The request count stays, because it is a plain count of log lines.

$ tail -f access.log | skald

See what AI does with your site. Free for 30 days.

No card. We set up hosted Skald for you within one working day, or you self-host it free. Every line of your log, sorted and added up.

Start free trial Live demo