Real-time tracing built directly into the framework with Perfetto-compatible data format #36
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Things to do before merge:
Things to do:
Investigate: Misc fixes for tracing #44TraceSpan
move operation correctnessVerify protobuf version and shutdown protobuf library at stop: Misc fixes for tracing #44Deal with errors when writing to Sink: RefactorTraceAggregator::Run
#38CPU affinity: Setup CPU affinity for TraceAggregator #37Check for dropped packets when flushing to sink indicator system overload: RefactorTraceAggregator::Run
#38Check for overrun CyclicThread::Loop and emit instant event indicating overrun: Emit instant event when overrun is detected in Loop #45Hook up category: Hook up category to track event packets #39Rethink and refactor Run method: RefactorTraceAggregator::Run
#38Make tracing disable via compile options: Compile-disable of tracing #41Determine the speed of the tracing in terms of time takes for a single emit (both when empty and when full, when tracing is enabled and when tracing is disabled), and also how much data can be processed by the background thread per second.: Benchmark tracing performance #40Investigate if we can use weak_ptr in the App's cache of thread_tracers and deal with cleaning up of thread_tracers when a thread winds down: Tracing should handle cases where threads are stopped #43Closes #17. Fixes #26. Fixes #15.