Как библиотека TraceProcessing сравнивается с библиотекой TraceEvent, используемой PerfView? - PullRequest
1 голос
/ 22 апреля 2020

Похоже, существует довольно много разных способов для анализа событий ETW (TraceProcessing, TraceEvent, ETW2 JSON и др. c.). Меня особенно интересуют компромиссы между библиотекой TraceProcessing и библиотекой TraceEvent .

  • Они предназначены для разных случаев использования?
  • Возникла ли TraceProcessing как продолжение или эволюция TraceEvent?
  • Почему бы выбрать библиотеку TraceProcessing вместо библиотеки TraceEvent?

1 Ответ

1 голос
/ 23 апреля 2020

(я являюсь разработчиком в Microsoft, который работает над проектом TraceProcessor.)

Я немного больше знаком с TraceEvent, чем с ETW2 JSON, но в обоих случаях применяется один и тот же ответ.

Каждая из них была разработана различными организациями в рамках Microsoft для лучшей поддержки наших собственных исследований производительности и диагностики c. В некоторых случаях мы черпали вдохновение или подсказки для TraceProcessor из других библиотек, но в основном мы разработали его для наших конкретных c вариантов использования и в соответствии с нашими собственными принципами проектирования.

Эти различия означают, что каждая библиотека имеет свои собственные принципы о производительности, дизайне / согласованности API и широкой поддержке ETW в сравнении с хорошо развитой первоклассной поддержкой для определенных специфических вещей. c.

TraceEvent действительно имеет поддержку .NET / CLR, но основное внимание уделяется тому, чтобы быть управляемой оболочкой для API C ++ ETW. Он поддерживает другие события, но очень ограничен.

В целом, TraceEvent отлично подходит для первоклассных данных .NET / CLR и "основ" в других местах.

TraceProcessor дает сильные первоклассная поддержка типов системы и диагностических данных c, которые можно увидеть в других инструментах, таких как XPerf и WPA . Мы стремились к чистому, согласованному, производительному API во всей библиотеке и подчеркивали строгую типизацию для представления каждого типа данных в наиболее естественной форме.

...