Page tree

Contents

The data coming out of the stats system can be translated and presented in any number of ways depending on the analysis needs. This presentation happens through C++ plugins called Listeners. The Listener plugin framework is designed for extensibility such that users can customize their stats analysis as needed. RenderMan also includes a few listeners for general-purpose functionality.

Built-in Listeners

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.



Live Statistics

The diagnostics system includes a WebSocket server. The WebSocket server is responsible for the live data streaming to the DCC clients and for serving the live data to a client that is built into the it image tool. Each of these is configured with an internal BufferedListener which handles the data stream management for the server.