The first entry of a visit or a run. What a visits number counts.
| Field | Value |
|---|---|
| Name | session_start |
| Severity | 9 (INFO) |
| Written by | Browser tag automatically. .NET and Tauri at start-up with lifecycle tracking on, and on every session rotation. |
| Turned off by | Nothing in the browser: it is part of how a visit is defined. In a desktop app it is part of lifecycle tracking, which is off unless you ask for it. |
In the browser, on the first entry after 30 minutes of inactivity, and whenever the referring host changes. A referrer pointing at your own site is an internal navigation and does not cut a visit: without that rule every full page load would start a new one.
Sessions are cut on the client, once, and never re-derived on the server. Only the client knows the tab is the same tab. A server sees a run of entries carrying one anonymous id and would have to guess the same rule from worse information, on every read, forever.
In a desktop app one run is one session. .NET and Tauri announce it at start-up when lifecycle tracking is on, and again whenever the session is rotated: a session nothing ever announces sits on every later entry and is counted by nothing. The Python client does not write it, and the Node and Go clients have no lifecycle at all.
None of its own. The entry is the fact that it happened, and what it carries is what every entry carries.
Every entry also carries the resource its client sends once per batch: session.id, user.id once you have called user(), and the rest of the list on the overview. Anything you pass yourself lands in the same map, and your key wins on a collision.
The new session id is not a payload on this entry. It is on the resource, which puts it on this entry and on every other entry of the visit equally, and that is what makes grouping by session work at all.
A widget is a filter, a group by, an aggregate, a time bucket and a limit. These are those five parts written out, and every one of them is something you can build yourself.
| Question | The query |
|---|---|
| Visits per day | Name is session_start . count of entries . bucket by day |
| How many people visited | Name is session_start . count of uniques . bucket by week |
| Runs by build | Name is session_start . group by service.version . count of entries |
| Visits on one operating system | Name is session_start . os.type is windows . count of entries |