diff options
author | Scott Blomquist <sblom@microsoft.com> | 2012-09-05 12:44:15 -0700 |
---|---|---|
committer | Bert Belder <bertbelder@gmail.com> | 2012-11-01 14:06:26 +0100 |
commit | 66f64ae072271ef36e9f684a965f1fc410d86ebc (patch) | |
tree | 11df5c3b8f80f9eb06b47883ee99281f4b879caa /src/res | |
parent | 2f5fa089e9cf8eb6a077ea5f96c48f4685413d70 (diff) | |
download | node-new-66f64ae072271ef36e9f684a965f1fc410d86ebc.tar.gz |
windows: generate ETW events to track v8 compiled code positions
Patch by Henry Rawas and Scott Blomquist.
Diffstat (limited to 'src/res')
-rw-r--r-- | src/res/node_etw_provider.man | 77 |
1 files changed, 64 insertions, 13 deletions
diff --git a/src/res/node_etw_provider.man b/src/res/node_etw_provider.man index 2d96a20c31..efdc26d3de 100644 --- a/src/res/node_etw_provider.man +++ b/src/res/node_etw_provider.man @@ -1,15 +1,25 @@ <instrumentationManifest - xmlns="http://schemas.microsoft.com/win/2004/08/events" + xmlns="http://schemas.microsoft.com/win/2004/08/events" xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <instrumentation> <events> - <provider name="NodeJS-ETW-provider" - guid="{77754E9B-264B-4D8D-B981-E4135C1ECB0C}" - symbol="NODE_ETW_PROVIDER" - resourceFileName="node.exe" + <provider name="NodeJS-ETW-provider" + guid="{77754E9B-264B-4D8D-B981-E4135C1ECB0C}" + symbol="NODE_ETW_PROVIDER" + resourceFileName="node.exe" messageFileName="node.exe"> + <tasks> + <task name="MethodRuntime" value="1" + symbol="JSCRIPT_METHOD_RUNTIME_TASK"> + <opcodes> + <opcode name="MethodLoad" value="10" + symbol="JSCRIPT_METHOD_METHODLOAD_OPCODE"/> + </opcodes> + </task> + </tasks> + <opcodes> <opcode name="NODE_HTTP_SERVER_REQUEST" value="10"/> <opcode name="NODE_HTTP_SERVER_RESPONSE" value="11"/> @@ -19,6 +29,9 @@ <opcode name="NODE_NET_STREAM_END" value="15"/> <opcode name="NODE_GC_START" value="16"/> <opcode name="NODE_GC_DONE" value="17"/> + <opcode name="NODE_V8SYMBOL_REMOVE" value="21"/> + <opcode name="NODE_V8SYMBOL_MOVE" value="22"/> + <opcode name="NODE_V8SYMBOL_RESET" value="23"/> </opcodes> <templates> @@ -52,49 +65,87 @@ <data name="gctype" inType="win:UInt32" /> <data name="gccallbackflags" inType="win:UInt32" /> </template> + + <template tid="V8AddressChange"> + <data name="addr1" inType="win:Pointer" outType="win:HexInt64"/> + <data name="addr2" inType="win:Pointer" outType="win:HexInt64"/> + </template> + + <template tid="MethodLoadUnload"> + <data name="ScriptContextID" inType="win:Pointer" outType="win:HexInt64"/> + <data name="MethodStartAddress" inType="win:Pointer" outType="win:HexInt64" /> + <data name="MethodSize" inType="win:UInt64" /> + <data name="MethodID" inType="win:UInt32" /> + <data name="MethodFlags" inType="win:UInt16" /> + <data name="MethodAddressRangeID" inType="win:UInt16" /> + <data name="SourceID" inType="win:UInt64" /> + <data name="Line" inType="win:UInt32" outType="xs:unsignedInt" /> + <data name="Column" inType="win:UInt32" outType="xs:unsignedInt" /> + <data name="MethodName" inType="win:UnicodeString" outType="xs:string" /> + </template> </templates> <events> - <event value="1" + <event value="1" opcode="NODE_HTTP_SERVER_REQUEST" template="node_http_server_request" symbol="NODE_HTTP_SERVER_REQUEST_EVENT" level="win:Informational"/> - <event value="2" + <event value="2" opcode="NODE_HTTP_SERVER_RESPONSE" template="node_connection" symbol="NODE_HTTP_SERVER_RESPONSE_EVENT" level="win:Informational"/> - <event value="3" + <event value="3" opcode="NODE_HTTP_CLIENT_REQUEST" template="node_http_client_request" symbol="NODE_HTTP_CLIENT_REQUEST_EVENT" level="win:Informational"/> - <event value="4" + <event value="4" opcode="NODE_HTTP_CLIENT_RESPONSE" template="node_connection" symbol="NODE_HTTP_CLIENT_RESPONSE_EVENT" level="win:Informational"/> - <event value="5" + <event value="5" opcode="NODE_NET_SERVER_CONNECTION" template="node_connection" symbol="NODE_NET_SERVER_CONNECTION_EVENT" level="win:Informational"/> - <event value="6" + <event value="6" opcode="NODE_NET_STREAM_END" template="node_connection" symbol="NODE_NET_STREAM_END_EVENT" level="win:Informational"/> - <event value="7" + <event value="7" opcode="NODE_GC_START" template="node_gc" symbol="NODE_GC_START_EVENT" level="win:Informational"/> - <event value="8" + <event value="8" opcode="NODE_GC_DONE" template="node_gc" symbol="NODE_GC_DONE_EVENT" level="win:Informational"/> + <event value="9" + level="win:Informational" + opcode="MethodLoad" + symbol="MethodLoad" + task="MethodRuntime" + template="MethodLoadUnload"/> + <event value="21" + opcode="NODE_V8SYMBOL_REMOVE" + template="V8AddressChange" + symbol="NODE_V8SYMBOL_REMOVE_EVENT" + level="win:Informational" /> + <event value="22" + opcode="NODE_V8SYMBOL_MOVE" + template="V8AddressChange" + symbol="NODE_V8SYMBOL_MOVE_EVENT" + level="win:Informational" /> + <event value="23" + opcode="NODE_V8SYMBOL_RESET" + symbol="NODE_V8SYMBOL_RESET_EVENT" + level="win:Informational" /> </events> </provider> </events> |