[Unity] how to get full tracking data from a controller

public InputActionProperty positionProperty;
public Vector3 Position { get; private set; } = Vector3.zero;
private void Update() {
    Position = positionProperty.action.ReadValue<Vector3>();
}

I am able to access position data from the controller like this, but Update only gives me at most 144 data points per second (capped by headset refresh rate).

Would love a function that just adds every position point to a list whenever the value changes.

My goal is to get all the data points and just draw a line with them to analyze the tracking system speed and accuracy.