mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-06-06 00:03:22 +00:00
### Description Windows - Fully dynamic ETW controlled logging for ORT and QNN logs The logging support is documented here - https://onnxruntime.ai/docs/performance/tune-performance/logging_tracing.html#tracing---windows - https://onnxruntime.ai/docs/performance/tune-performance/profiling-tools.html#tracelogging-etw-windows-profiling Also add support for logging ORT SessionCreation on ETW CaptureState ### Motivation and Context The previous ETW support only worked if you enabled ETW before the session started. There can commonly be long-lived AI inference processes that need to be traced & debugged. This enables logging fully on the fly. Without this support a dev would have to end up killing a process or stopping a service in order to get tracing. We had to do this for a recent issue with QNN, and it was a bit painful to get the logs and it ruined the repro. ### Testing I tested with the following cases - Leaving default ORT run - Enabling ETW prior to start and leaving running for entire session + inferences, then stopping - Starting ORT session + inf, then enabling and stopping ETW - Start ORT session /w long running Inferences - wpr -start [ort.wprp]( |
||
|---|---|---|
| .. | ||
| logging | ||
| basic_types.h | ||
| code_location.h | ||
| common.h | ||
| const_pointer_container.h | ||
| denormal.h | ||
| eigen_common_wrapper.h | ||
| exceptions.h | ||
| gpu_profiler_common.h | ||
| gsl.h | ||
| hash_combine.h | ||
| inlined_containers.h | ||
| inlined_containers_fwd.h | ||
| make_string.h | ||
| narrow.h | ||
| optional.h | ||
| parse_string.h | ||
| profiler_common.h | ||
| span_utils.h | ||
| spin_pause.h | ||
| status.h | ||
| string_helper.h | ||