Measures and measurements
All client libraries support measures and measurements. You define a measure, then provide measurement values related to that measure, which can then be stored in a time series database and visualized in a controlled manner. Define an interval in your measure, do your measurements at x Hz, and the measurements average/min/max will be recorded in a tumbling window at the specified interval.
Some C# code might help explain the concept:
// Send FPS updates every third second.
// Measure is registered and published automatically on first measurement.
public class MySimulator {
Measure fps = new Measure {
Id = "FPS",
Title = "Frames per second",
Unit = "Hz",
Interval = 3f
}
void Update(float deltaTime) {
rti.Measure(fps, 1f / deltaTime);
}
}
In Unity, implement a measure by deriving from the RTIMeasure component.
In Unreal, add an RTI Measure component to any actor, and use its Measure
function in a blueprint, e.g. on the tick event or whenever the measured value is changed.