summaryrefslogtreecommitdiff
path: root/src/res
diff options
context:
space:
mode:
authorScott Blomquist <sblom@microsoft.com>2012-09-05 12:44:15 -0700
committerBert Belder <bertbelder@gmail.com>2012-11-01 14:06:26 +0100
commit66f64ae072271ef36e9f684a965f1fc410d86ebc (patch)
tree11df5c3b8f80f9eb06b47883ee99281f4b879caa /src/res
parent2f5fa089e9cf8eb6a077ea5f96c48f4685413d70 (diff)
downloadandroid-node-v8-66f64ae072271ef36e9f684a965f1fc410d86ebc.tar.gz
android-node-v8-66f64ae072271ef36e9f684a965f1fc410d86ebc.tar.bz2
android-node-v8-66f64ae072271ef36e9f684a965f1fc410d86ebc.zip
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.man77
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>