Subscriber can't keep up
I have a rosbag of ~270 Image messages over the course of 9 seconds, and a subscriber that catches them, does a little processing, and publishes a different message.
I had the feeling the subscriber was definitely not keeping up with incoming messages, so I wrote in a little logging to tally what work was actually being done. Each time I run, the count of "jobs finished processing" never gets above 25. I paused and stepped through the rosbag play, and going (comparatively) slowly this way I was able to get 50+ messages before I stopped the test.
I thought it might be an issue with the queues too small, but I set the queue sizes on my Subscriber and the --queue flag on the rosbag play both to 300, so I think that should entirely eliminate the problem if that is it. (It just occurred to me that maybe the maximum is lower than I think, maybe the default 100 is max? Still I would expect at least 100 successful runs, if that many were queued up somewhere.)
What else should I be looking for? Thanks for your advice.