microsoft-performance-toolkit-sdk
microsoft-performance-toolkit-sdk copied to clipboard
Make composite cookers lazily evaluated (e.g. do not call OnDataAvailable during processing, but instead the first time that cooker is queried)
Is your feature request an entirely new concept? New concept: make composite cookers lazily evaluated
Is your feature request related to an existing component? Yes - composite data cookers.
Is your feature request related to a problem? Please describe.
When processing a data source, processing time is currently coupled with the number of data cookers involved in the data processing pipeline it starts. It's possible, for instance, to break a trace's processing by creating a cooker that never returns from OnDataAvailable.
Describe the solution you'd like
Instead of calling OnDataAvailable during processing, we should defer its call until the first time a consumer queries that cooker for an output.