Understanding the v8-profiler output

3,019 views
Skip to first unread message

Satyam Shekhar

unread,
Apr 11, 2012, 7:41:33 AM4/11/12
to nod...@googlegroups.com
Hi,

I am trying to understand the output of the v8 profiler. Below is the profiler output for my app.

I have the following doubts. 

1. What are unaccounted ticks?
2. What does nonlib col mean?
    I think it means, that x% of the non-lib time was spent here. -- pls correct me if I m wrong.
3. When I tried adding the ticks from shared libraries + javascript it was <(slightly) total ticks. Why is that? 
4. Which line in shared libraries(I am assuming it is counted there) account for GC ticks?
5. What does the output in JS section mean? 
    to be specific - 
       -- meaning where in the call stack is the function corresponding to the line.
       -- can the number of ticks in line be included in another.


Thanks,
Satyam


Statistical profiling result from /home/fighter/v8.log, (258982 ticks, 31441 unaccounted, 0 excluded).

 [Unknown]:
   ticks  total  nonlib   name
  31441   12.1%

 [Shared libraries]:
   ticks  total  nonlib   name
  89667   34.6%    0.0%  /opt/nodejs/bin/node
  82968   32.0%    0.0%  /lib64/libc-2.12.so
  18306    7.1%    0.0%  /lib64/libpthread-2.12.so
   3000    1.2%    0.0%  7fffd39d6000-7fffd39d7000
    344    0.1%    0.0%  /usr/lib64/libstdc++.so.6.0.13
    150    0.1%    0.0%  /lib64/libm-2.12.so

 [JavaScript]:
   ticks  total  nonlib   name
  26326   10.2%   40.8%  LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:68
   1587    0.6%    2.5%  LazyCompile: *exports.Parser.parse /opt/chirkut/shared/node_modules/node-expat/lib/node-expat.js:23
   1275    0.5%    2.0%  Function: Element.write /opt/chirkut/shared/node_modules/ltx/lib/element.js:239
   1053    0.4%    1.6%  LazyCompile: *replace native string.js:216
    944    0.4%    1.5%  Function: exports.lookup dns.js:97
    861    0.3%    1.3%  Stub: CEntryStub
    854    0.3%    1.3%  LazyCompile: *escapeXml /opt/chirkut/shared/node_modules/ltx/lib/element.js:276
    774    0.3%    1.2%  Function: Buffer buffer.js:210
    772    0.3%    1.2%  LazyCompile: *StringReplaceGlobalRegExpWithFunction native string.js:396
    661    0.3%    1.0%  Stub: StringAddStub
    654    0.3%    1.0%  LazyCompile: BasicSerializeObject native json.js:244
    632    0.2%    1.0%  LazyCompile: DefaultString native runtime.js:655
    611    0.2%    0.9%  Function: exports.asString /opt/chirkut/shared/node_modules/log4js/lib/date_format.js:6
    595    0.2%    0.9%  LazyCompile: *ArraySlice native array.js:604
    571    0.2%    0.9%  Function: exports.format util.js:23
    533    0.2%    0.8%  Function: formatLogData /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:26
    532    0.2%    0.8%  Function: Buffer.write buffer.js:323
    501    0.2%    0.8%  LazyCompile: *EventEmitter.emit events.js:40
    496    0.2%    0.8%  LazyCompile: stringify native json.js:307
    488    0.2%    0.8%  Builtin: A builtin from the snapshot {1}
    452    0.2%    0.7%  Builtin: A builtin from the snapshot {4}
    404    0.2%    0.6%  Stub: CallFunctionStub
    403    0.2%    0.6%  KeyedLoadIC: A keyed load IC from the snapshot
    394    0.2%    0.6%  LazyCompile: *BasicJSONSerialize native json.js:273
    367    0.1%    0.6%  Builtin: A builtin from the snapshot {3}
    361    0.1%    0.6%  Builtin: A builtin from the snapshot
    356    0.1%    0.6%  Stub: BinaryOpStub
    347    0.1%    0.5%  Stub: CallFunctionStub_Args1_Implicit
    347    0.1%    0.5%  LazyCompile: NonStringToString native runtime.js:568
    331    0.1%    0.5%  RegExp: %[sdj]
    322    0.1%    0.5%  RegExp: %[sdj%]
    320    0.1%    0.5%  LazyCompile: b native string.js:36
    305    0.1%    0.5%  Stub: FastNewClosureStub
    299    0.1%    0.5%  Builtin: A builtin from the snapshot {2}
    296    0.1%    0.5%  Function: fs.writeSync fs.js:310
    277    0.1%    0.4%  LazyCompile: *exports.isIP net.js:872
    271    0.1%    0.4%  Builtin: A builtin from the snapshot {5}
    267    0.1%    0.4%  LazyCompile: APPLY_PREPARE native runtime.js:449
    254    0.1%    0.4%  LazyCompile: *test native regexp.js:223
    252    0.1%    0.4%  Function: forEach.Logger.(anonymous function) /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:229
    244    0.1%    0.4%  LazyCompile: *forEach native array.js:1019
    238    0.1%    0.4%  Stub: JSEntryStub
    231    0.1%    0.4%  Function: ~offset /opt/chirkut/shared/node_modules/log4js/lib/date_format.js:51
    223    0.1%    0.3%  RegExp: ^::|^::1|^([a-fA-F0-9]{1\,4}::?){1\,7}([a-fA-F0-9]{1\,4})$
    221    0.1%    0.3%  Function: Element.toString /opt/chirkut/shared/node_modules/ltx/lib/element.js:233
    216    0.1%    0.3%  LazyCompile: *exports.log console.js:24
    198    0.1%    0.3%  Stub: CompareICStub
    197    0.1%    0.3%  Stub: StringAddStub {1}
    193    0.1%    0.3%  LazyCompile: isFinite native v8natives.js:115
    188    0.1%    0.3%  Stub: RegExpExecStub
    187    0.1%    0.3%  LazyCompile: *LocalTimeNoCheck native date.js:248
    184    0.1%    0.3%  LazyCompile: SimpleSlice native array.js:327
    176    0.1%    0.3%  Stub: InstanceofStub
    175    0.1%    0.3%  Stub: NumberToStringStub
    169    0.1%    0.3%  LazyCompile: *Socket.send dgram.js:160
    168    0.1%    0.3%  LazyCompile: *SyncWriteStream.write fs.js:1392
    164    0.1%    0.3%  LazyCompile: *IsPrimitive native runtime.js:628
    162    0.1%    0.3%  CallMegamorphic: args_count: 3
    152    0.1%    0.2%  LazyCompile: INSTANCE_OF native runtime.js:367
    149    0.1%    0.2%  LazyCompile: *lookup dgram.js:45
    146    0.1%    0.2%  RegExp: ^(\\d?\\d?\\d)\\.(\\d?\\d?\\d)\\.(\\d?\\d?\\d)\\.(\\d?\\d?\\d)$
    145    0.1%    0.2%  LazyCompile: *preparePacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:49
    144    0.1%    0.2%  LazyCompile: *toLowerCase native string.js:742
    141    0.1%    0.2%  Stub: ToBooleanStub_UndefinedSpecObject
    140    0.1%    0.2%  Function: sendPacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:62
    139    0.1%    0.2%  LazyCompile: *Temp._update_received /opt/chirkut/releases/20120406090544/plugins/stats.js:118
    139    0.1%    0.2%  Function: ~padWithZeros /opt/chirkut/shared/node_modules/log4js/lib/date_format.js:34
    139    0.1%    0.2%  Builtin: A builtin from the snapshot {6}
    136    0.1%    0.2%  LazyCompile: *isArrayIsh buffer.js:269
    133    0.1%    0.2%  LazyCompile: *<anonymous> native string.js:934
    131    0.1%    0.2%  LazyCompile: *isArray native array.js:1311
    130    0.1%    0.2%  Stub: FastNewContextStub {1}
    127    0.0%    0.2%  Stub: KeyedLoadElementStub
    127    0.0%    0.2%  LazyCompile: WeekDays native date.js:398
    122    0.0%    0.2%  LazyCompile: *floor native math.js:98
    120    0.0%    0.2%  LazyCompile: NonNumberToNumber native runtime.js:548
    120    0.0%    0.2%  LazyCompile: *isBuffer buffer.js:288
    118    0.0%    0.2%  Stub: ToBooleanStub_SpecObjectString
    118    0.0%    0.2%  Builtin: A builtin from the snapshot {9}
    117    0.0%    0.2%  RegExp: y{1\,4}
    116    0.0%    0.2%  LazyCompile: ToString native runtime.js:560
    113    0.0%    0.2%  Stub: FastNewContextStub
    113    0.0%    0.2%  LazyCompile: *basicLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:108
    110    0.0%    0.2%  LazyCompile: *substring native string.js:661
    109    0.0%    0.2%  LazyCompile: *timestampLevelAndCategory /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:86
    108    0.0%    0.2%  LazyCompile: *escapeXmlText /opt/chirkut/shared/node_modules/ltx/lib/element.js:285
    107    0.0%    0.2%  LazyCompile: *Session.enqueue_stanza /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:852
    106    0.0%    0.2%  Stub: ToBooleanStub
    106    0.0%    0.2%  Function: Logger.log /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:211
    105    0.0%    0.2%  Function: exports.Parser.parser.emit /opt/chirkut/shared/node_modules/node-expat/lib/node-expat.js:17
    105    0.0%    0.2%  CallMegamorphic: args_count: 1
    104    0.0%    0.2%  LazyCompile: *indexOf native string.js:115
    102    0.0%    0.2%  LazyCompile: *toString native string.js:48
     99    0.0%    0.2%  CallNormal: args_count: 3 {1}
     98    0.0%    0.2%  LazyCompile: FILTER_KEY native runtime.js:399
     96    0.0%    0.1%  Stub: ToBooleanStub_SmiString
     96    0.0%    0.1%  LazyCompile: *DateFromTime native date.js:325
     95    0.0%    0.1%  LazyCompile: *isIP dgram.js:37
     95    0.0%    0.1%  LazyCompile: *ReplaceResultBuilder native string.js:906
     94    0.0%    0.1%  LazyCompile: *getDate native date.js:671
     93    0.0%    0.1%  LazyCompile: EventPipe.emit /opt/chirkut/shared/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:58
     92    0.0%    0.1%  LazyCompile: ToNumber native runtime.js:537
     92    0.0%    0.1%  Function: ~asyncCallback dns.js:81
     91    0.0%    0.1%  Function: <anonymous> /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:32
     86    0.0%    0.1%  LazyCompile: *messagePassThroughLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:120
     86    0.0%    0.1%  LazyCompile: *Modulo native date.js:49
     85    0.0%    0.1%  Function: d native v8natives.js:1465
     83    0.0%    0.1%  LazyCompile: *getHours native date.js:702
     83    0.0%    0.1%  LazyCompile: *Logger.isLevelEnabled /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:218
     82    0.0%    0.1%  Stub: ArgumentsAccessStub
     81    0.0%    0.1%  LazyCompile: *getFullYear native date.js:637
     81    0.0%    0.1%  LazyCompile: *dutil.copy._handle_start_element /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream-parser.js:40
     81    0.0%    0.1%  LazyCompile: *_on_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:239
     81    0.0%    0.1%  LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
     78    0.0%    0.1%  LazyCompile: STRING_ADD_RIGHT native runtime.js:198
     78    0.0%    0.1%  LazyCompile: *getTimezoneOffset native date.js:763
     78    0.0%    0.1%  Function: ~remove _linklist.js:47
     74    0.0%    0.1%  LazyCompile: *lookup4 dgram.js:58
     74    0.0%    0.1%  CallMegamorphic: args_count: 2
     73    0.0%    0.1%  LazyCompile: *dutil.copy._on_stanza /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:158
     72    0.0%    0.1%  Stub: FastCloneShallowArrayStub {1}
     72    0.0%    0.1%  Stub: CompareICStub {1}
     71    0.0%    0.1%  KeyedStoreIC: A keyed store IC from the snapshot
     71    0.0%    0.1%  Function: ~exports.Parser /opt/chirkut/shared/node_modules/node-expat/lib/node-expat.js:13
     70    0.0%    0.1%  LazyCompile: *onread net.js:321
     70    0.0%    0.1%  Function: Temp.packet_received /opt/chirkut/releases/20120406090544/plugins/stats.js:126
     69    0.0%    0.1%  Function: ~Socket.send dgram.js:173
     69    0.0%    0.1%  Function: ~<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:32
     68    0.0%    0.1%  Stub: FastNewContextStub {5}
     68    0.0%    0.1%  LazyCompile: *getMinutes native date.js:718
     67    0.0%    0.1%  Function: ~onanswer dns.js:132
     65    0.0%    0.1%  Stub: CompareICStub {2}
     65    0.0%    0.1%  Stub: BinaryOpStub {3}
     65    0.0%    0.1%  LazyCompile: *getMonth native date.js:655
     64    0.0%    0.1%  LazyCompile: *Socket._healthCheck dgram.js:259
     64    0.0%    0.1%  LazyCompile: *Session.send_pending_responses /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:772
     64    0.0%    0.1%  LazyCompile: *Session._stitch_new_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:729
     63    0.0%    0.1%  Stub: CompareICStub {7}
     62    0.0%    0.1%  LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:75
     60    0.0%    0.1%  Stub: CompareStub
     60    0.0%    0.1%  Stub: CompareICStub {6}
     59    0.0%    0.1%  Stub: CallFunctionStub_Args2_Implicit
     59    0.0%    0.1%  Stub: CallFunctionStub {1}
     58    0.0%    0.1%  LazyCompile: *afterSend dgram.js:193
     57    0.0%    0.1%  LazyCompile: *getMilliseconds native date.js:748
     57    0.0%    0.1%  LazyCompile: *EventEmitter.addListener events.js:99
     57    0.0%    0.1%  KeyedLoadIC: A keyed load IC from the snapshot {1}
     56    0.0%    0.1%  LazyCompile: *urlParse url.js:88
     55    0.0%    0.1%  Stub: ToBooleanStub {1}
     55    0.0%    0.1%  Stub: FastNewContextStub {2}
     55    0.0%    0.1%  Stub: BinaryOpStub_DIV_Alloc_SMI
     55    0.0%    0.1%  LazyCompile: *exports.Parser /opt/chirkut/shared/node_modules/node-expat/lib/node-expat.js:13
     53    0.0%    0.1%  Stub: BinaryOpStub {2}
     50    0.0%    0.1%  LazyCompile: *getSeconds native date.js:733
     49    0.0%    0.1%  Stub: CompareStub_LT
     49    0.0%    0.1%  Stub: CallFunctionStub_Args3_Implicit
     49    0.0%    0.1%  Stub: BinaryOpStub_SUB_Alloc_SMI
     49    0.0%    0.1%  LazyCompile: *ToUint32 native runtime.js:596
     49    0.0%    0.1%  Function: ~addZero /opt/chirkut/shared/node_modules/log4js/lib/date_format.js:42
     48    0.0%    0.1%  Stub: CallFunctionStub {3}
     48    0.0%    0.1%  LazyCompile: *dutil.copy._handle_end_element /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream-parser.js:63
     48    0.0%    0.1%  Function: extend /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/dutil.js:147
     47    0.0%    0.1%  LazyCompile: *Level.toString /opt/chirkut/shared/node_modules/log4js/lib/levels.js:28
     46    0.0%    0.1%  LazyCompile: *<anonymous> node.js:280
     45    0.0%    0.1%  Stub: FastNewContextStub {4}
     45    0.0%    0.1%  LazyCompile: ~MonthFromTime native date.js:313
     45    0.0%    0.1%  LazyCompile: ConfigureTemplateInstance native apinatives.js:105
     44    0.0%    0.1%  Stub: CompareICStub {3}
     44    0.0%    0.1%  CallMegamorphic: args_count: 0 {1}
     43    0.0%    0.1%  Builtin: A builtin from the snapshot {10}
     42    0.0%    0.1%  Stub: CompareStub {1}
     42    0.0%    0.1%  LazyCompile: *colorize /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:63
     42    0.0%    0.1%  LazyCompile: *Socket._startReceiving dgram.js:265
     42    0.0%    0.1%  LazyCompile: *Element.toString /opt/chirkut/shared/node_modules/ltx/lib/element.js:231
     41    0.0%    0.1%  Stub: StringAddStub {2}
     39    0.0%    0.1%  LazyCompile: *LoggingEvent /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:179
     38    0.0%    0.1%  Stub: CompareICStub {10}
     38    0.0%    0.1%  Stub: CallFunctionStub_Args4_Implicit
     37    0.0%    0.1%  LazyCompile: *exports.active timers.js:127
     37    0.0%    0.1%  LazyCompile: *Session.add_request_for_processing /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:368
     37    0.0%    0.1%  LazyCompile: *Level.isLessThanOrEqualTo /opt/chirkut/shared/node_modules/log4js/lib/levels.js:32
     36    0.0%    0.1%  Stub: FastNewContextStub {3}
     36    0.0%    0.1%  Function: inflated_attrs /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/dutil.js:475
     35    0.0%    0.1%  Stub: CompareICStub {4}
     35    0.0%    0.1%  LazyCompile: *toString native v8natives.js:1276
     34    0.0%    0.1%  LazyCompile: *makeAsync dns.js:77
     34    0.0%    0.1%  LazyCompile: *Session.is_valid_packet /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:247
     33    0.0%    0.1%  Stub: ToBooleanStub_String
     33    0.0%    0.1%  LazyCompile: *Element.cnode /opt/chirkut/shared/node_modules/ltx/lib/element.js:153
     32    0.0%    0.0%  Stub: StringAddStub {3}
     31    0.0%    0.0%  Stub: ToBooleanStub {2}
     31    0.0%    0.0%  Builtin: A builtin from the snapshot {7}
     30    0.0%    0.0%  Stub: BinaryOpStub_MOD_Alloc_SMI
     30    0.0%    0.0%  LazyCompile: *Element.is /opt/chirkut/shared/node_modules/ltx/lib/element.js:19
     30    0.0%    0.0%  Function: process_bosh_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:124
     30    0.0%    0.0%  Builtin: A builtin from the snapshot {14}
     29    0.0%    0.0%  Stub: ToBooleanStub_Smi
     29    0.0%    0.0%  Stub: KeyedLoadElementStub {1}
     29    0.0%    0.0%  LazyCompile: *Session._send_no_requeue /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:873
     28    0.0%    0.0%  LazyCompile: hasOwnProperty native v8natives.js:264
     28    0.0%    0.0%  LazyCompile: *exports.unenroll timers.js:100
     28    0.0%    0.0%  LazyCompile: *Socket._write net.js:442
     28    0.0%    0.0%  LazyCompile: *Element /opt/chirkut/shared/node_modules/ltx/lib/element.js:7
     27    0.0%    0.0%  LazyCompile: *Session.add_held_http_connection /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:425
     27    0.0%    0.0%  Function: ~exports.Parser.stop /opt/chirkut/shared/node_modules/node-expat/lib/node-expat.js:34
     26    0.0%    0.0%  LazyCompile: bind native v8natives.js:1456
     26    0.0%    0.0%  Function: ~parser.onHeadersComplete http.js:60
     25    0.0%    0.0%  LazyCompile: ~YearFromTime native date.js:300
     25    0.0%    0.0%  LazyCompile: *dutil.copy._on_data /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:279
     25    0.0%    0.0%  LazyCompile: *Session.process_requests /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:328
     25    0.0%    0.0%  LazyCompile: *Session._process_one_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:263
     24    0.0%    0.0%  Stub: ToBooleanStub_UndefinedNullSpecObject
     24    0.0%    0.0%  LazyCompile: *Element.getChildren /opt/chirkut/shared/node_modules/ltx/lib/element.js:74
     24    0.0%    0.0%  CallNormal: args_count: 1 {1}
     23    0.0%    0.0%  LazyCompile: ToObject native runtime.js:577
     23    0.0%    0.0%  LazyCompile: DELETE native runtime.js:348
     22    0.0%    0.0%  Stub: CompareICStub {12}
     22    0.0%    0.0%  LazyCompile: b native v8natives.js:1264
     22    0.0%    0.0%  LazyCompile: *append _linklist.js:63
     22    0.0%    0.0%  Function: exports.setTimeout timers.js:146
     20    0.0%    0.0%  Stub: ToBooleanStub_NullSpecObject
     20    0.0%    0.0%  Stub: CompareICStub {9}
     20    0.0%    0.0%  LazyCompile: *afterWrite net.js:461
     20    0.0%    0.0%  LazyCompile: *Session._stitch_response_for_stream /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:706
     20    0.0%    0.0%  Function: ~OutgoingMessage._storeHeader http.js:431
     19    0.0%    0.0%  Stub: CompareICStub {13}
     19    0.0%    0.0%  Stub: BinaryOpStub_ADD_OverwriteLeft_BothStrings
     19    0.0%    0.0%  LazyCompile: MOD native runtime.js:238
     19    0.0%    0.0%  LazyCompile: *urlFormat url.js:308
     19    0.0%    0.0%  LazyCompile: *handle_on_response /opt/chirkut/releases/20120406090544/plugins/redis.js:43
     19    0.0%    0.0%  LazyCompile: *Temp.packet_sent /opt/chirkut/releases/20120406090544/plugins/stats.js:158
     19    0.0%    0.0%  LazyCompile: *Session.handle_acks /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:956
     19    0.0%    0.0%  LazyCompile: *EventPipe._ep_init /opt/chirkut/shared/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:5
     18    0.0%    0.0%  Stub: ToBooleanStub_UndefinedString
     18    0.0%    0.0%  LazyCompile: *init _linklist.js:22
     18    0.0%    0.0%  LazyCompile: *Session.try_sending /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:819
     18    0.0%    0.0%  Function: ~Session.handle_acks /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:989
     18    0.0%    0.0%  CallNormal: args_count: 2 {1}
     17    0.0%    0.0%  LazyCompile: *dutil.copy._handle_start_element /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh-request-parser.js:43
     17    0.0%    0.0%  LazyCompile: *Socket.write net.js:405
     16    0.0%    0.0%  Stub: CompareICStub {15}
     16    0.0%    0.0%  LazyCompile: COMPARE native runtime.js:120
     16    0.0%    0.0%  LazyCompile: *keys native v8natives.js:347
     16    0.0%    0.0%  LazyCompile: *insert timers.js:50
     16    0.0%    0.0%  Function: ~OutgoingMessage http.js:317
     16    0.0%    0.0%  Function: OutgoingMessage.end http.js:648
     16    0.0%    0.0%  Function: IncomingMessage._addHeaderLine http.js:270
     15    0.0%    0.0%  Stub: SubStringStub
     15    0.0%    0.0%  Stub: CallFunctionStub {2}
     15    0.0%    0.0%  RegExp: %[sdj%] {1}
     15    0.0%    0.0%  LazyCompile: *exports.clearTimeout timers.js:186
     15    0.0%    0.0%  LazyCompile: *XMPPProxyConnector.stanza /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:123
     15    0.0%    0.0%  LazyCompile: *ServerResponse.writeHead http.js:799
     15    0.0%    0.0%  LazyCompile: *Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
     14    0.0%    0.0%  LazyCompile: ~substring native string.js:661
     14    0.0%    0.0%  LazyCompile: *get_device_type /opt/chirkut/releases/20120406090544/plugins/stats.js:60
     14    0.0%    0.0%  LazyCompile: *Session.reset_inactivity_timeout /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:518
     14    0.0%    0.0%  LazyCompile: *OutgoingMessage.setHeader http.js:525
     14    0.0%    0.0%  Function: ~store http.js:443
     14    0.0%    0.0%  Function: ~parser.onIncoming http.js:1429
     14    0.0%    0.0%  Builtin: A builtin from the snapshot {8}
     13    0.0%    0.0%  LazyCompile: ~NonNumberToNumber native runtime.js:548
     13    0.0%    0.0%  LazyCompile: *indexOf native array.js:1122
     13    0.0%    0.0%  LazyCompile: *http_request_handler /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/http-server.js:188
     13    0.0%    0.0%  LazyCompile: *dutil.copy._handle_text /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream-parser.js:82
     13    0.0%    0.0%  Function: ~Element.toString /opt/chirkut/shared/node_modules/ltx/lib/element.js:233
     12    0.0%    0.0%  Stub: CompareStub_GE
     12    0.0%    0.0%  LazyCompile: DoConstructRegExp native regexp.js:35
     12    0.0%    0.0%  LazyCompile: *exports.enroll timers.js:115
     12    0.0%    0.0%  LazyCompile: *dutil.copy.end /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh-request-parser.js:95
     12    0.0%    0.0%  LazyCompile: *Session.get_response_object /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:694
     12    0.0%    0.0%  LazyCompile: *Request.init /opt/chirkut/shared/node_modules/request/main.js:105
     12    0.0%    0.0%  Function: ~is_stream_add_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/helper.js:178
     11    0.0%    0.0%  RegExp: Connection
     11    0.0%    0.0%  LazyCompile: ~indexOf native string.js:115
     11    0.0%    0.0%  LazyCompile: EQUALS native runtime.js:54
     11    0.0%    0.0%  LazyCompile: *toNumber /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/dutil.js:470
     11    0.0%    0.0%  LazyCompile: *dutil.copy.parse /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream-parser.js:95
     11    0.0%    0.0%  KeyedCallMegamorphic: args_count: 0 {5}
     11    0.0%    0.0%  Function: ~parser.onIncoming.res._expect_continue http.js:1446
     11    0.0%    0.0%  Function: ~colorize /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:63
     11    0.0%    0.0%  Function: ~Stream stream.js:25
     11    0.0%    0.0%  Function: ~Socket.send dgram.js:160
     11    0.0%    0.0%  Builtin: A builtin from the snapshot {13}
     10    0.0%    0.0%  RegExp: ^xmlns:([\\S\\s]+)$
     10    0.0%    0.0%  RegExp: Transfer-Encoding
     10    0.0%    0.0%  LazyCompile: ~UseSparseVariant native array.js:111
     10    0.0%    0.0%  LazyCompile: *startup.globalTimeouts.global.setTimeout node.js:134
     10    0.0%    0.0%  LazyCompile: *match native string.js:179
     10    0.0%    0.0%  LazyCompile: *handle_on_response_acknowledged /opt/chirkut/releases/20120406090544/plugins/redis.js:86
     10    0.0%    0.0%  LazyCompile: *allocPool buffer.js:281
     10    0.0%    0.0%  LazyCompile: *XMPPProxyConnector.stream_add /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:147
     10    0.0%    0.0%  LazyCompile: *BoshRequestParser /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh-request-parser.js:31
     10    0.0%    0.0%  Function: ~res.writeHead.Location /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/http-server.js:99
     10    0.0%    0.0%  Function: ~OutgoingMessage.detachSocket http.js:350
     10    0.0%    0.0%  Function: ~NativeModule.require node.js:490
     10    0.0%    0.0%  Function: ~Element.t /opt/chirkut/shared/node_modules/ltx/lib/element.js:160
     10    0.0%    0.0%  Function: ~Element.getName /opt/chirkut/shared/node_modules/ltx/lib/element.js:25
     10    0.0%    0.0%  Function: Stream.terminate /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream.js:53
      9    0.0%    0.0%  LazyCompile: IN native runtime.js:354
      9    0.0%    0.0%  LazyCompile: DIV native runtime.js:230
      9    0.0%    0.0%  LazyCompile: *initSocketHandle net.js:81
      9    0.0%    0.0%  LazyCompile: *handle_post_bosh_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/http-server.js:63
      9    0.0%    0.0%  LazyCompile: *Socket.destroy net.js:287
      9    0.0%    0.0%  LazyCompile: *Response.set_socket_options /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:86
      9    0.0%    0.0%  Function: ~socket.ondata http.js:1373
      9    0.0%    0.0%  Function: ~NativeModule.getCached node.js:514
      9    0.0%    0.0%  Function: ~Level.isLessThanOrEqualTo /opt/chirkut/shared/node_modules/log4js/lib/levels.js:32
      9    0.0%    0.0%  Function: ~IncomingMessage http.js:213
      9    0.0%    0.0%  Function: ~Buffer.write buffer.js:323
      9    0.0%    0.0%  Function: ~Buffer.toString buffer.js:390
      9    0.0%    0.0%  Function: ~<anonymous> /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/http-server.js:73
      9    0.0%    0.0%  Builtin: A builtin from the snapshot {12}
      8    0.0%    0.0%  RegExp: Content-Length
      8    0.0%    0.0%  LazyCompile: ~substr native string.js:698
      8    0.0%    0.0%  LazyCompile: STRING_ADD_LEFT native runtime.js:183
      8    0.0%    0.0%  LazyCompile: *startup.processNextTick.process.nextTick node.js:205
      8    0.0%    0.0%  LazyCompile: *Socket.setKeepAlive net.js:161
      8    0.0%    0.0%  LazyCompile: *RedisClient.send_command /opt/chirkut/shared/node_modules/redis/index.js:556
      8    0.0%    0.0%  LazyCompile: *OutgoingMessage._flush http.js:727
      8    0.0%    0.0%  LazyCompile: *EventPipe.listeners /opt/chirkut/shared/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:70
      8    0.0%    0.0%  Function: ~socket.ondrain http.js:1307
      8    0.0%    0.0%  Function: ~sanitize_request_node /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/helper.js:156
      8    0.0%    0.0%  Function: ~parser.onMessageComplete http.js:119
      8    0.0%    0.0%  Function: ~parser.onBody http.js:108
      8    0.0%    0.0%  Function: ~Socket._connectQueueCleanUp net.js:280
      8    0.0%    0.0%  Function: ~Element.getChildren /opt/chirkut/shared/node_modules/ltx/lib/element.js:74
      7    0.0%    0.0%  Stub: CompareICStub {14}
      7    0.0%    0.0%  LazyCompile: ~toString native v8natives.js:1276
      7    0.0%    0.0%  LazyCompile: ~search native string.js:503
      7    0.0%    0.0%  LazyCompile: DefineOwnProperty native v8natives.js:692
      7    0.0%    0.0%  LazyCompile: *onconnection net.js:810
      7    0.0%    0.0%  LazyCompile: *ok assert.js:123
      7    0.0%    0.0%  LazyCompile: *isEmpty _linklist.js:73
      7    0.0%    0.0%  LazyCompile: *connectionListener http.js:1341
      7    0.0%    0.0%  LazyCompile: *bosh_request_handler /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:214
      7    0.0%    0.0%  LazyCompile: *OutgoingMessage.end http.js:648
      7    0.0%    0.0%  LazyCompile: *OutgoingMessage._renderHeaders http.js:571
      7    0.0%    0.0%  LazyCompile: *EventEmitter.removeAllListeners events.js:197
      7    0.0%    0.0%  Function: ~urlParse url.js:88
      7    0.0%    0.0%  Function: ~coerce buffer.js:199
      7    0.0%    0.0%  Function: ~Buffer buffer.js:210
      7    0.0%    0.0%  Function: ~<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:68
      7    0.0%    0.0%  Function: dutil.copy.send /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:245
      7    0.0%    0.0%  Function: commands.forEach.RedisClient.(anonymous function) /opt/chirkut/shared/node_modules/redis/index.js:742
      6    0.0%    0.0%  Stub: ToBooleanStub_UndefinedBool
      6    0.0%    0.0%  Stub: BinaryOpStub_ADD_Alloc_Generic
      6    0.0%    0.0%  LazyCompile: ~unescapePredicate native uri.js:315
      6    0.0%    0.0%  LazyCompile: ~exports.FreeList.alloc freelist.js:31
      6    0.0%    0.0%  LazyCompile: ~ceil native math.js:80
      6    0.0%    0.0%  LazyCompile: ~SubString native string.js:200
      6    0.0%    0.0%  LazyCompile: ~BuildResultFromMatchInfo native regexp.js:126
      6    0.0%    0.0%  LazyCompile: join native array.js:399
      6    0.0%    0.0%  LazyCompile: ToPropertyDescriptor native v8natives.js:432
      6    0.0%    0.0%  LazyCompile: ToPrimitive native runtime.js:516
      6    0.0%    0.0%  LazyCompile: *slice native string.js:525
      6    0.0%    0.0%  LazyCompile: *max native math.js:120
      6    0.0%    0.0%  LazyCompile: *is_session_creation_packet /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/helper.js:195
      6    0.0%    0.0%  LazyCompile: *exec native regexp.js:167
      6    0.0%    0.0%  LazyCompile: *ToInteger native runtime.js:589
      6    0.0%    0.0%  Function: ~Socket.destroySoon net.js:270
      6    0.0%    0.0%  Function: ~Socket._startReceiving dgram.js:265
      6    0.0%    0.0%  Function: ~Session.try_sending.has_next_tick /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:821
      6    0.0%    0.0%  Function: ~Session /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:81
      6    0.0%    0.0%  Function: ~OutgoingMessage.end http.js:648
      5    0.0%    0.0%  Stub: KeyedStoreElementStub
      5    0.0%    0.0%  Stub: BinaryOpStub_MOD_Alloc_HeapNumbers
      5    0.0%    0.0%  RegExp: ^([a-z0-9.+-]+:)
      5    0.0%    0.0%  LazyCompile: ~split native string.js:564
      5    0.0%    0.0%  LazyCompile: ~map native array.js:1094
      5    0.0%    0.0%  LazyCompile: ~isNaN native v8natives.js:108
      5    0.0%    0.0%  LazyCompile: ~encodeURIComponent native uri.js:314
      5    0.0%    0.0%  LazyCompile: ~DefaultString native runtime.js:655
      5    0.0%    0.0%  LazyCompile: ~ConvertToString native array.js:195
      5    0.0%    0.0%  LazyCompile: Join native array.js:119
      5    0.0%    0.0%  LazyCompile: *map native array.js:1094
      5    0.0%    0.0%  LazyCompile: *isFalsy /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/dutil.js:332
      5    0.0%    0.0%  LazyCompile: *add_timestamp /opt/chirkut/releases/20120406090544/plugins/timestamp.js:11
      5    0.0%    0.0%  LazyCompile: *SlowBuffer.slice buffer.js:185
      5    0.0%    0.0%  LazyCompile: *ClientRequest http.js:983
      5    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {32}
      5    0.0%    0.0%  Function: ~exports.Parser.parse /opt/chirkut/shared/node_modules/node-expat/lib/node-expat.js:23
      5    0.0%    0.0%  Function: ~exports.LookupService /opt/chirkut/releases/20120406090544/lookup-service.js:183
      5    0.0%    0.0%  Function: ~dutil.copy._handle_end_element /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh-request-parser.js:61
      5    0.0%    0.0%  Function: ~XMPPProxyConnector.stanza /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:123
      5    0.0%    0.0%  Function: ~Temp.packets_sent /opt/chirkut/releases/20120406090544/plugins/stats.js:192
      5    0.0%    0.0%  Function: ~Temp.packet_received /opt/chirkut/releases/20120406090544/plugins/stats.js:126
      5    0.0%    0.0%  Function: ~Temp._update_received /opt/chirkut/releases/20120406090544/plugins/stats.js:118
      5    0.0%    0.0%  Function: ~ServerResponse.writeHead http.js:799
      5    0.0%    0.0%  Function: ~ServerResponse http.js:773
      5    0.0%    0.0%  Function: ~Logger.isLevelEnabled /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:218
      5    0.0%    0.0%  Function: ~Element /opt/chirkut/shared/node_modules/ltx/lib/element.js:7
      5    0.0%    0.0%  Function: ~<anonymous> /opt/chirkut/releases/20120406090544/plugins/redis.js:94
      5    0.0%    0.0%  CallNormal: args_count: 0 {16}
      4    0.0%    0.0%  LazyCompile: ~toString native array.js:383
      4    0.0%    0.0%  LazyCompile: ~getSeconds native date.js:733
      4    0.0%    0.0%  LazyCompile: ~getMinutes native date.js:718
      4    0.0%    0.0%  LazyCompile: ~getDate native date.js:671
      4    0.0%    0.0%  LazyCompile: ~ReplaceResultBuilder native string.js:906
      4    0.0%    0.0%  LazyCompile: ~Queue.getLength /opt/chirkut/shared/node_modules/redis/lib/queue.js:48
      4    0.0%    0.0%  LazyCompile: ~LocalTimeNoCheck native date.js:248
      4    0.0%    0.0%  LazyCompile: ~EventPipe.listeners /opt/chirkut/shared/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:70
      4    0.0%    0.0%  LazyCompile: RegExpConstructor native regexp.js:86
      4    0.0%    0.0%  LazyCompile: ADD native runtime.js:163
      4    0.0%    0.0%  LazyCompile: *substr native string.js:698
      4    0.0%    0.0%  LazyCompile: *startup.globalTimeouts.global.clearTimeout node.js:144
      4    0.0%    0.0%  LazyCompile: *dutil.copy._attach_handlers /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:103
      4    0.0%    0.0%  LazyCompile: *Temp.packet_received /opt/chirkut/releases/20120406090544/plugins/stats.js:126
      4    0.0%    0.0%  LazyCompile: *Stream stream.js:25
      4    0.0%    0.0%  LazyCompile: *Element.root /opt/chirkut/shared/node_modules/ltx/lib/element.js:132
      4    0.0%    0.0%  LazyCompile: *Element.getChild /opt/chirkut/shared/node_modules/ltx/lib/element.js:67
      4    0.0%    0.0%  Function: ~get_stream_name /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/helper.js:150
      4    0.0%    0.0%  Function: ~dutil.copy.parse /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh-request-parser.js:84
      4    0.0%    0.0%  Function: ~RedisReplyParser.execute /opt/chirkut/shared/node_modules/redis/lib/parser/javascript.js:71
      4    0.0%    0.0%  Function: ~Level.toString /opt/chirkut/shared/node_modules/log4js/lib/levels.js:28
      4    0.0%    0.0%  Function: ~InsertionSort native array.js:747
      4    0.0%    0.0%  Function: startup.processNextTick.process._tickCallback node.js:184
      3    0.0%    0.0%  Stub: ToBooleanStub_UndefinedSmi
      3    0.0%    0.0%  Stub: ToBooleanStub_BoolSpecObject
      3    0.0%    0.0%  Stub: KeyedStoreElementStub {1}
      3    0.0%    0.0%  Stub: CompareICStub {11}
      3    0.0%    0.0%  RegExp: ^[a-zA-Z0-9][a-z0-9A-Z_-]{0\,62}$
      3    0.0%    0.0%  RegExp: :[0-9]+$
      3    0.0%    0.0%  LazyCompile: ~to_array /opt/chirkut/shared/node_modules/redis/lib/to_array.js:1
      3    0.0%    0.0%  LazyCompile: ~test native regexp.js:223
      3    0.0%    0.0%  LazyCompile: ~isArray native array.js:1311
      3    0.0%    0.0%  LazyCompile: ~getMonth native date.js:655
      3    0.0%    0.0%  LazyCompile: ~EventPipe._ep_init /opt/chirkut/shared/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:5
      3    0.0%    0.0%  LazyCompile: ~DoRegExpExec native regexp.js:119
      3    0.0%    0.0%  LazyCompile: PropertyDescriptor native v8natives.js:494
      3    0.0%    0.0%  LazyCompile: ConvertDescriptorArrayToDescriptor native v8natives.js:593
      3    0.0%    0.0%  LazyCompile: *to_array /opt/chirkut/shared/node_modules/redis/lib/to_array.js:1
      3    0.0%    0.0%  LazyCompile: *noop dgram.js:33
      3    0.0%    0.0%  LazyCompile: *is_stream_restart_packet /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/helper.js:171
      3    0.0%    0.0%  LazyCompile: *getTime native date.js:631
      3    0.0%    0.0%  LazyCompile: *exports.Parser.parser.emit /opt/chirkut/shared/node_modules/node-expat/lib/node-expat.js:17
      3    0.0%    0.0%  LazyCompile: *equal assert.js:132
      3    0.0%    0.0%  LazyCompile: *dutil.copy._start /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream-parser.js:105
      3    0.0%    0.0%  LazyCompile: *dutil.copy._handle_end_element /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh-request-parser.js:61
      3    0.0%    0.0%  LazyCompile: *_on_terminate /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:257
      3    0.0%    0.0%  LazyCompile: *__defineGetter__ native v8natives.js:296
      3    0.0%    0.0%  LazyCompile: *XMPPLookupService /opt/chirkut/releases/20120406090544/lookup-service.js:24
      3    0.0%    0.0%  LazyCompile: *Socket net.js:97
      3    0.0%    0.0%  LazyCompile: *Session.respond_to_extra_held_response_objects /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:924
      3    0.0%    0.0%  LazyCompile: *Session.handle_broken_connections /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:1040
      3    0.0%    0.0%  LazyCompile: *Session._get_highest_rid_to_ack /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:865
      3    0.0%    0.0%  LazyCompile: *Response.set_timeout /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:44
      3    0.0%    0.0%  LazyCompile: *Response.clear_timeout /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:48
      3    0.0%    0.0%  LazyCompile: *RegExpExecNoTests native regexp.js:156
      3    0.0%    0.0%  LazyCompile: *Agent.createSocket http.js:931
      3    0.0%    0.0%  LazyCompile: *$body /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/helper.js:41
      3    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {17}
      3    0.0%    0.0%  KeyedLoadIC: args_count: 0 {43}
      3    0.0%    0.0%  Function: ~lookup4 dgram.js:58
      3    0.0%    0.0%  Function: ~is_stream_terminate_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/helper.js:188
      3    0.0%    0.0%  Function: ~isEmpty _linklist.js:73
      3    0.0%    0.0%  Function: ~equal assert.js:132
      3    0.0%    0.0%  Function: ~dutil.copy._attach_handlers_to_parser /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:116
      3    0.0%    0.0%  Function: ~allocPool buffer.js:281
      3    0.0%    0.0%  Function: ~_update_stats /opt/chirkut/releases/20120406090544/plugins/stats.js:284
      3    0.0%    0.0%  Function: ~_.once /opt/chirkut/shared/node_modules/underscore/underscore.js:569
      3    0.0%    0.0%  Function: ~_.once /opt/chirkut/shared/node_modules/underscore/underscore.js:567
      3    0.0%    0.0%  Function: ~Stream.terminate /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream.js:53
      3    0.0%    0.0%  Function: ~SlowBuffer.slice buffer.js:185
      3    0.0%    0.0%  Function: ~Session.handle_broken_connections /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:1056
      3    0.0%    0.0%  Function: ~Request.init.self.clientErrorHandler /opt/chirkut/shared/node_modules/request/main.js:194
      3    0.0%    0.0%  Function: ~Request.init /opt/chirkut/shared/node_modules/request/main.js:328
      3    0.0%    0.0%  Function: ~RedisClient.return_reply /opt/chirkut/shared/node_modules/redis/index.js:474
      3    0.0%    0.0%  Function: ~EventEmitter.addListener events.js:99
      3    0.0%    0.0%  Function: ~Agent.addRequest http.js:915
      3    0.0%    0.0%  Function: ~<anonymous> http.js:1418
      3    0.0%    0.0%  Function: bind /opt/chirkut/shared/node_modules/underscore/underscore.js:479
      3    0.0%    0.0%  Function: Request /opt/chirkut/shared/node_modules/request/main.js:81
      2    0.0%    0.0%  Stub: ToBooleanStub_Null
      2    0.0%    0.0%  Stub: CompareICStub {8}
      2    0.0%    0.0%  Stub: BinaryOpStub_SUB_Alloc_Generic
      2    0.0%    0.0%  Stub: BinaryOpStub_SHR_Alloc_SMI
      2    0.0%    0.0%  Stub: BinaryOpStub_SHR_Alloc_HeapNumbers
      2    0.0%    0.0%  Stub: BinaryOpStub_DIV_Alloc_HeapNumbers
      2    0.0%    0.0%  RegExp: ^\\/http-bind\\/$
      2    0.0%    0.0%  RegExp: ^\\/\\/[^@\\/]+@[^@\\/]+
      2    0.0%    0.0%  RegExp: Expect
      2    0.0%    0.0%  LazyCompile: ~sort native array.js:724
      2    0.0%    0.0%  LazyCompile: ~join native array.js:399
      2    0.0%    0.0%  LazyCompile: ~isAlphaNumeric native uri.js:272
      2    0.0%    0.0%  LazyCompile: ~getFullYear native date.js:637
      2    0.0%    0.0%  LazyCompile: ~filter native array.js:990
      2    0.0%    0.0%  LazyCompile: ~errorToStringDetectCycle native messages.js:1151
      2    0.0%    0.0%  LazyCompile: ~SimpleSlice native array.js:327
      2    0.0%    0.0%  LazyCompile: ~Queue.shift /opt/chirkut/shared/node_modules/redis/lib/queue.js:12
      2    0.0%    0.0%  LazyCompile: ~DateFromTime native date.js:325
      2    0.0%    0.0%  LazyCompile: IsInconsistentDescriptor native v8natives.js:379
      2    0.0%    0.0%  LazyCompile: IsDataDescriptor native v8natives.js:367
      2    0.0%    0.0%  LazyCompile: *unparse /opt/chirkut/shared/node_modules/node-uuid/uuid.js:85
      2    0.0%    0.0%  LazyCompile: *toString native array.js:383
      2    0.0%    0.0%  LazyCompile: *list.ontimeout timers.js:68
      2    0.0%    0.0%  LazyCompile: *isTruthy /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/dutil.js:336
      2    0.0%    0.0%  LazyCompile: *dutil.copy._on_connect /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:260
      2    0.0%    0.0%  LazyCompile: *StreamStore.add_stream /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream.js:179
      2    0.0%    0.0%  LazyCompile: *Socket.setTimeout net.js:137
      2    0.0%    0.0%  LazyCompile: *Session.terminate /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:485
      2    0.0%    0.0%  LazyCompile: *Session.get_only_stream /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:232
      2    0.0%    0.0%  LazyCompile: *Session.enqueue_bosh_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:841
      2    0.0%    0.0%  LazyCompile: *Session.emit_nodes_event /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:906
      2    0.0%    0.0%  LazyCompile: *Session.delete_stream /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:208
      2    0.0%    0.0%  LazyCompile: *Request.start /opt/chirkut/shared/node_modules/request/main.js:392
      2    0.0%    0.0%  LazyCompile: *OutgoingMessage._finish http.js:715
      2    0.0%    0.0%  LazyCompile: *MonthFromTime native date.js:313
      2    0.0%    0.0%  LazyCompile: *IncomingMessage http.js:213
      2    0.0%    0.0%  LazyCompile: *Encode native uri.js:167
      2    0.0%    0.0%  LazyCompile: $Array.set_ native v8natives.js:568
      2    0.0%    0.0%  KeyedLoadIC: args_count: 0 {55}
      2    0.0%    0.0%  KeyedLoadIC: args_count: 0 {33}
      2    0.0%    0.0%  KeyedLoadIC: args_count: 0 {13}
      2    0.0%    0.0%  KeyedLoadIC: A keyed load IC from the snapshot {2}
      2    0.0%    0.0%  Function: ~peek _linklist.js:30
      2    0.0%    0.0%  Function: ~list.ontimeout timers.js:68
      2    0.0%    0.0%  Function: ~is_session_creation_packet /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/helper.js:195
      2    0.0%    0.0%  Function: ~init _linklist.js:22
      2    0.0%    0.0%  Function: ~increment_counters /opt/chirkut/releases/20120406090544/plugins/stats.js:203
      2    0.0%    0.0%  Function: ~handle_post_bosh_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/http-server.js:63
      2    0.0%    0.0%  Function: ~handle_on_response_acknowledged /opt/chirkut/releases/20120406090544/plugins/redis.js:86
      2    0.0%    0.0%  Function: ~exports.start_bosh /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/main.js:80
      2    0.0%    0.0%  Function: ~exports.Parser.parser.emit /opt/chirkut/shared/node_modules/node-expat/lib/node-expat.js:17
      2    0.0%    0.0%  Function: ~dutil.copy.terminate /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:219
      2    0.0%    0.0%  Function: ~dutil.copy._close_connection /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:315
      2    0.0%    0.0%  Function: ~debug net.js:54
      2    0.0%    0.0%  Function: ~createTCP net.js:37
      2    0.0%    0.0%  Function: ~afterWrite net.js:461
      2    0.0%    0.0%  Function: ~afterConnect net.js:585
      2    0.0%    0.0%  Function: ~_add_listeners /opt/chirkut/releases/20120406090544/lookup-service.js:40
      2    0.0%    0.0%  Function: ~XMPPProxyConnector.stream_add /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:147
      2    0.0%    0.0%  Function: ~XMPPProxyConnector.stanza.ss /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:110
      2    0.0%    0.0%  Function: ~Temp._update_sent /opt/chirkut/releases/20120406090544/plugins/stats.js:111
      2    0.0%    0.0%  Function: ~Stream /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream.js:34
      2    0.0%    0.0%  Function: ~Socket.setTimeout net.js:137
      2    0.0%    0.0%  Function: ~Socket.destroy.destroyed net.js:312
      2    0.0%    0.0%  Function: ~Socket.connect net.js:520
      2    0.0%    0.0%  Function: ~Socket._healthCheck dgram.js:259
      2    0.0%    0.0%  Function: ~SessionStore.get_session /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:1159
      2    0.0%    0.0%  Function: ~Server._emitCloseIfDrained net.js:856
      2    0.0%    0.0%  Function: ~Response.set_error /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:52
      2    0.0%    0.0%  Function: ~Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
      2    0.0%    0.0%  Function: ~OutgoingMessage._finish http.js:715
      2    0.0%    0.0%  Function: ~OutgoingMessage._buffer http.js:404
      2    0.0%    0.0%  Function: ~LoggingEvent /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:179
      2    0.0%    0.0%  Function: ~ClientRequest.onSocket http.js:1099
      2    0.0%    0.0%  Function: ~<anonymous> /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:81
      2    0.0%    0.0%  Builtin: A builtin from the snapshot {16}
      2    0.0%    0.0%  Builtin: A builtin from the snapshot {15}
      1    0.0%    0.0%  Stub: StringDictionaryNegativeLookupStub
      1    0.0%    0.0%  Stub: StackCheckStub
      1    0.0%    0.0%  Stub: RegExpConstructResultStub
      1    0.0%    0.0%  Stub: FastCloneShallowArrayStub {3}
      1    0.0%    0.0%  Stub: FastCloneShallowArrayStub {2}
      1    0.0%    0.0%  Stub: FastCloneShallowArrayStub
      1    0.0%    0.0%  Stub: CompareICStub {5}
      1    0.0%    0.0%  Stub: CallFunctionStub_Args0_Implicit
      1    0.0%    0.0%  Stub: CEntryStub {1}
      1    0.0%    0.0%  Stub: BinaryOpStub_MUL_OverwriteLeft_SMI
      1    0.0%    0.0%  Stub: BinaryOpStub_ADD_OverwriteLeft_HeapNumbers
      1    0.0%    0.0%  Stub: BinaryOpStub {1}
      1    0.0%    0.0%  Stub: ArgumentsAccessStub {1}
      1    0.0%    0.0%  RegExp: ^(\\S+):(\\S+):([0-9]+)$
      1    0.0%    0.0%  RegExp: ^(\\/?)([\\s\\S]+\\/(?!$)|\\/)?((?:[\\s\\S]+?)?(\\.[^.]*)?)$
      1    0.0%    0.0%  RegExp: ^([^:]+):([\\s\\S]+)$ {6}
      1    0.0%    0.0%  RegExp: ^([^:]+):([\\s\\S]+)$ {5}
      1    0.0%    0.0%  RegExp: ^([^:]+):([\\s\\S]+)$ {4}
      1    0.0%    0.0%  RegExp: ^([^:]+):([\\s\\S]+)$ {3}
      1    0.0%    0.0%  RegExp: ^([^:]+):([\\s\\S]+)$ {2}
      1    0.0%    0.0%  RegExp: ^([^:]+):([\\s\\S]+)$ {1}
      1    0.0%    0.0%  RegExp: ^([^:]+):([\\s\\S]+)$
      1    0.0%    0.0%  RegExp: \\/>$
      1    0.0%    0.0%  LazyCompile: ~toString native v8natives.js:238
      1    0.0%    0.0%  LazyCompile: ~toString native string.js:48
      1    0.0%    0.0%  LazyCompile: ~toString native messages.js:1167
      1    0.0%    0.0%  LazyCompile: ~toLowerCase native string.js:742
      1    0.0%    0.0%  LazyCompile: ~slice native string.js:525
      1    0.0%    0.0%  LazyCompile: ~getTimezoneOffset native date.js:763
      1    0.0%    0.0%  LazyCompile: ~getMilliseconds native date.js:748
      1    0.0%    0.0%  LazyCompile: ~getHours native date.js:702
      1    0.0%    0.0%  LazyCompile: ~floor native math.js:98
      1    0.0%    0.0%  LazyCompile: ~exports.FreeList.free freelist.js:38
      1    0.0%    0.0%  LazyCompile: ~bind native v8natives.js:1456
      1    0.0%    0.0%  LazyCompile: ~abs native math.js:45
      1    0.0%    0.0%  LazyCompile: ~__defineGetter__ native v8natives.js:296
      1    0.0%    0.0%  LazyCompile: ~WeekDay native date.js:231
      1    0.0%    0.0%  LazyCompile: ~StringReplaceGlobalRegExpWithFunction native string.js:396
      1    0.0%    0.0%  LazyCompile: ~ScriptLineFromPosition native messages.js:327
      1    0.0%    0.0%  LazyCompile: ~Queue.push /opt/chirkut/shared/node_modules/redis/lib/queue.js:26
      1    0.0%    0.0%  LazyCompile: ~NonStringToString native runtime.js:568
      1    0.0%    0.0%  LazyCompile: ~Modulo native date.js:49
      1    0.0%    0.0%  LazyCompile: ~LocalTimezone native date.js:219
      1    0.0%    0.0%  LazyCompile: ~IsPrimitive native runtime.js:628
      1    0.0%    0.0%  LazyCompile: ~Encode native uri.js:167
      1    0.0%    0.0%  LazyCompile: ~DateString native date.js:471
      1    0.0%    0.0%  LazyCompile: ~CallSiteGetFileName native messages.js:847
      1    0.0%    0.0%  LazyCompile: ~<anonymous> native string.js:934
      1    0.0%    0.0%  LazyCompile: captureStackTrace native messages.js:1054
      1    0.0%    0.0%  LazyCompile: TO_NUMBER native runtime.js:498
      1    0.0%    0.0%  LazyCompile: IsGenericDescriptor native v8natives.js:374
      1    0.0%    0.0%  LazyCompile: IsAccessorDescriptor native v8natives.js:360
      1    0.0%    0.0%  LazyCompile: CallSiteGetMethodName native messages.js:817
      1    0.0%    0.0%  LazyCompile: <anonymous> native messages.js:1104
      1    0.0%    0.0%  LazyCompile: *parser.onHeadersComplete http.js:60
      1    0.0%    0.0%  LazyCompile: *httpSocketSetup http.js:1305
      1    0.0%    0.0%  LazyCompile: *exports.request http.js:1286
      1    0.0%    0.0%  LazyCompile: *exports.debug util.js:71
      1    0.0%    0.0%  LazyCompile: *dutil.copy.connect /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:205
      1    0.0%    0.0%  LazyCompile: *dutil.copy._close_connection /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:315
      1    0.0%    0.0%  LazyCompile: *debug timers.js:30
      1    0.0%    0.0%  LazyCompile: *debug http.js:35
      1    0.0%    0.0%  LazyCompile: *XMPPProxyConnector.stream_terminate /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:187
      1    0.0%    0.0%  LazyCompile: *XMPPProxyConnector.stanza.ss /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:108
      1    0.0%    0.0%  LazyCompile: *XMPPProxy /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:45
      1    0.0%    0.0%  LazyCompile: *ToInt32 native runtime.js:603
      1    0.0%    0.0%  LazyCompile: *Temp.stream_added /opt/chirkut/releases/20120406090544/plugins/stats.js:197
      1    0.0%    0.0%  LazyCompile: *Stream.terminate /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream.js:53
      1    0.0%    0.0%  LazyCompile: *SessionStore.add_session /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:1169
      1    0.0%    0.0%  LazyCompile: *Session.send_terminate_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:583
      1    0.0%    0.0%  LazyCompile: *Queue.push /opt/chirkut/shared/node_modules/redis/lib/queue.js:26
      1    0.0%    0.0%  LazyCompile: *NativeModule.require node.js:490
      1    0.0%    0.0%  LazyCompile: *NativeModule.compile node.js:535
      1    0.0%    0.0%  LazyCompile: *LocalTimezoneString native date.js:498
      1    0.0%    0.0%  LazyCompile: *Element.getName /opt/chirkut/shared/node_modules/ltx/lib/element.js:25
      1    0.0%    0.0%  LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:61
      1    0.0%    0.0%  LazyCompile: $Array.get_ native v8natives.js:558
      1    0.0%    0.0%  LazyCompile: $Array.enumerable_ native v8natives.js:535
      1    0.0%    0.0%  KeyedStoreIC: host {3}
      1    0.0%    0.0%  KeyedStoreIC: host {2}
      1    0.0%    0.0%  KeyedStoreIC: args_count: 0 {8}
      1    0.0%    0.0%  KeyedStoreIC: args_count: 0 {47}
      1    0.0%    0.0%  KeyedStoreIC: args_count: 0 {40}
      1    0.0%    0.0%  KeyedStoreIC: args_count: 0 {20}
      1    0.0%    0.0%  KeyedStoreIC: args_count: 0
      1    0.0%    0.0%  KeyedStoreIC: A keyed store IC from the snapshot {1}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {59}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {57}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {53}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {52}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {51}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {48}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {46}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {45}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {3}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {39}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {38}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {36}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {35}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {30}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {2}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {25}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {23}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {19}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {18}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {14}
      1    0.0%    0.0%  KeyedLoadMegamorphicIC: args_count: 0 {11}
      1    0.0%    0.0%  KeyedLoadIC: unknown {4}
      1    0.0%    0.0%  KeyedLoadIC: unknown {3}
      1    0.0%    0.0%  KeyedLoadIC: unknown {2}
      1    0.0%    0.0%  KeyedLoadIC: unknown {1}
      1    0.0%    0.0%  KeyedLoadIC: unknown
      1    0.0%    0.0%  KeyedLoadIC: error
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {9}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {7}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {6}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {60}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {58}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {56}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {54}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {50}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {4}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {49}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {44}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {42}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {41}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {37}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {34}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {31}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {29}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {28}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {27}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {26}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {24}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {22}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {21}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {15}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {12}
      1    0.0%    0.0%  KeyedLoadIC: args_count: 0 {10}
      1    0.0%    0.0%  Function: ~urlFormat url.js:308
      1    0.0%    0.0%  Function: ~startup.globalTimeouts.global.setTimeout node.js:134
      1    0.0%    0.0%  Function: ~splitPath path.js:260
      1    0.0%    0.0%  Function: ~self.createConnection http.js:895
      1    0.0%    0.0%  Function: ~ok assert.js:123
      1    0.0%    0.0%  Function: ~obj.(anonymous function).timer /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/helper.js:142
      1    0.0%    0.0%  Function: ~num_cmp /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/dutil.js:371
      1    0.0%    0.0%  Function: ~normalizeArray path.js:30
      1    0.0%    0.0%  Function: ~is_stream_restart_packet /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/helper.js:171
      1    0.0%    0.0%  Function: ~isIP dgram.js:37
      1    0.0%    0.0%  Function: ~isBuffer buffer.js:288
      1    0.0%    0.0%  Function: ~http_request_handler /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/http-server.js:188
      1    0.0%    0.0%  Function: ~get_device_type /opt/chirkut/releases/20120406090544/plugins/stats.js:60
      1    0.0%    0.0%  Function: ~getAllEvents /opt/chirkut/releases/20120406090544/lookup-service.js:159
      1    0.0%    0.0%  Function: ~fs.readSync fs.js:260
      1    0.0%    0.0%  Function: ~formatLogData /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:26
      1    0.0%    0.0%  Function: ~forEach.Logger.(anonymous function) /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:229
      1    0.0%    0.0%  Function: ~exports.unenroll timers.js:100
      1    0.0%    0.0%  Function: ~exports.lookup dns.js:97
      1    0.0%    0.0%  Function: ~exports.LookupService /opt/chirkut/releases/20120406090544/lookup-service.js:180
      1    0.0%    0.0%  Function: ~escapeXmlText /opt/chirkut/shared/node_modules/ltx/lib/element.js:285
      1    0.0%    0.0%  Function: ~escapeXml /opt/chirkut/shared/node_modules/ltx/lib/element.js:276
      1    0.0%    0.0%  Function: ~dutil.copy.restart /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:213
      1    0.0%    0.0%  Function: ~dutil.copy.end /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh-request-parser.js:95
      1    0.0%    0.0%  Function: ~dutil.copy.connect /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:205
      1    0.0%    0.0%  Function: ~dutil.copy.connect /opt/chirkut/releases/20120406090544/lookup-service.js:34
      1    0.0%    0.0%  Function: ~dutil.copy._on_stanza /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:158
      1    0.0%    0.0%  Function: ~dutil.copy._handle_text /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh-request-parser.js:73
      1    0.0%    0.0%  Function: ~dutil.copy._handle_start_element /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream-parser.js:40
      1    0.0%    0.0%  Function: ~dutil.copy._handle_end_element /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream-parser.js:63
      1    0.0%    0.0%  Function: ~dutil.copy._attach_handlers /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:103
      1    0.0%    0.0%  Function: ~copy /opt/chirkut/shared/node_modules/request/main.js:69
      1    0.0%    0.0%  Function: ~copy /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/dutil.js:126
      1    0.0%    0.0%  Function: ~connectionListener http.js:1341
      1    0.0%    0.0%  Function: ~append _linklist.js:63
      1    0.0%    0.0%  Function: ~add_timestamp /opt/chirkut/releases/20120406090544/plugins/timestamp.js:11
      1    0.0%    0.0%  Function: ~abortIncoming http.js:1346
      1    0.0%    0.0%  Function: ~_try_fetch_server_details /opt/chirkut/releases/20120406090544/lookup-service.js:52
      1    0.0%    0.0%  Function: ~_try_connect /opt/chirkut/releases/20120406090544/lookup-service.js:124
      1    0.0%    0.0%  Function: ~_on_socket_connect /opt/chirkut/releases/20120406090544/lookup-service.js:46
      1    0.0%    0.0%  Function: ~_make_object /opt/chirkut/releases/20120406090544/plugins/stats.js:227
      1    0.0%    0.0%  Function: ~Temp.packets_sent /opt/chirkut/releases/20120406090544/plugins/stats.js:191
      1    0.0%    0.0%  Function: ~Socket.end net.js:220
      1    0.0%    0.0%  Function: ~Socket.destroy net.js:287
      1    0.0%    0.0%  Function: ~Socket.connect net.js:550
      1    0.0%    0.0%  Function: ~Socket._write net.js:442
      1    0.0%    0.0%  Function: ~Session.is_valid_packet /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:247
      1    0.0%    0.0%  Function: ~Session.add_stream /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:202
      1    0.0%    0.0%  Function: ~Session.add_held_http_connection.pos /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:460
      1    0.0%    0.0%  Function: ~Session._stitch_response_for_stream.pending_stanzas.(anonymous function) /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:722
      1    0.0%    0.0%  Function: ~Session._process_one_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:263
      1    0.0%    0.0%  Function: ~Response.set_timeout /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:44
      1    0.0%    0.0%  Function: ~Request.jar /opt/chirkut/shared/node_modules/request/main.js:700
      1    0.0%    0.0%  Function: ~Request.init.self.headers.authorization /opt/chirkut/shared/node_modules/request/main.js:212
      1    0.0%    0.0%  Function: ~Request.init.self.callback /opt/chirkut/shared/node_modules/request/main.js:117
      1    0.0%    0.0%  Function: ~Request /opt/chirkut/shared/node_modules/request/main.js:81
      1    0.0%    0.0%  Function: ~RedisClient.send_command /opt/chirkut/shared/node_modules/redis/index.js:556
      1    0.0%    0.0%  Function: ~OutgoingMessage.assignSocket http.js:341
      1    0.0%    0.0%  Function: ~OutgoingMessage._flush http.js:727
      1    0.0%    0.0%  Function: ~IncomingMessage._addHeaderLine http.js:270
      1    0.0%    0.0%  Function: ~EventEmitter.removeListener events.js:163
      1    0.0%    0.0%  Function: ~EventEmitter.once events.js:146
      1    0.0%    0.0%  Function: ~EventEmitter.listeners events.js:208
      1    0.0%    0.0%  Function: ~Element.toString /opt/chirkut/shared/node_modules/ltx/lib/element.js:231
      1    0.0%    0.0%  Function: ~Element.root /opt/chirkut/shared/node_modules/ltx/lib/element.js:132
      1    0.0%    0.0%  Function: ~Element.is /opt/chirkut/shared/node_modules/ltx/lib/element.js:19
      1    0.0%    0.0%  Function: ~Element.getNS /opt/chirkut/shared/node_modules/ltx/lib/element.js:35
      1    0.0%    0.0%  Function: ~Element.getChild /opt/chirkut/shared/node_modules/ltx/lib/element.js:67
      1    0.0%    0.0%  Function: ~Element.findNS /opt/chirkut/shared/node_modules/ltx/lib/element.js:47
      1    0.0%    0.0%  Function: ~Element.cnode /opt/chirkut/shared/node_modules/ltx/lib/element.js:153
      1    0.0%    0.0%  Function: ~CookieJar.get /opt/chirkut/shared/node_modules/request/vendor/cookie/jar.js:46
      1    0.0%    0.0%  Function: ~ClientRequest.onSocket http.js:1097
      1    0.0%    0.0%  Function: ~ClientRequest.abort http.js:1077
      1    0.0%    0.0%  Function: ~ClientRequest._deferToConnect.onSocket http.js:1248
      1    0.0%    0.0%  Function: ~ClientRequest._deferToConnect http.js:1241
      1    0.0%    0.0%  Function: ~<anonymous> path.js:287
      1    0.0%    0.0%  Function: ~<anonymous> /opt/chirkut/shared/node_modules/request/main.js:496
      1    0.0%    0.0%  Function: ~<anonymous> /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream.js:180
      1    0.0%    0.0%  Function: ~<anonymous> /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:538
      1    0.0%    0.0%  Function: ~<anonymous> /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/dutil.js:402
      1    0.0%    0.0%  CallMiss: args_count: 3 {3}
      1    0.0%    0.0%  Builtin: A builtin from the snapshot {11}

 [C++]:
   ticks  total  nonlib   name

 [GC]:
   ticks  total  nonlib   name
  36598   14.1%

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 2.0% are not shown.

   ticks parent  name
  89667   34.6%  /opt/nodejs/bin/node
   6314    7.0%    Function: Buffer.write buffer.js:323
   6313  100.0%      Function: Buffer buffer.js:210
   3282   52.0%        LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:68
   3282  100.0%          LazyCompile: *EventEmitter.emit events.js:40
   3282  100.0%            Function: Logger.log /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:211
   2508   39.7%        LazyCompile: *SyncWriteStream.write fs.js:1392
   2504   99.8%          LazyCompile: *exports.log console.js:24
   2504  100.0%            LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
    522    8.3%        LazyCompile: *Socket.write net.js:405
    304   58.2%          Function: OutgoingMessage.end http.js:648
    304  100.0%            LazyCompile: *Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
     99   19.0%          LazyCompile: *OutgoingMessage.end http.js:648
     63   63.6%            LazyCompile: *Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
     36   36.4%            Function: ~Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
     49    9.4%          Function: ~OutgoingMessage.end http.js:648
     45   91.8%            LazyCompile: *Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
      4    8.2%            Function: ~Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
     31    5.9%          Function: dutil.copy.send /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:245
     28   90.3%            LazyCompile: *XMPPProxyConnector.stanza /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:123
      3    9.7%            Function: ~XMPPProxyConnector.stanza /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:123
     30    5.7%          LazyCompile: *RedisClient.send_command /opt/chirkut/shared/node_modules/redis/index.js:556
     30  100.0%            Function: commands.forEach.RedisClient.(anonymous function) /opt/chirkut/shared/node_modules/redis/index.js:742
   5585    6.2%    LazyCompile: *replace native string.js:216
   2889   51.7%      Function: exports.asString /opt/chirkut/shared/node_modules/log4js/lib/date_format.js:6
   2880   99.7%        LazyCompile: *timestampLevelAndCategory /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:86
   2880  100.0%          LazyCompile: *basicLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:108
   2877   99.9%            LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
   2394   42.9%      LazyCompile: *escapeXml /opt/chirkut/shared/node_modules/ltx/lib/element.js:276
   2393  100.0%        Function: Element.write /opt/chirkut/shared/node_modules/ltx/lib/element.js:239
   1579   66.0%          Function: Element.write /opt/chirkut/shared/node_modules/ltx/lib/element.js:239
   1249   79.1%            Function: Element.write /opt/chirkut/shared/node_modules/ltx/lib/element.js:239
    321   20.3%            LazyCompile: *Element.toString /opt/chirkut/shared/node_modules/ltx/lib/element.js:231
    798   33.3%          LazyCompile: *Element.toString /opt/chirkut/shared/node_modules/ltx/lib/element.js:231
    599   75.1%            LazyCompile: DefaultString native runtime.js:655
    133   16.7%            Function: Temp.packet_received /opt/chirkut/releases/20120406090544/plugins/stats.js:126
     29    3.6%            LazyCompile: *Session._send_no_requeue /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:873
    249    4.5%      LazyCompile: *escapeXmlText /opt/chirkut/shared/node_modules/ltx/lib/element.js:285
    249  100.0%        Function: Element.write /opt/chirkut/shared/node_modules/ltx/lib/element.js:239
    247   99.2%          Function: Element.write /opt/chirkut/shared/node_modules/ltx/lib/element.js:239
    154   62.3%            LazyCompile: *Element.toString /opt/chirkut/shared/node_modules/ltx/lib/element.js:231
     92   37.2%            Function: Element.write /opt/chirkut/shared/node_modules/ltx/lib/element.js:239
   4980    5.6%    Function: exports.lookup dns.js:97
   4923   98.9%      LazyCompile: *lookup dgram.js:45
   4696   95.4%        LazyCompile: *lookup4 dgram.js:58
   4696  100.0%          LazyCompile: *Socket.send dgram.js:160
   4696  100.0%            Function: sendPacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:62
    227    4.6%        Function: ~lookup4 dgram.js:58
    205   90.3%          Function: ~Socket.send dgram.js:160
    205  100.0%            Function: sendPacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:62
     22    9.7%          LazyCompile: *Socket.send dgram.js:160
     22  100.0%            Function: sendPacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:62
   4083    4.6%    Function: formatLogData /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:26
   2056   50.4%      LazyCompile: *timestampLevelAndCategory /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:86
   2056  100.0%        LazyCompile: *basicLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:108
   2054   99.9%          LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
   2054  100.0%            LazyCompile: *EventEmitter.emit events.js:40
   1040   25.5%      LazyCompile: *messagePassThroughLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:120
   1040  100.0%        LazyCompile: *preparePacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:49
   1040  100.0%          LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:68
   1040  100.0%            LazyCompile: *EventEmitter.emit events.js:40
    966   23.7%      LazyCompile: *basicLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:108
    965   99.9%        LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
    965  100.0%          LazyCompile: *EventEmitter.emit events.js:40
    965  100.0%            Function: Logger.log /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:211
   3115    3.5%    LazyCompile: *StringReplaceGlobalRegExpWithFunction native string.js:396
   2899   93.1%      LazyCompile: *replace native string.js:216
   2373   81.9%        Function: formatLogData /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:26
    998   42.1%          LazyCompile: *timestampLevelAndCategory /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:86
    998  100.0%            LazyCompile: *basicLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:108
    947   39.9%          LazyCompile: *messagePassThroughLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:120
    947  100.0%            LazyCompile: *preparePacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:49
    423   17.8%          LazyCompile: *basicLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:108
    422   99.8%            LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
    526   18.1%        Function: exports.format util.js:23
    518   98.5%          LazyCompile: *exports.log console.js:24
    518  100.0%            LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
    128    4.1%      LazyCompile: *colorize /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:63
    128  100.0%        LazyCompile: *timestampLevelAndCategory /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:86
    128  100.0%          LazyCompile: *basicLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:108
    128  100.0%            LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
     83    2.7%      Function: exports.format util.js:23
     83  100.0%        LazyCompile: *exports.log console.js:24
     83  100.0%          LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
     83  100.0%            LazyCompile: *EventEmitter.emit events.js:40
   2759    3.1%    Function: exports.format util.js:23
   2702   97.9%      LazyCompile: *exports.log console.js:24
   2688   99.5%        LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
   2688  100.0%          LazyCompile: *EventEmitter.emit events.js:40
   2688  100.0%            Function: Logger.log /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:211
   2445    2.7%    LazyCompile: *ArraySlice native array.js:604
   2149   87.9%      Function: formatLogData /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:26
   2140   99.6%        LazyCompile: *timestampLevelAndCategory /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:86
   2140  100.0%          LazyCompile: *basicLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:108
   2137   99.9%            LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
    222    9.1%      LazyCompile: EventPipe.emit /opt/chirkut/shared/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:58
    132   59.5%        LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:75
    132  100.0%          Function: d native v8natives.js:1465
    132  100.0%            LazyCompile: *EventEmitter.emit events.js:40
     35   15.8%        Function: ~Session.handle_acks /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:989
     34   97.1%          Function: d native v8natives.js:1465
     34  100.0%            LazyCompile: *forEach native array.js:1019
      1    2.9%          Function: ~d native v8natives.js:1465
      1  100.0%            LazyCompile: *forEach native array.js:1019
     29   13.1%        LazyCompile: *http_request_handler /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/http-server.js:188
     29  100.0%          LazyCompile: *EventEmitter.emit events.js:40
     29  100.0%            Function: ~parser.onIncoming http.js:1429
     10    4.5%        LazyCompile: *Session.emit_nodes_event /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:906
     10  100.0%          LazyCompile: *Session._process_one_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:263
     10  100.0%            LazyCompile: *Session.process_requests /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:328
      6    2.7%        LazyCompile: *StreamStore.add_stream /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream.js:179
      4   66.7%          Function: process_bosh_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:124
      4  100.0%            LazyCompile: *bosh_request_handler /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:214
      2   33.3%          LazyCompile: *Session._process_one_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:263
      2  100.0%            LazyCompile: *Session.process_requests /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:328
   2231    2.5%    Function: Buffer buffer.js:210
   1263   56.6%      LazyCompile: *SyncWriteStream.write fs.js:1392
   1262   99.9%        LazyCompile: *exports.log console.js:24
   1262  100.0%          LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
   1262  100.0%            LazyCompile: *EventEmitter.emit events.js:40
    845   37.9%      LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:68
    845  100.0%        LazyCompile: *EventEmitter.emit events.js:40
    845  100.0%          Function: Logger.log /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:211
    845  100.0%            Function: forEach.Logger.(anonymous function) /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:229
     85    3.8%      LazyCompile: *Socket.write net.js:405
     49   57.6%        Function: OutgoingMessage.end http.js:648
     49  100.0%          LazyCompile: *Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
     48   98.0%            LazyCompile: *Session._send_no_requeue /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:873
      1    2.0%            Function: ~Session._send_immediate /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:950
     14   16.5%        Function: dutil.copy.send /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:245
     11   78.6%          LazyCompile: *XMPPProxyConnector.stanza /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:123
     11  100.0%            Function: ~XMPPProxyConnector.stanza.ss /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:110
      1    7.1%          LazyCompile: *dutil.copy._on_connect /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:260
      1  100.0%            Function: d native v8natives.js:1465
      1    7.1%          Function: ~dutil.copy.restart /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:213
      1  100.0%            Function: ~XMPPProxyConnector.stream_restart /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:176
      1    7.1%          Function: ~XMPPProxyConnector.stanza /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:123
      1  100.0%            Function: ~XMPPProxyConnector.stanza.ss /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:110
      9   10.6%        LazyCompile: *OutgoingMessage.end http.js:648
      8   88.9%          LazyCompile: *Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
      8  100.0%            LazyCompile: *Session._send_no_requeue /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:873
      1   11.1%          Function: ~Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
      1  100.0%            LazyCompile: *Session._send_no_requeue /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:873
      5    5.9%        LazyCompile: *RedisClient.send_command /opt/chirkut/shared/node_modules/redis/index.js:556
      5  100.0%          Function: commands.forEach.RedisClient.(anonymous function) /opt/chirkut/shared/node_modules/redis/index.js:742
      3   60.0%            Function: ~<anonymous> /opt/chirkut/releases/20120406090544/plugins/redis.js:94
      2   40.0%            LazyCompile: *handle_on_response /opt/chirkut/releases/20120406090544/plugins/redis.js:43
      5    5.9%        Function: ~OutgoingMessage.end http.js:648
      5  100.0%          LazyCompile: *Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
      5  100.0%            LazyCompile: *Session._send_no_requeue /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:873
   1965    2.2%    LazyCompile: *exports.Parser.parse /opt/chirkut/shared/node_modules/node-expat/lib/node-expat.js:23
   1449   73.7%      LazyCompile: *dutil.copy.parse /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream-parser.js:95
   1449  100.0%        LazyCompile: *dutil.copy._on_data /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:279
   1449  100.0%          Function: d native v8natives.js:1465
   1449  100.0%            LazyCompile: *EventEmitter.emit events.js:40
    279   14.2%      Function: ~dutil.copy.parse /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream-parser.js:95
    189   67.7%        Function: ~dutil.copy._on_data /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:279
    179   94.7%          Function: d native v8natives.js:1465
    179  100.0%            LazyCompile: *EventEmitter.emit events.js:40
     10    5.3%          Function: ~d native v8natives.js:1465
     10  100.0%            LazyCompile: *EventEmitter.emit events.js:40
     90   32.3%        LazyCompile: *dutil.copy._on_data /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:279
     90  100.0%          Function: d native v8natives.js:1465
     90  100.0%            LazyCompile: *EventEmitter.emit events.js:40
    235   12.0%      Function: ~dutil.copy.parse /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh-request-parser.js:84
    235  100.0%        Function: ~res.writeHead.Location /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/http-server.js:99
    235  100.0%          LazyCompile: *EventEmitter.emit events.js:40
    235  100.0%            Function: ~parser.onBody http.js:108
   1839    2.1%    LazyCompile: *BasicJSONSerialize native json.js:273
   1827   99.3%      LazyCompile: BasicSerializeObject native json.js:244
   1827  100.0%        LazyCompile: *BasicJSONSerialize native json.js:273
   1827  100.0%          LazyCompile: stringify native json.js:307
   1827  100.0%            LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:68

  82968   32.0%  /lib64/libc-2.12.so
  13739   16.6%    Function: exports.lookup dns.js:97
  13695   99.7%      LazyCompile: *lookup dgram.js:45
  13081   95.5%        LazyCompile: *lookup4 dgram.js:58
  13081  100.0%          LazyCompile: *Socket.send dgram.js:160
  13081  100.0%            Function: sendPacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:62
    614    4.5%        Function: ~lookup4 dgram.js:58
    535   87.1%          Function: ~Socket.send dgram.js:160
    535  100.0%            Function: sendPacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:62
     79   12.9%          LazyCompile: *Socket.send dgram.js:160
     79  100.0%            Function: sendPacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:62
  13140   15.8%    LazyCompile: *ArraySlice native array.js:604
  11540   87.8%      Function: formatLogData /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:26
  11507   99.7%        LazyCompile: *timestampLevelAndCategory /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:86
  11507  100.0%          LazyCompile: *basicLayout /opt/chirkut/shared/node_modules/log4js/lib/layouts.js:108
  11499   99.9%            LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
   1378   10.5%      LazyCompile: EventPipe.emit /opt/chirkut/shared/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:58
    851   61.8%        LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:75
    851  100.0%          Function: d native v8natives.js:1465
    851  100.0%            LazyCompile: *EventEmitter.emit events.js:40
    194   14.1%        LazyCompile: *http_request_handler /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/http-server.js:188
    194  100.0%          LazyCompile: *EventEmitter.emit events.js:40
    194  100.0%            Function: ~parser.onIncoming http.js:1429
    178   12.9%        Function: ~Session.handle_acks /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:989
    175   98.3%          Function: d native v8natives.js:1465
    175  100.0%            LazyCompile: *forEach native array.js:1019
     43    3.1%        LazyCompile: *Session.emit_nodes_event /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:906
     43  100.0%          LazyCompile: *Session._process_one_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:263
     43  100.0%            LazyCompile: *Session.process_requests /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:328
     38    2.8%        LazyCompile: *StreamStore.add_stream /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/stream.js:179
     25   65.8%          Function: process_bosh_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:124
     25  100.0%            LazyCompile: *bosh_request_handler /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:214
     11   28.9%          LazyCompile: *Session._process_one_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:263
     11  100.0%            LazyCompile: *Session.process_requests /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:328
      1    2.6%          Function: ~process_bosh_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:124
      1  100.0%            LazyCompile: *bosh_request_handler /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:214
      1    2.6%          Function: ~Session._process_one_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:263
      1  100.0%            LazyCompile: *Session.process_requests /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:328
  11281   13.6%    Function: exports.format util.js:23
  11181   99.1%      LazyCompile: *exports.log console.js:24
  11146   99.7%        LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
  11146  100.0%          LazyCompile: *EventEmitter.emit events.js:40
  11146  100.0%            Function: Logger.log /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:211

  26326   10.2%  LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:68
  26326  100.0%    LazyCompile: *EventEmitter.emit events.js:40
  26326  100.0%      Function: Logger.log /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:211
  26294   99.9%        Function: forEach.Logger.(anonymous function) /opt/chirkut/shared/node_modules/log4js/lib/log4js.js:229
   3765   14.3%          LazyCompile: *_on_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:239
   3765  100.0%            LazyCompile: EventPipe.emit /opt/chirkut/shared/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:58
   3252   12.4%          LazyCompile: *dutil.copy._on_stanza /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:158
   3252  100.0%            Function: d native v8natives.js:1465
   1904    7.2%          LazyCompile: *Session.send_pending_responses /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:772
    810   42.5%            LazyCompile: *Session._process_one_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:263
    666   35.0%            Function: ~Session.try_sending.has_next_tick /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:821
    406   21.3%            LazyCompile: *Session.send_pending_responses /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:772
   1882    7.2%          LazyCompile: *Response.send_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/response.js:66
   1870   99.4%            LazyCompile: *Session._send_no_requeue /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:873
   1778    6.8%          LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy-connector.js:75
   1772   99.7%            Function: d native v8natives.js:1465
   1706    6.5%          LazyCompile: *Session.enqueue_stanza /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:852
   1704   99.9%            LazyCompile: *_on_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:239
   1688    6.4%          LazyCompile: *dutil.copy._on_data /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/xmpp-proxy.js:279
   1688  100.0%            Function: d native v8natives.js:1465
    999    3.8%          LazyCompile: *Session._stitch_new_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:729
    999  100.0%            LazyCompile: *Session.send_pending_responses /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:772
    808    3.1%          LazyCompile: *Session.get_response_object /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:694
    676   83.7%            LazyCompile: *Session.send_pending_responses /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:772
     48    5.9%            LazyCompile: *Session.respond_to_extra_held_response_objects /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:924
     42    5.2%            LazyCompile: *_on_terminate /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:257
     27    3.3%            LazyCompile: *Session.terminate /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:485
    758    2.9%          LazyCompile: *Session._send_no_requeue /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:873
    628   82.8%            LazyCompile: *Session.send_pending_responses /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:772
     56    7.4%            LazyCompile: *Session.respond_to_extra_held_response_objects /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:924
     50    6.6%            LazyCompile: *Session.send_terminate_response /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:583
     21    2.8%            Function: ~Session.add_held_http_connection.pos /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:460
    720    2.7%          LazyCompile: *Session.process_requests /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/session.js:328
    720  100.0%            Function: process_bosh_request /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/bosh.js:124
    532    2.0%          Function: ~<anonymous> /opt/chirkut/shared/node_modules/node-xmpp-bosh/src/http-server.js:73
    532  100.0%            Function: ~_.once /opt/chirkut/shared/node_modules/underscore/underscore.js:569

  18306    7.1%  /lib64/libpthread-2.12.so
   6398   35.0%    Function: fs.writeSync fs.js:310
   6394   99.9%      LazyCompile: *SyncWriteStream.write fs.js:1392
   6354   99.4%        LazyCompile: *exports.log console.js:24
   6339   99.8%          LazyCompile: *<anonymous> /opt/chirkut/shared/node_modules/log4js/lib/appenders/console.js:6
   6339  100.0%            LazyCompile: *EventEmitter.emit events.js:40
   6199   33.9%    Function: exports.lookup dns.js:97
   6119   98.7%      LazyCompile: *lookup dgram.js:45
   5577   91.1%        LazyCompile: *lookup4 dgram.js:58
   5577  100.0%          LazyCompile: *Socket.send dgram.js:160
   5577  100.0%            Function: sendPacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:62
    542    8.9%        Function: ~lookup4 dgram.js:58
    508   93.7%          Function: ~Socket.send dgram.js:160
    508  100.0%            Function: sendPacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:62
     34    6.3%          LazyCompile: *Socket.send dgram.js:160
     34  100.0%            Function: sendPacket /opt/chirkut/shared/node_modules/log4js/lib/appenders/gelf.js:62

