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. It can be configured to print just the names of the observed metrics.

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 diagnostic data to the console during a render, or write a final-report CSV file.

Live Stats Listener

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