Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

288 lines
14 KiB

  1. <?xml version='1.0' encoding='utf-8' standalone='yes'?>
  2. <instrumentationManifest xmlns="http://schemas.microsoft.com/win/2004/08/events">
  3. <instrumentation
  4. xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events"
  5. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  6. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  7. <events xmlns="http://schemas.microsoft.com/win/2004/08/events">
  8. <!-- Main provider to emit low to medium frequency information about game performance.
  9. This includes Begin/End pairs, markers, and labeled thread IDs.
  10. Documentation on ETW is available at:
  11. http://msdn.microsoft.com/en-us/magazine/cc163437.aspx
  12. http://blogs.msdn.com/b/ryanmy/archive/2005/05/27/422772.aspx
  13. http://msdn.microsoft.com/en-us/library/aa363668(VS.85).aspx
  14. Documentation of the data types available for event payload templates is here:
  15. http://msdn.microsoft.com/en-us/library/aa382774(v=VS.85).aspx
  16. See also the Windows Platform SDK SimpleProvider sample and the Scenario
  17. libary at http://archive.msdn.microsoft.com/Scenario
  18. Before recording traces you need to execute these commands to register the provider:
  19. xcopy /y %vgame%\bin\tier0.dll %temp%
  20. wevtutil um %vgame%\..\src\tier0\valveetwprovider.man
  21. wevtutil im %vgame%\..\src\tier0\valveetwprovider.man
  22. -->
  23. <provider
  24. guid="{3fa9201e-73b0-43fe-9821-7e145359bc6f}"
  25. name="Valve-Main"
  26. symbol="VALVE_MAIN"
  27. messageFileName="%temp%\tier0.dll"
  28. resourceFileName="%temp%\tier0.dll" >
  29. <templates>
  30. <template tid="T_Start">
  31. <data inType="win:AnsiString" name="Description" />
  32. <data inType="win:Int32" name="Depth" />
  33. </template>
  34. <template tid="T_End">
  35. <data inType="win:AnsiString" name="Description" />
  36. <data inType="win:Int32" name="Depth" />
  37. <data inType="win:Float" name="Duration (ms)" />
  38. </template>
  39. <template tid="T_Mark">
  40. <data inType="win:AnsiString" name="Description" />
  41. </template>
  42. <template tid="T_Mark1F">
  43. <data inType="win:AnsiString" name="Description" />
  44. <data inType="win:Float" name="Data 1" />
  45. </template>
  46. <template tid="T_Mark2F">
  47. <data inType="win:AnsiString" name="Description" />
  48. <data inType="win:Float" name="Data 1" />
  49. <data inType="win:Float" name="Data 2" />
  50. </template>
  51. <template tid="T_Mark3F">
  52. <data inType="win:AnsiString" name="Description" />
  53. <data inType="win:Float" name="Data 1" />
  54. <data inType="win:Float" name="Data 2" />
  55. <data inType="win:Float" name="Data 3" />
  56. </template>
  57. <template tid="T_Mark4F">
  58. <data inType="win:AnsiString" name="Description" />
  59. <data inType="win:Float" name="Data 1" />
  60. <data inType="win:Float" name="Data 2" />
  61. <data inType="win:Float" name="Data 3" />
  62. <data inType="win:Float" name="Data 4" />
  63. </template>
  64. <template tid="T_Mark1I">
  65. <data inType="win:AnsiString" name="Description" />
  66. <data inType="win:Int32" name="Data 1" />
  67. </template>
  68. <template tid="T_Mark2I">
  69. <data inType="win:AnsiString" name="Description" />
  70. <data inType="win:Int32" name="Data 1" />
  71. <data inType="win:Int32" name="Data 2" />
  72. </template>
  73. <template tid="T_Mark3I">
  74. <data inType="win:AnsiString" name="Description" />
  75. <data inType="win:Int32" name="Data 1" />
  76. <data inType="win:Int32" name="Data 2" />
  77. <data inType="win:Int32" name="Data 3" />
  78. </template>
  79. <template tid="T_Mark4I">
  80. <data inType="win:AnsiString" name="Description" />
  81. <data inType="win:Int32" name="Data 1" />
  82. <data inType="win:Int32" name="Data 2" />
  83. <data inType="win:Int32" name="Data 3" />
  84. <data inType="win:Int32" name="Data 4" />
  85. </template>
  86. <template tid="T_Mark1S">
  87. <data inType="win:AnsiString" name="Description" />
  88. <data inType="win:AnsiString" name="Data 1" />
  89. </template>
  90. <template tid="T_Mark2S">
  91. <data inType="win:AnsiString" name="Description" />
  92. <data inType="win:AnsiString" name="Data 1" />
  93. <data inType="win:AnsiString" name="Data 2" />
  94. </template>
  95. <template tid="T_ThreadID">
  96. <data inType="win:Int32" name="ThreadID" />
  97. <data inType="win:AnsiString" name="ThreadName" />
  98. </template>
  99. </templates>
  100. <events>
  101. <event symbol="Start" template="T_Start" value="100" task="Block" opcode="Begin" />
  102. <event symbol="Stop" template="T_End" value="101" task="Block" opcode="End" />
  103. <event symbol="Mark" template="T_Mark" value="102" task="Block" opcode="Mark" />
  104. <event symbol="Mark1F" template="T_Mark1F" value="103" task="Block" opcode="Mark1F" />
  105. <event symbol="Mark2F" template="T_Mark2F" value="104" task="Block" opcode="Mark2F" />
  106. <event symbol="Mark3F" template="T_Mark3F" value="105" task="Block" opcode="Mark3F" />
  107. <event symbol="Mark4F" template="T_Mark4F" value="106" task="Block" opcode="Mark4F" />
  108. <event symbol="Mark1I" template="T_Mark1I" value="107" task="Block" opcode="Mark1I" />
  109. <event symbol="Mark2I" template="T_Mark2I" value="108" task="Block" opcode="Mark2I" />
  110. <event symbol="Mark3I" template="T_Mark3I" value="109" task="Block" opcode="Mark3I" />
  111. <event symbol="Mark4I" template="T_Mark4I" value="110" task="Block" opcode="Mark4I" />
  112. <event symbol="Mark1S" template="T_Mark1S" value="111" task="Block" opcode="Mark1S" />
  113. <event symbol="Mark2S" template="T_Mark2S" value="112" task="Block" opcode="Mark2S" />
  114. <event level="win:Informational" symbol="Thread_ID" template="T_ThreadID" value="113" task="ThreadID" opcode="Information" />
  115. </events>
  116. <opcodes>
  117. <opcode name="Begin" symbol="_BeginOpcode" value="10"/>
  118. <opcode name="End" symbol="_EndOpcode" value="11"/>
  119. <opcode name="Step" symbol="_StepOpcode" value="12"/>
  120. <opcode name="Mark" symbol="_MarkOpcode" value="13"/>
  121. <opcode name="Mark1F" symbol="_MarkOpcode1F" value="14"/>
  122. <opcode name="Mark2F" symbol="_MarkOpcode2F" value="15"/>
  123. <opcode name="Mark3F" symbol="_MarkOpcode3F" value="16"/>
  124. <opcode name="Mark4F" symbol="_MarkOpcode4F" value="17"/>
  125. <opcode name="Mark1I" symbol="_MarkOpcode1I" value="18"/>
  126. <opcode name="Mark2I" symbol="_MarkOpcode2I" value="19"/>
  127. <opcode name="Mark3I" symbol="_MarkOpcode3I" value="20"/>
  128. <opcode name="Mark4I" symbol="_MarkOpcode4I" value="21"/>
  129. <opcode name="Mark1S" symbol="_MarkOpcode1S" value="22"/>
  130. <opcode name="Mark2S" symbol="_MarkOpcode2S" value="23"/>
  131. <opcode name="Information" symbol="_InformationOpcode" value="24"/>
  132. </opcodes>
  133. <tasks>
  134. <task name="Block" symbol="Block_Task" value="1" eventGUID="{F15F363A-49FD-4de3-967C-1732464945FF}"/>
  135. <task name="ThreadID" symbol="ThreadID_Task" value="2" eventGUID="{F15F363A-493D-4dea-967C-1123464945FF}"/>
  136. </tasks>
  137. </provider>
  138. <!-- Additional provider, to emit high frequency information about game performance, mainly frame events. -->
  139. <provider
  140. guid="{47a9201e-73b0-42ce-9821-7e134361bc6f}"
  141. name="Valve-FrameRate"
  142. symbol="VALVE_FRAMERATE"
  143. messageFileName="%temp%\tier0.dll"
  144. resourceFileName="%temp%\tier0.dll"
  145. >
  146. <templates>
  147. <template tid="T_FrameMark">
  148. <data inType="win:Int32" name="Frame number" />
  149. <data inType="win:Float" name="Duration (ms)" />
  150. </template>
  151. </templates>
  152. <events>
  153. <event symbol="RenderFrameMark" template="T_FrameMark" value="200" task="Frame" opcode="RenderFrameMark" />
  154. <event symbol="SimFrameMark" template="T_FrameMark" value="201" task="Frame" opcode="SimFrameMark" />
  155. </events>
  156. <opcodes>
  157. <opcode name="RenderFrameMark" symbol="_RenderFrameMarkOpcode" value="10"/>
  158. <opcode name="SimFrameMark" symbol="_SimFrameMarkOpcode" value="11"/>
  159. </opcodes>
  160. <tasks>
  161. <task name="Frame" symbol="Frame_Task" value="1" eventGUID="{F15F363A-49FD-4FFa-967C-1739364945FF}"/>
  162. </tasks>
  163. </provider>
  164. <!-- Additional provider, to emit high frequency information about server performance. -->
  165. <provider
  166. guid="{58a9201e-73b0-42ce-9821-7e134361bc70}"
  167. name="Valve-ServerFrameRate"
  168. symbol="VALVE_SERVERFRAMERATE"
  169. messageFileName="%temp%\tier0.dll"
  170. resourceFileName="%temp%\tier0.dll"
  171. >
  172. <templates>
  173. <template tid="T_FrameMark">
  174. <data inType="win:Int32" name="Frame number" />
  175. <data inType="win:Float" name="Duration (ms)" />
  176. </template>
  177. </templates>
  178. <events>
  179. <event symbol="ServerRenderFrameMark" template="T_FrameMark" value="300" task="ServerFrame" opcode="ServerRenderFrameMark" />
  180. <event symbol="ServerSimFrameMark" template="T_FrameMark" value="301" task="ServerFrame" opcode="ServerSimFrameMark" />
  181. </events>
  182. <opcodes>
  183. <opcode name="ServerRenderFrameMark" symbol="_ServerRenderFrameMarkOpcode" value="10"/>
  184. <opcode name="ServerSimFrameMark" symbol="_ServerSimFrameMarkOpcode" value="11"/>
  185. </opcodes>
  186. <tasks>
  187. <task name="ServerFrame" symbol="Frame_Task" value="1" eventGUID="{025F363A-49FD-4FFa-967C-173936494500}"/>
  188. </tasks>
  189. </provider>
  190. <!-- Additional provider, to emit information about user input. -->
  191. <provider
  192. guid="{1432afee-73b0-42ce-9821-7e134361b433}"
  193. name="Valve-Input"
  194. symbol="VALVE_INPUT"
  195. messageFileName="%temp%\tier0.dll"
  196. resourceFileName="%temp%\tier0.dll"
  197. >
  198. <templates>
  199. <template tid="T_MouseClick">
  200. <data inType="win:Int32" name="x" />
  201. <data inType="win:Int32" name="y" />
  202. <data inType="win:Int32" name="Button Type" />
  203. </template>
  204. <template tid="T_KeyPress">
  205. <data inType="win:AnsiString" name="Character" />
  206. <data inType="win:Int32" name="Scan Code" />
  207. <data inType="win:Int32" name="Virtual Code" />
  208. </template>
  209. <template tid="T_MouseMove">
  210. <data inType="win:Int32" name="x" />
  211. <data inType="win:Int32" name="y" />
  212. </template>
  213. <template tid="T_MouseWheel">
  214. <data inType="win:Int32" name="x" />
  215. <data inType="win:Int32" name="y" />
  216. <data inType="win:Int32" name="wheelDelta" />
  217. </template>
  218. </templates>
  219. <events>
  220. <event symbol="Mouse_down" template="T_MouseClick" value="400" task="Mouse" opcode="MouseDown" />
  221. <event symbol="Mouse_up" template="T_MouseClick" value="401" task="Mouse" opcode="MouseUp" />
  222. <event symbol="Key_down" template="T_KeyPress" value="402" task="Keyboard" opcode="KeyDown" />
  223. <event symbol="Mouse_Move" template="T_MouseMove" value="403" task="Mouse" opcode="MouseMove" />
  224. <event symbol="Mouse_Wheel" template="T_MouseWheel" value="404" task="Mouse" opcode="MouseWheel" />
  225. </events>
  226. <opcodes>
  227. <opcode name="MouseDown" symbol="_MouseDownOpcode" value="10" />
  228. <opcode name="MouseUp" symbol="_MouseUpOpcode" value="11" />
  229. <opcode name="KeyDown" symbol="_KeyDownOpcode" value="12" />
  230. <opcode name="MouseMove" symbol="_MouseMoveOpcode" value="13" />
  231. <opcode name="MouseWheel" symbol="_MouseWheelOpcode" value="14" />
  232. </opcodes>
  233. <tasks>
  234. <task name="Mouse" symbol="Mouse_Task" value="1" eventGUID="{363A49FD-F15F-4FFa-967C-173936494433}"/>
  235. <task name="Keyboard" symbol="Keyboard_Task" value="2" eventGUID="{123A49FD-F15F-4FFa-967C-17393649BEAD}"/>
  236. </tasks>
  237. </provider>
  238. <!-- Additional provider, to emit information about networking. -->
  239. <provider
  240. guid="{4372afee-73b0-42ce-9821-7e134361b519}"
  241. name="Valve-Network"
  242. symbol="VALVE_NETWORK"
  243. messageFileName="%temp%\tier0.dll"
  244. resourceFileName="%temp%\tier0.dll"
  245. >
  246. <templates>
  247. <template tid="T_SendPacket">
  248. <data inType="win:AnsiString" name="To" />
  249. <data inType="win:Int32" name="WireSize" />
  250. <data inType="win:Int32" name="outSequenceNR" />
  251. <data inType="win:Int32" name="outSequenceNrAck" />
  252. <data inType="win:Int32" name="CumulativeWireSize" />
  253. </template>
  254. <template tid="T_Throttled">
  255. </template>
  256. <template tid="T_ReadPacket">
  257. <data inType="win:AnsiString" name="From" />
  258. <data inType="win:Int32" name="WireSize" />
  259. <data inType="win:Int32" name="inSequenceNR" />
  260. <data inType="win:Int32" name="outSequenceNrAck" />
  261. <data inType="win:Int32" name="CumulativeWireSize" />
  262. </template>
  263. </templates>
  264. <events>
  265. <event symbol="SendPacket" template="T_SendPacket" value="500" task="Transmit" opcode="Send" />
  266. <event symbol="Throttled" template="T_Throttled" value="501" task="Throttled" opcode="Throttled" />
  267. <event symbol="ReadPacket" template="T_ReadPacket" value="502" task="Transmit" opcode="Read" />
  268. </events>
  269. <opcodes>
  270. <opcode name="Send" symbol="_SendOpcode" value="10" />
  271. <opcode name="Throttled" symbol="_ThrottledOpcode" value="11" />
  272. <opcode name="Read" symbol="_ReadOpcode" value="12" />
  273. </opcodes>
  274. <tasks>
  275. <task name="Transmit" symbol="Transmit_Task" value="1" eventGUID="{932A49FD-F15F-4FFa-967C-173936494901}"/>
  276. <task name="Throttled" symbol="Network_Task" value="2" eventGUID="{A32A49FD-F15F-4FFa-967C-173936494902}"/>
  277. </tasks>
  278. </provider>
  279. </events>
  280. </instrumentation>
  281. </instrumentationManifest>