Ben Noordhuis

unread,
Apr 11, 2012, 8:25:12 AM4/11/12
to nod...@googlegroups.com
On Wed, Apr 11, 2012 at 13:41, Satyam Shekhar <satyam...@gmail.com> wrote:
> Hi,
>
> I am trying to understand the output of the v8 profiler. Below is the
> profiler output for my app.
>
> I have the following doubts.
>
> 1. What are unaccounted ticks?

The profiler is sampling based. That is, it wakes up at regular
intervals (ticks) and records where the instruction pointer is. If the
IP points to an address that cannot be resolved to a function, the
tick is reported as unaccounted.

> 2. What does nonlib col mean?
>     I think it means, that x% of the non-lib time was spent here. -- pls
> correct me if I m wrong.

That is correct, to the best of my understanding.

> 3. When I tried adding the ticks from shared libraries + javascript it was
> <(slightly) total ticks. Why is that?

There is a cut-off point. Functions that barely register aren't printed.

> 4. Which line in shared libraries(I am assuming it is counted there) account
> for GC ticks?

None. GC is accounted for separately under the (aptly named I daresay)
section "GC": 36,598 ticks or 14.1% of total run time in your case.

> 5. What does the output in JS section mean?
>     to be specific -
>        -- meaning where in the call stack is the function corresponding to
> the line.
>        -- can the number of ticks in line be included in another.

