f99010fae1
CI / lint (push) Failing after 1s
CI / frontend (push) Failing after 1s
CI / scripts (push) Failing after 1s
CI / Go Test (ubuntu-latest) (push) Failing after 0s
CI / frontend-node-25 (push) Failing after 1s
CI / docs (push) Failing after 0s
CI / coverage (push) Failing after 0s
CI / e2e (push) Failing after 0s
Docker / build-and-push (push) Failing after 1s
CI / integration (push) Failing after 4m43s
CI / Go Test (windows-latest) (push) Has been cancelled
CI / Desktop Unit Tests (Windows) (push) Has been cancelled
Desktop Artifacts / Desktop Build (Linux (arm64)) (push) Has been cancelled
Desktop Artifacts / Desktop Build (Linux) (push) Has been cancelled
Desktop Artifacts / Desktop Build (Windows) (push) Has been cancelled
Desktop Artifacts (macOS) / Desktop Build (macOS (aarch64)) (push) Has been cancelled
Desktop Artifacts (macOS) / Desktop Build (macOS (x86_64)) (push) Has been cancelled
164 lines
6.8 KiB
Markdown
164 lines
6.8 KiB
Markdown
---
|
|
title: Activity
|
|
description: Activity, concurrency, and session-time reporting in AgentsView
|
|
---
|
|
|
|
The **Activity** page is a top-level view for understanding when agents were
|
|
actually active, how much work overlapped, and which projects, models, agents,
|
|
machines, and sessions contributed to a time window. Open it from the
|
|
**Activity** button in the header or directly at `/activity`.
|
|
|
|

|
|
|
|
The report is built from timestamped session activity and usage rows. It
|
|
includes one-shot and automated sessions by default, then lets you narrow the
|
|
result with the page controls.
|
|
|
|
## Range And Filters
|
|
|
|
The toolbar uses the shared range picker with calendar **Day**, **Week**,
|
|
**Month**, and **Custom** selections. Activity opens to the current day. It only
|
|
adopts and publishes shared ranges when **Settings > Date ranges > Link date
|
|
ranges across pages** is enabled; a shared range wider than Activity can
|
|
represent is not adopted.
|
|
|
|

|
|
|
|
Additional filters scope the report by:
|
|
|
|
- **Project** — typeahead project filter
|
|
- **Agent** — dropdown of all agents present in the activity data
|
|
- **Machine** — dropdown of synced machine names
|
|
- **Automation** — **All Sessions**, **Interactive**, or **Automated**
|
|
|
|
Filter and range state is written to the URL with query parameters such as
|
|
`preset`, `date`, `from`, `to`, `window_days`, `project`, `agent`, `machine`,
|
|
and `automation`.
|
|
|
|
## Summary Cards
|
|
|
|
The summary cards show:
|
|
|
|
- **Peak Concurrency** — the maximum number of agents active in the same bucket,
|
|
with the local clock time of the peak
|
|
- **Active** — active wall-clock time, plus idle time in the range
|
|
- **Agent-minutes** — combined active minutes across concurrent agents
|
|
- **Sessions** — session count, with interactive/automated and untimed-session
|
|
detail when applicable
|
|
- **Projects** and **Models** — distinct counts in the range
|
|
- **Total Cost** — estimated cost attributed to activity in the range
|
|
|
|
The report counts subagent sessions (for example Claude Code Task-tool agents)
|
|
and fork sessions (rewound conversation branches) alongside their parent
|
|
sessions, so **Total Cost** lines up with `agentsview usage daily` for the same
|
|
day and timezone. Usage rows that recur across related sessions are deduplicated
|
|
before totaling, the same rule the Usage page applies.
|
|
|
|
If the selected range reaches into the future, the page marks it as partial and
|
|
shows the report's current **as of** time.
|
|
|
|
## Concurrency
|
|
|
|
The **Concurrency** chart shows active agents over the selected range. Blue
|
|
segments represent interactive sessions, orange segments represent automated
|
|
sessions, and the strip below the chart marks active versus idle buckets.
|
|
|
|

