Reading the quota panel

The Report destination and the commands behind it. What each word in the subscription row means, in the terms the source defines, and what changes between the panel, the report and autodev quota.

Where it is #

The panel's Report destination holds it. autodev report prints the same model in a terminal, for the last 12 hours unless --hours says otherwise, and --json prints it as JSON. autodev quota prints the quota half on its own, for the last 7 days unless --days says otherwise. Every CLI command describes both.

The report covers this project. autodev quota covers every project on the machine, because a subscription is shared by all of them.

What the report holds #

The report reads, top to bottom:

The subscription row #

The row has four words: subscribed, used, idle and converted. The source defines each one, and none of them is a measure of tokens or of a plan's allowance:

WordWhat it is
subscribedThe length of the report's window, added up over its local days. It is time on the calendar, not the size of a plan.
usedThe time in which at least one call was running. Calls that overlap count once.
idlesubscribed minus used: the time in which nothing ran.
convertedThe number of commits AutoDev credited in the window.

In the panel, the window's label sits above one bar with the subscribed time at its right. The bar has two widths, used and idle, and the idle part is hatched, because it stands for an absence. converted, used and idle are the three figures under the bar. autodev report prints the four words on one line.

So idle says how long the subscription sat with no agent running. It does not say how much of an allowance was left unspent. What is measured says what each word is derived from.

Per provider #

Each provider has a row. It opens with the provider's name and a verdict, limit crossed when the provider reported a usage limit in the window, no limit hit when it did not. Under it are four figures. commits is the commits recorded for that provider. turns is its calls. held is its agent time, which is the sum of the durations of its calls, so two calls that ran at once add up. limits crossed is the usage limits it reported.

Providers are never merged into one row, because a limit belongs to one subscription.

The chart #

The chart has one bar for each local day that had a call, a commit or a limit. A bar's height is the share of that day's own time in which anything ran. The day's own length is the divisor, so a first or last day that the window cuts short, and a day that is longer or shorter because of a clock change, are not drawn wrong. A day that crossed a limit takes the warning colour. Hovering a bar gives the day, the time busy, the commits and the limits.

A day with nothing on it is not drawn, and the subscription row still counts it as idle.

Failover and other workspaces #

Two lines can follow the chart. <n> failover(s) kept the run moving counts the times a participant moved along its failover list. A teammate taking a limited turn is not counted in it. <n> time(s) every provider was limited at once counts the times the whole team was limited together and the run waited for the first return.

Under Other workspaces, each other project has a mark for whether its run is alive, its name, its status and its commits in the window. A status that claims a run is active while no daemon is alive reads (stale). Projects with no activity are counted, not listed.

In a terminal #

autodev quota prints three parts, and a fourth when something is wrong:

--series prints the same ledger per local day and per provider.

Where the ledger lives describes the file the panel reads.