The data coming out of the stats system can be translated and presented in any number of ways depending on the analysis needs. The Listener plugin framework is designed for extensibility but there is some basic functionality that is built into the system.
Below is the list of built-in Listeners provided with the new system.
JSON Report is a configurable report that writes diagnostic data to a hierarchical JSON document at render exit and on checkpoint exits.
Print Listener is a "Hello World" example Listener which prints raw data to the console.
Snapshot Listener prints a snapshot of stats on demand or at the end of a render. The "snapshot" is a diagnostic summary plus a configurable set of additional metrics.
Telemetry Listener produces formatted output for testing, debugging, or benchmarks. It can stream JSON-formatted data to the console during a render, or write a final-report CSV file.
The diagnostics system includes both a gRPC server and a WebSocket server. The gRPC server is responsible for serving the live data to a client that is built-in to the
it image tool. The WebSocket server is responsible for the live data streaming to the DCC clients. Each of these is configured with an internal BufferedListener which handles the data stream management for the server(s).