I don't understand what you mean by that.

Satyam Shekhar

unread,
Apr 11, 2012, 9:02:14 AM4/11/12
to nod...@googlegroups.com

> I am trying to understand the output of the v8 profiler. Below is the
> profiler output for my app.
>
> I have the following doubts.
>
> 1. What are unaccounted ticks?

The profiler is sampling based. That is, it wakes up at regular
intervals (ticks) and records where the instruction pointer is. If the
IP points to an address that cannot be resolved to a function, the
tick is reported as unaccounted.

Why does the IP need to point to a function? Can't it just point to any instruction(line) in the function?
I think m missing something very basic here.. It d help if you could tell me when would this happen?
 

> 2. What does nonlib col mean?
>     I think it means, that x% of the non-lib time was spent here. -- pls
> correct me if I m wrong.

That is correct, to the best of my understanding.

> 3. When I tried adding the ticks from shared libraries + javascript it was
> <(slightly) total ticks. Why is that?

There is a cut-off point. Functions that barely register aren't printed.

> 4. Which line in shared libraries(I am assuming it is counted there) account
> for GC ticks?

None. GC is accounted for separately under the (aptly named I daresay)
section "GC": 36,598 ticks or 14.1% of total run time in your case.

I doesn't look like it from the output. 

total ticks             :   290423
unaccounted ticks :     31441
accounted ticks    :    258982 
shared lib ticks     :    194435
javascript ticks     :      64325
GC ticks              :      36598
       
