- Identify calls
- Create events (call started, call ended, client joined, client left, etc.)
- Match clients' inbound-rtp sessions with remote clients' outbound-rtp sessions
- Match SFUs RTP sessions with browser-side clients' in-, and outbound-rtp sessions.
The Observer creates reports and forwards them for further processing.
Observer instances can share data through their hazelcast in-memory database grid. To scale observer horizontally you need to configure the underlying hazelcast so that observer instances can see each other.
Since observer uses IMDG to store its object-hierarchy you need to to ensure a gradual upgrading process. The upgrading process should not shut down more instances at one time than a number of backup configured for the IMDG to keep. In kubernetes this can be achieved by a a rolling update.
The description for observer configuration can be found here.