Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Warning

The end-of-render report requires knowledge of a render's endpoint in order to write out the final report. With live renders (e.g. Solaris), there really is no “end” to a render so the report isn’t written out until that stats session closes which doesn’t happen until you close the scenethe render is terminated.

Configuration

Required type for configuring the JSON report listener from an ini file.

...

    $VAR
${VAR}
${VAR:-fallback}
${VAR:=fallback}

Metric Data

The JSON report defines a "metrics" block which contains data payloads for all observed metrics, hierarchically organized according to each metric's namespace.

The format for an individual metric directly reflects the namespace built into the metric name, with each component in the namespace represented by a single, nested JSON object. For example, an entry for the metric: 

/rman/raytracing.numRays

Would be the following: 

  "metrics": {
"rman": {
    "raytracing": {
       "numRays": {
         "description": "Total number of rayrays counttraced.",
         "payloadtimestamp": 567 2429320,
           "time"876532123 
 payload”: [ 5873490 ]
    }
}
    }
  }

Other metrics in the "raytracing" metric namespace would be nested under the "rman" block.

Analysis Tool

The viewing of the diagnostic report is best done through the new RenderMan Stats Portal application which can be used for both live data presentation and offline report introspection. Its content is currently limited, but useful for viewing the JSON metric hierarchy and comparing two or more reports.

Configuration Example: All metrics

...

Each memory metric is comprised of an empty-string description, the time stamp at which the latest memory update was received, and the metric payload. Every memory tracking payload contains three floats representing the amount of memory in bytes as described in the table below:

Payload IndexDescription
0The current process memory, including allocations which have not been committed to memory (current, or virtual).
1Allocations which have been committed to memory (resident).
2The maximum level of allocations committed to memory so far since the process began (max).
Code Block
languagexml
titlecheckpoint_stats.json
{
  "header": {
    "version": "26.0"
  },
  "frame": {
    "attempts": [
      {
        "metrics": {
          "system": {
            "memoryTracking": {
              "system": {
                "rman": {
                    "geometry": {
                      "mem": {
                        "description": "",
                        "timestamp": 7769735,
                        "payload": [
                          [
                            0,
                            123279324,
                            0
                          ]
                        ]
                      },
                      "volumes": {
                        "mem": {
                          "description": "",
                          "timestamp": 7769735,
                          "payload": [
                            [
                              0,
                              113004768,
                              0
                            ]
                          ]
                        }
                      }
                    ...
                  }}
              },
              "gpu0": {
                "rman": {
                  "scene": {
                    "geometry": {...}
                    ...
                  }}
              }
			}
		  }
		}
      }
    ]
  }
}