shared lib + js ticks (258760 ) ~= accounted ticks(258982) (diff of 222 ticks)

 

> 5. What does the output in JS section mean?
>     to be specific -
>        -- meaning where in the call stack is the function corresponding to
> the line.
>        -- can the number of ticks in line be included in another.

I don't understand what you mean by that.


I mean when the profiler wakes up, it would look at a call trace right? Are the lines logged in the JS section at the top of the stack? 
This can be misleading since the call stack might have changed due to setTimeouts. I want to understand how can I interpret these lines and what are its caveats.
 

--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Ben Noordhuis

unread,
Apr 11, 2012, 9:55:37 AM4/11/12
to nod...@googlegroups.com
On Wed, Apr 11, 2012 at 15:02, Satyam Shekhar <satyam...@gmail.com> wrote:
>> The profiler is sampling based. That is, it wakes up at regular
>> intervals (ticks) and records where the instruction pointer is. If the
>> IP points to an address that cannot be resolved to a function, the
>> tick is reported as unaccounted.
>
> Why does the IP need to point to a function? Can't it just point to any
> instruction(line) in the function?

Yes, that's implied. :-)

Say the profiler wakes up and finds that IP == 0x1234. It looks up
that address in the program's symbol table and finds that the nearest
function is foo@0x1230. The next nearest function is bar@0x1240,
therefore the profiler knows we're in foo().

