Skip to main content

AppComputeBudgetStatus

Whether an app is inside its per-minute compute allowance right now, and what would happen if it were not. Reading this does not charge anything.

type AppComputeBudgetStatus {
appId: BigInt!
unitsUsed: BigInt!
allowance: BigInt!
allowanceIsAppOwn: Boolean!
overBudget: Boolean!
enforced: Boolean!
byEngine: [EngineComputeUnits!]!
retryAfterMs: Int!
}

Fields

AppComputeBudgetStatus.appId ● BigInt! non-null scalar

The app.

AppComputeBudgetStatus.unitsUsed ● BigInt! non-null scalar

Compute units accrued in the current minute, across every engine. Between reconciles this is the serving instance's own view, so it can read low on a multi-instance fleet; it converges within seconds.

AppComputeBudgetStatus.allowance ● BigInt! non-null scalar

The allowance the decision was made against.

AppComputeBudgetStatus.allowanceIsAppOwn ● Boolean! non-null scalar

True when the allowance is the app's own stored one, false when it is the platform reference allowance. The reference allowance can never refuse — it exists so shadow-mode observations have a denominator.

AppComputeBudgetStatus.overBudget ● Boolean! non-null scalar

Whether the app is over the allowance this minute.

AppComputeBudgetStatus.enforced ● Boolean! non-null scalar

Whether being over the allowance is currently refusing invokes. False while in shadow mode, which is the ship default.

AppComputeBudgetStatus.byEngine ● [EngineComputeUnits!]! non-null object

Which engines the units came from. Carried on every decision because a single allowance spans the engines, so a player invoke can be refused for compute modules the developer forgot were ticking — and that is only explainable with the breakdown.

AppComputeBudgetStatus.retryAfterMs ● Int! non-null scalar

Milliseconds until the minute rolls and the allowance resets.

Returned By

appComputeBudgetStatus query