/activity) is the full log of what your workspace did: pipeline runs, memory operations, and sessions, with nested work indented under the operation that ran it. Reach it from View full log → on the Overview Activity panel, or from any breakdown row on Analytics.
The header states what the numbers mean: duration and tokens are recorded where available (older activity shows —), and cost is estimated. A Refresh button re-pulls the feed, a last updated readout beside it ticks (just now, 12s ago, 4m ago), and Export CSV writes every filtered row in the order shown — including the nested operations that hide nested is keeping off screen, so the file can hold more rows than the table does. It appends four columns the table has no room for — Depth, Nested under, Counts toward total, and Session ID — and the filename is stamped with the snapshot the rows came from (cognee-activity-<timestamp>.csv).
Activity is a Cognee Cloud feature. In the local, open-source UI the route renders a notice — Activity is a Cognee Cloud feature — instead of the log. See Local UI.
Columns
Rows carry inline chips where they add something the columns cannot: bg on the action of a background job (accepted and started; this row is written once and never revisited), 3 err on the status of a session with errors recorded inside it, and nested on the timestamp of a row whose parent is not in the current view (widen the range or clear a filter to see its parent). A still-running row shows its elapsed time counting up rather than a fixed duration.
An
unknown action is an operation name this UI has not been taught — a plugin installed on your pod can record its own operations. It deliberately reads as absent rather than being folded into one of the real actions.
Statuses
Statuses are listed in lifecycle order, which is also the order the filter offers them and the order the Status column sorts by:Filters
The filter bar sits above the table. Every filter is reflected in the URL, so a filtered view can be shared, bookmarked, and reloaded. Always visible:- date — condition-first: pick a comparison (is, is between, is on, is before, is after, is on or before, is on or after), then either a one-click preset (Today, Yesterday, This week, Past week, This month, Past month, This year, Past year) or a real date. is between takes two dates.
- action, status, user — multi-select lists, built from the values that actually appear in the loaded rows rather than from a fixed enum. Each can include or exclude: is any of / is none of.
- hide nested (on by default) — hides operations nested under a parent. Their tokens stay in the total, counted under that parent.
- hide 0 tokens (on by default) — hides rows with nothing to show: those that measured zero tokens, and queued runs that never started. Rows with no token data recorded stay, since those are unmeasured rather than free.
Filters run in the browser over the rows already loaded. A date far enough back can therefore match nothing even where that activity exists — the empty state says so, and offers Clear all filters.