Stream placement¶
An Agora operator does not choose the server a broadcast will run on. They create the broadcast; where to put it is the control plane's decision. That decision is what placement means.
It is built that way because choosing a server is not a one-off decision but a standing one. A server goes into maintenance, a new one appears, broadcasts grow in number, one of them grows a ladder — and every time the arrangement has to be reconsidered. A person who placed broadcasts by hand is obliged to remember all of that forever; the control plane reconsiders on its own.

A run¶
Placement works in runs. A run is one full reconsideration of the arrangement: the control plane looks at which broadcasts exist, which servers are alive and what they are busy with, and brings the assignments into line.
A run starts on its own whenever something that affects the decision changes: a broadcast is created or deleted, a server joins or drops out, settings change. The Run now button does the same by hand; it is rarely needed and mostly during an investigation.
The Last run card answers the question "is the arrangement fresh?": the number, the time, the outcome and three figures.
The run history¶
The table answers the question "why did this broadcast end up here" — it shows when the arrangement changed and what exactly changed:
- Writes — how many assignments the run wrote.
- Removals — how many broadcasts it took off servers.
- Decisions — how many times it chose where to put a broadcast.
- Outcome — done, or an error. An error has a text, and it is in the last column.
A run with zeroes in all three figures is normal and the most frequent case: the control plane looked and found nothing to change.
When a broadcast is placed nowhere¶
A broadcast can stay unplaced — the control plane has nowhere to put it. There are two usual reasons:
- There are no live servers — all offline, or all already loaded.
- No server fits — the broadcast needs something the servers do not have.
In that case the place to look is not placement but the list of streamers: placement only shows the result, and the cause is almost always that a suitable server genuinely is not there.
The Layout tab on a broadcast¶
Placement as a whole answers "what is going on in the cluster". The opposite question — "where does this particular broadcast live" — is asked on the broadcast's own card, on the Layout tab: it shows the assignment and which servers are carrying it.