How to post process recorded data

If I use recorder component to record bunch of logs. Then I want to perform some “off-line” process on these data. What’s the best way to do that. In ROS, I can do rosbag.Bag(‘file.bag’) to open the bag file then bag.read_messages() to get message and process it one by one. In Isaac, is it provide similar feature? or I have to use replay component?
But I don’t think replay is the good approach in my use case. If the analyze is pretty light weight, then the replay going to take a long time and the CPU most of time just idle. But if the analyze is something compute intense and CPU can’t catch up, then I guess the replay will keep move forward and my node might lose some message.
Please advise in the “post-process” use case, what’s the best way to consume the recorded data.