It's more involved than that but that's the essence of it.

> I think m missing something very basic here.. It d help if you could tell me
> when would this happen?

Unaccounted ticks? For a variety of reasons. For example, glibc
generates trampolines (executable on-stack code) that confuse the
profiler no end.

>> None. GC is accounted for separately under the (aptly named I daresay)
>> section "GC": 36,598 ticks or 14.1% of total run time in your case.
>
> I doesn't look like it from the output.
>
> total ticks             :   290423
> unaccounted ticks :     31441
> accounted ticks    :    258982
> shared lib ticks     :    194435
> javascript ticks     :      64325
> GC ticks              :      36598
>
> shared lib + js ticks (258760 ) ~= accounted ticks(258982) (diff of 222
> ticks)

I repeat: GC is accounted for *separately*. :-)

> I mean when the profiler wakes up, it would look at a call trace right? Are
> the lines logged in the JS section at the top of the stack?
> This can be misleading since the call stack might have changed due to
> setTimeouts. I want to understand how can I interpret these lines and what
> are its caveats.

That's how sample-based profiling works: you trade accuracy for efficiency.

Here's a GSoC project for you: augment callgrind to understand the
code V8 generates. I'll buy you a beer if you do. :-)

Matt

unread,
Apr 11, 2012, 11:18:59 AM4/11/12
to nod...@googlegroups.com
On Wed, Apr 11, 2012 at 9:55 AM, Ben Noordhuis <in...@bnoordhuis.nl> wrote:
> I mean when the profiler wakes up, it would look at a call trace right? Are
> the lines logged in the JS section at the top of the stack?
> This can be misleading since the call stack might have changed due to
> setTimeouts. I want to understand how can I interpret these lines and what
> are its caveats.

