If iterating over thousands of objects has a fixed cost which you're unhappy about, I wouldn't like to increase that fixed cost by adding persistent debugging logic on that fast path.
This is the logic of iteration of results within Storm's database.py:
for result in results: yield tuple(self.from_database(result))
It doesn't look good to add a tracer+timer in this loop.
If you're wondering about network/db problems, I recommend monitoring these pieces more closely, rather than adding that logic to Storm.
If iterating over thousands of objects has a fixed cost which you're unhappy about, I wouldn't like to increase that fixed cost by adding persistent debugging logic on that fast path.
This is the logic of iteration of results within Storm's database.py:
for result in results:
yield tuple(self. from_database( result) )
It doesn't look good to add a tracer+timer in this loop.
If you're wondering about network/db problems, I recommend monitoring these pieces more closely, rather than adding that logic to Storm.