Tracy分析
tracy -> Frame profiler
System Trace
- win32
LookupPrivilegeValue –> SE_SYSTEM_PROFILE_NAME ETW??
ControlTrace/StartTrace/OpenTrace/CloseTrace
RtlWalkFrameChain - linux
perf_event
syscall –> __NR_perf_event_open
_Unwind_Backtrace - macOS
未支持 kdebug?
backtrace –> execinfo.h
Same as https://github.com/google/orbit
C/C++ Performance Profiler
win32 trace -> KrabsTracer.h
DiaSdk/krabsetw/PresentMon其中后两者有trace
https://github.com/google/orbit/tree/main/src/WindowsTracing
linux perf_event_open
https://github.com/google/orbit/tree/main/src/LinuxTracing
Same as https://github.com/microsoft/BPerf
Perf is a Cloud Profiling system used by Bing.com based on CoreCLR Profiling APIs & Event Tracing for Windows.
tracy是基于标记的 怎么标记需要自定义 需要在程序内执行
TracyAlloc标记Memory
TracyAllocS标记深度获取CallStack
FrameMarkStart标记Frame -> Pixel ??
TracyLockable标记Lock
Hook或者编译器指令插入
https://docs.microsoft.com/zh-cn/windows/win32/etw/system-providers
SYSTEM_SYSCALL_KW_GENERAL 提供有关系统调用的事件
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 WuRui!
评论