|
|
|
|
Hover a bucket to see its time range, peak agent count, agent-minutes, output
|
|
tokens, and cost. The **Overlay** control can draw an additional **Tokens** or
|
|
**Cost** trend over the concurrency bars.
|
|
|
|
Clicking a bucket filters the Sessions table to the sessions active in that time
|
|
slot. Click the same bucket again, or dismiss the **Active:** badge in the table
|
|
header, to clear the slot filter.
|
|
|
|
## Sessions
|
|
|
|
The **Sessions** table lists every session that contributed to the report. Rows
|
|
include the session title, model, project, agent, agent-minutes, cost, and
|
|
active window.
|
|
|
|

|
|
|
|
Click a session title to open that session in the transcript viewer. Column
|
|
headers for **Project**, **Agent**, **Agent-min**, **Cost**, and **Window** are
|
|
sortable; timing-only sorts keep untimed sessions at the bottom.
|
|
|
|
Automated sessions are marked with an **Auto** badge. Untimed sessions can still
|
|
carry cost if usage rows exist but timestamped activity was unavailable.
|
|
|
|
## Breakdowns
|
|
|
|
The **Breakdown** panel ranks activity by **Project**, **Model**, and **Agent**.
|
|
Toggle between **Agent-min** and **Cost** to change the metric, and use the
|
|
stacked bars to compare interactive and automated contributions.
|
|
|
|

|
|
|
|
Rows with no value for the selected metric are omitted from that view, so
|
|
cost-only untimed sessions appear in **Cost** but not **Agent-min**.
|
|
|
|
## Activity Insight
|
|
|
|
At the bottom of the page, **Activity Insight** shows an existing global
|
|
`daily_activity` insight for the exact resolved date range when one exists. If
|
|
the server is writable, generate a new insight from the same panel using Claude,
|
|
Codex, Copilot, Gemini, or Kiro.
|
|
|
|

|
|
|
|
The **Open in Insights page** link opens the standalone
|
|
[Session Insights](/insights/) page prefilled with the same range. Insight
|
|
generation is disabled in read-only remote modes such as PostgreSQL-backed
|
|
`pg serve`.
|
|
|
|
## CLI And API
|
|
|
|
The web page uses:
|
|
|
|
```http
|
|
GET /api/v1/activity/report
|
|
```
|
|
|
|
The same report is available from the CLI:
|
|
|
|
```bash
|
|
agentsview activity report --preset day --date 2026-06-20
|
|
agentsview activity report --preset week --date 2026-06-20 --json
|
|
agentsview activity report --preset custom \
|
|
--from 2026-06-20T14:00:00Z \
|
|
--to 2026-06-20T18:00:00Z \
|
|
--bucket 15m
|
|
```
|
|
|
|
See [CLI Reference](/commands/#agentsview-activity-report) and
|
|
[Session API](/session-api/#activity-report) for flags and response shape.
|
|
|
|
### JSON Contract
|
|
|
|
`agentsview activity report --json` and `/api/v1/activity/report` share one
|
|
versioned JSON contract. They use the same `schema_version` and move in
|
|
lockstep; if the CLI report changes in a way that requires a schema bump, the
|
|
HTTP report bumps with it.
|
|
|
|
The activity report JSON, `agentsview usage daily --json`, and
|
|
`agentsview export sessions --format json|ndjson` are separate versioned
|
|
surfaces. This unshipped v1 shape is the canonical contract; there is no pre-v1
|
|
compatibility adapter. Consumers should require the expected `schema_version`
|
|
and ignore unknown additive fields.
|
|
|
|
The activity report includes the shared report-level `pricing` and `projects`
|
|
blocks. `pricing.models` contains effective model rates using fields such as
|
|
`input_cost_per_mtok`, `output_cost_per_mtok`, `cache_write_cost_per_mtok`, and
|
|
`cache_read_cost_per_mtok`. Every project-bearing report row contains an opaque
|
|
`project_key`. `projects` is keyed by that value and carries the
|
|
presentation-only `display_label`; unknown project identity is represented by an
|
|
explicit `resolution` with `identity` omitted.
|
|
|
|
See [Token Usage & Costs](/token-usage/#json-contract) for the shared bump
|
|
rules, [Pricing Provenance](/token-usage/#pricing-provenance) for pricing digest
|
|
and `cost_source` semantics, and
|
|
[Project Identity](/token-usage/#project-identity) for key derivation and
|
|
redaction notes.
|