Contents
Stream metric data to a file and/or to the console.
Description
An advanced "print" listener outputting a CSV report with optional live data streamed to the console.
Configuration
Required type for configuring the Telemetry listener from an ini
file.
type "telemetry"
Options
Listener Options | Type | Description | Required? | Default |
---|---|---|---|---|
| string | Must be " | y | |
| string | Unique name of the listener | y | "" |
| string | The filename of the final report. | y | "" |
streamToConsole | bool | Set true for live streaming of metric values to stdout | n | 0 |
Metric Rules | ||||
| string | One or more metrics to be observed. If this is empty no metrics are reported. | n | "" |
| integer | Sampling interval in MS for the metrics requested in the preceding | n | 1000ms |
The outputFilename
setting can include environment variables which will be expanded when processed by the Listener. Standard environment variable formats are supported, as well as Linux shell variable expansion syntax:
$VAR
${VAR}
${VAR:-fallback}
${VAR:=fallback}
Configuration Example
Enable streaming telemetry output with final CSV report written to: telemetry_report.csv
. Report all of the "numRays" metrics, sampling 4x per second, and report process memory and time once per second.
[Listener] type "telemetry" name "telemetryListener" outputFilename "telemetry_report.csv" streamToConsole 1 [MetricRules] # Sample raytracing "numRays" metrics 4x a second [Rule] regexp "/rman/raytracing.*numRays" samplingInterval 250 # Sample process memory and time once a second [Rule] regexp "/system.processMemory|/system.processTime" samplingInterval 1000
Output Example
prman -statsconfig telemetry_stats.ini scene.rib
METRIC {"/rman/raytracing.numRays": 123280} METRIC {"/rman/raytracing/camera.numRays": 49536} METRIC {"/rman/raytracing/transmission.numRays": 47213} METRIC {"/rman/raytracing/photon.numRays": 0} METRIC {"/rman/raytracing/light.numRays": 33870} METRIC {"/rman/raytracing/indirect.numRays": 2464} METRIC {"/rman/raytracing.numRays": 3012270} METRIC {"/rman/raytracing/camera.numRays": 255488} METRIC {"/rman/raytracing/transmission.numRays": 1409183} METRIC {"/rman/raytracing/photon.numRays": 0} METRIC {"/rman/raytracing/light.numRays": 1200027} METRIC {"/rman/raytracing/indirect.numRays": 147703} METRIC {"/rman/raytracing.numRays": 9161961} METRIC {"/rman/raytracing/camera.numRays": 857448} METRIC {"/rman/raytracing/transmission.numRays": 4216917} METRIC {"/rman/raytracing/photon.numRays": 0} METRIC {"/rman/raytracing/light.numRays": 3638169} METRIC {"/rman/raytracing/indirect.numRays": 453493} METRIC {"/system.processMemory": [3003166720, 485937152, 486612992]} METRIC {"/system.processTime": [12.66, 0.71, 1331.42]} METRIC {"/rman/raytracing.numRays": 15209955} METRIC {"/rman/raytracing/camera.numRays": 1450911} METRIC {"/rman/raytracing/transmission.numRays": 6969106} METRIC {"/rman/raytracing/photon.numRays": 0} METRIC {"/rman/raytracing/light.numRays": 6035551} METRIC {"/rman/raytracing/indirect.numRays": 754633} METRIC {"/rman/raytracing.numRays": 21381282} METRIC {"/rman/raytracing/camera.numRays": 1818799} METRIC {"/rman/raytracing/transmission.numRays": 9990314} METRIC {"/rman/raytracing/photon.numRays": 0} METRIC {"/rman/raytracing/light.numRays": 8511363} METRIC {"/rman/raytracing/indirect.numRays": 1062842} METRIC {"/rman/raytracing.numRays": 27563680} METRIC {"/rman/raytracing/camera.numRays": 2144142} METRIC {"/rman/raytracing/transmission.numRays": 13056810} METRIC {"/rman/raytracing/photon.numRays": 0} METRIC {"/rman/raytracing/light.numRays": 10987975} METRIC {"/rman/raytracing/indirect.numRays": 1374753} METRIC {"/rman/raytracing.numRays": 33584953} METRIC {"/rman/raytracing/camera.numRays": 2455721} METRIC {"/rman/raytracing/transmission.numRays": 16061479} METRIC {"/rman/raytracing/photon.numRays": 0} METRIC {"/rman/raytracing/light.numRays": 13391247} METRIC {"/rman/raytracing/indirect.numRays": 1676756} METRIC {"/rman/raytracing/light.numRays": 13417487} METRIC {"/system.processTime": [12.66, 0.71, 1331.42]} METRIC {"/system.processMemory": [3003166720, 485937152, 486612992]} METRIC {"/rman/raytracing.numRays": 33623962} METRIC {"/rman/raytracing/indirect.numRays": 1681043} METRIC {"/rman/raytracing/camera.numRays": 2455721} METRIC {"/rman/raytracing/transmission.numRays": 16069711} METRIC {"/rman/raytracing/photon.numRays": 0}