That's how sample-based profiling works: you trade accuracy for efficiency.

Here's a GSoC project for you: augment callgrind to understand the
code V8 generates. I'll buy you a beer if you do. :-)

Couldn't a much more accurate profiler be built using the debugger hooks? It would be massively slower but should be 100% accurate and allow line-by-line profiling like perl's Devel::NYTProf.

Matt.

Satyam Shekhar

unread,
Apr 11, 2012, 11:22:06 AM4/11/12
to nod...@googlegroups.com
On Wed, Apr 11, 2012 at 7:25 PM, Ben Noordhuis <in...@bnoordhuis.nl> wrote:
On Wed, Apr 11, 2012 at 15:02, Satyam Shekhar <satyam...@gmail.com> wrote:
>> The profiler is sampling based. That is, it wakes up at regular
>> intervals (ticks) and records where the instruction pointer is. If the
>> IP points to an address that cannot be resolved to a function, the
>> tick is reported as unaccounted.
>
> Why does the IP need to point to a function? Can't it just point to any
> instruction(line) in the function?

Yes, that's implied. :-)

Say the profiler wakes up and finds that IP == 0x1234. It looks up
that address in the program's symbol table and finds that the nearest
function is foo@0x1230. The next nearest function is bar@0x1240,
therefore the profiler knows we're in foo().

It's more involved than that but that's the essence of it.

Hmm.. So here is another question just to pester you more. :).. 

Lets suppose a function in my app(iin JS) has this code: 

var cpp_binding = require('./cpp-binding');
function js_fn() {
   cpp_binding.execute();
}
 
Now when the profiler wakes up it sees an instruction in execute fn (in cpp_binding) being executed(lets assume it consumes a lot of ticks). Now, where would these ticks counted? Will they appear in JS section -- right at the top? or will they _only_ appear in C++ section?

Also, in the profiler output I sent I dont have any ticks in C++ section, however I m using bindings (node-expat, compress-buffer).
Why could have that happened?
 

> I think m missing something very basic here.. It d help if you could tell me
> when would this happen?

Unaccounted ticks? For a variety of reasons. For example, glibc
generates trampolines (executable on-stack code) that confuse the
profiler no end.

Oh ok.. is it safe to say these are due to C++ bindings or some code in V8..  
 

>> None. GC is accounted for separately under the (aptly named I daresay)
>> section "GC": 36,598 ticks or 14.1% of total run time in your case.
>
> I doesn't look like it from the output.
>
> total ticks             :   290423
> unaccounted ticks :     31441
> accounted ticks    :    258982
> shared lib ticks     :    194435
> javascript ticks     :      64325
> GC ticks              :      36598
>
> shared lib + js ticks (258760 ) ~= accounted ticks(258982) (diff of 222
> ticks)

I repeat: GC is accounted for *separately*. :-)


Cool. :) .. should have read what you wrote more carefully.
 

> I mean when the profiler wakes up, it would look at a call trace right? Are
> the lines logged in the JS section at the top of the stack?
> This can be misleading since the call stack might have changed due to
> setTimeouts. I want to understand how can I interpret these lines and what
> are its caveats.

That's how sample-based profiling works: you trade accuracy for efficiency.

Here's a GSoC project for you: augment callgrind to understand the
code V8 generates. I'll buy you a beer if you do. :-)

You know, I d actually be interested in such projects. Can you point me to some essential/good readings for V8 from where I can understand it much better. :)

Ben Noordhuis

unread,
Apr 11, 2012, 5:08:49 PM4/11/12
to nod...@googlegroups.com
On Wed, Apr 11, 2012 at 17:22, Satyam Shekhar <satyam...@gmail.com> wrote:
> Hmm.. So here is another question just to pester you more. :)..
>
> Lets suppose a function in my app(iin JS) has this code:
>
> var cpp_binding = require('./cpp-binding');
> function js_fn() {
>    cpp_binding.execute();
> }
>
> Now when the profiler wakes up it sees an instruction in execute fn (in
> cpp_binding) being executed(lets assume it consumes a lot of ticks). Now,
> where would these ticks counted? Will they appear in JS section -- right at
> the top? or will they _only_ appear in C++ section?
>
> Also, in the profiler output I sent I dont have any ticks in C++ section,
> however I m using bindings (node-expat, compress-buffer).
> Why could have that happened?

Modules are loaded with dlopen(). I don't think the V8 profiler
handles that, time spent in them will be counted towards the main node
binary.

>> Unaccounted ticks? For a variety of reasons. For example, glibc
>> generates trampolines (executable on-stack code) that confuse the
>> profiler no end.
>
> Oh ok.. is it safe to say these are due to C++ bindings or some code in V8..

Yes, it is.

>> Here's a GSoC project for you: augment callgrind to understand the
>> code V8 generates. I'll buy you a beer if you do. :-)
>
> You know, I d actually be interested in such projects. Can you point me to
> some essential/good readings for V8 from where I can understand it much
> better. :)

I don't think you'll find a better resource than the source itself.
It's pretty massive though: 635,000 lines of code and counting.

Ben Noordhuis

unread,
Apr 11, 2012, 5:12:17 PM4/11/12
to nod...@googlegroups.com
On Wed, Apr 11, 2012 at 17:18, Matt <hel...@gmail.com> wrote:
> Couldn't a much more accurate profiler be built using the debugger hooks? It
> would be massively slower but should be 100% accurate and allow line-by-line
> profiling like perl's Devel::NYTProf.

I don't think you'll get meaningful numbers that way. Each breakpoint
will blow away all caches plus V8's optimizer will never get a chance
to kick in.

Satyam Shekhar

unread,
Apr 11, 2012, 5:16:29 PM4/11/12
to nod...@googlegroups.com
> Also, in the profiler output I sent I dont have any ticks in C++ section,
> however I m using bindings (node-expat, compress-buffer).
> Why could have that happened?

Modules are loaded with dlopen(). I don't think the V8 profiler
handles that, time spent in them will be counted towards the main node
binary.

This makes it really difficult. If a binding in my app is consuming lot of ticks, profiling might mislead me to believe that node is consuming those ticks. Any work around this?
 


I don't think you'll find a better resource than the source itself.
It's pretty massive though: 635,000 lines of code and counting.

Cool. :)

Ben Noordhuis

unread,
Apr 11, 2012, 6:13:53 PM4/11/12
to nod...@googlegroups.com
On Wed, Apr 11, 2012 at 23:16, Satyam Shekhar <satyam...@gmail.com> wrote:
>> Modules are loaded with dlopen(). I don't think the V8 profiler
>> handles that, time spent in them will be counted towards the main node
>> binary.
>
> This makes it really difficult. If a binding in my app is consuming lot of
> ticks, profiling might mislead me to believe that node is consuming those
> ticks. Any work around this?

What I usually do is profile with both the V8 profiler and callgrind.

I suppose it could be fixed. dlopen() mappings show up in
/proc/self/maps so technically V8 could know what address ranges
belong to what modules. The problem is that the mappings are scanned
at start-up, before any modules are loaded.

Maybe a good topic for your first patch? :-)

Reply all
Reply to author
Forward
0 new messages