Unknown and ___channel_get_opt takes most of the ticks in node.js profiling results
I just did profiling for my node.js app by following the guide given here: https://nodejs.org/en/docs/guides/simple-profiling/ . My node.js app provides an API that has multiple calls for cloud computing. The profiling result shows ___channel_get_opt and the unknown seems like most ticks are listed below.
What is the potential bottleneck?
Thank.
[C++]:
ticks total nonlib name
15622 15.9% 16.0% ___channel_get_opt
1968 2.0% 2.0% v8::internal::IncrementalMarking::Step(long, v8::internal::IncrementalMarking::CompletionAction, v8::internal::IncrementalMarking::ForceMarkingAction, v8::internal::IncrementalMarking::ForceCompletionAction)
1500 1.5% 1.5% void node::StreamBase::JSMethod<node::StreamWrap, &(int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&))>(v8::FunctionCallbackInfo<v8::Value> const&)
1278 1.3% 1.3% v8::internal::Context::RemoveOptimizedFunction(v8::internal::JSFunction*)
1240 1.3% 1.3% node::TCPWrap::Connect(v8::FunctionCallbackInfo<v8::Value> const&)
1171 1.2% 1.2% _szone_malloc_should_clear
[Summary]:
ticks total nonlib name
18462 18.8% 19.0% JavaScript
67692 68.8% 69.5% C++
6486 6.6% 6.7% GC
1021 1.0% Shared libraries
11182 11.4% Unaccounted
[C++ entry points]:
ticks cpp total name
7122 19.9% 7.2% v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)
3957 11.1% 4.0% v8::internal::Runtime_KeyedStoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
1480 4.1% 1.5% v8::internal::Builtin_ObjectKeys(int, v8::internal::Object**, v8::internal::Isolate*)
1289 3.6% 1.3% v8::internal::Runtime_KeyedLoadIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
1285 3.6% 1.3% v8::internal::Runtime_NotifyDeoptimized(int, v8::internal::Object**, v8::internal::Isolate*)
1139 3.2% 1.2% v8::internal::Runtime_KeyedGetProperty(int, v8::internal::Object**, v8::internal::Isolate*)
998 2.8% 1.0% v8::internal::Runtime_DebugPromiseEvent(int, v8::internal::Object**, v8::internal::Isolate*)
961 2.7% 1.0% v8::internal::Runtime_AllocateInTargetSpace(int, v8::internal::Object**, v8::internal::Isolate*)
928 2.6% 0.9% v8::internal::Runtime_DebugAsyncTaskEvent(int, v8::internal::Object**, v8::internal::Isolate*)
895 2.5% 0.9% v8::internal::Runtime_CompileOptimized_Concurrent(int, v8::internal::Object**, v8::internal::Isolate*)
862 2.4% 0.9% v8::internal::Runtime_ParseJson(int, v8::internal::Object**, v8::internal::Isolate*)
721 2.0% 0.7% v8::internal::Runtime_StoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
699 2.0% 0.7% v8::internal::Runtime_SetProperty(int, v8::internal::Object**, v8::internal::Isolate*)
[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
15622 15.9% ___channel_get_opt
11182 11.4% UNKNOWN
1675 15.0% v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)
1337 79.8% LazyCompile: *Socket._writeGeneric net.js:665:42
1077 80.6% LazyCompile: *Socket._writev net.js:728:36
874 81.2% LazyCompile: *clearBuffer _stream_writable.js:403:21
791 90.5% LazyCompile: *Writable.uncork _stream_writable.js:259:37
52 5.9% LazyCompile: ~end /Users/winattack/Documents/work/engage-service/node_modules/compression/index.js:91:28
24 2.7% Handler: uri {22}
203 18.8% LazyCompile: ~doWrite _stream_writable.js:326:17
203 100.0% LazyCompile: ~clearBuffer _stream_writable.js:403:21
198 14.8% LazyCompile: *clearBuffer _stream_writable.js:403:21
160 80.8% LazyCompile: *_flushOutput _http_outgoing.js:667:63
160 100.0% LazyCompile: *OutgoingMessage._flush _http_outgoing.js:649:44
38 19.2% LazyCompile: *OutgoingMessage.end _http_outgoing.js:548:41
38 100.0% LazyCompile: ~end /Users/winattack/Documents/work/engage-service/node_modules/compression/index.js:91:28
52 3.9% Handler: body {10}
52 100.0% LazyCompile: ~clearBuffer _stream_writable.js:403:21
52 100.0% LazyCompile: *_flushOutput _http_outgoing.js:667:63
181 10.8% LazyCompile: *TLSSocket._start _tls_wrap.js:613:38
181 100.0% LazyCompile: ~<anonymous> _tls_wrap.js:1064:41
181 100.0% LazyCompile: ~g events.js:287:13
173 95.6% LazyCompile: *emit events.js:136:44
8 4.4% LazyCompile: ~emitNone events.js:84:18
157 9.4% LazyCompile: *createWriteReq net.js:737:24
121 77.1% LazyCompile: *Socket._writeGeneric net.js:665:42
121 100.0% LazyCompile: ~Socket._write net.js:733:35
100 82.6% LazyCompile: *clearBuffer _stream_writable.js:403:21
12 9.9% LazyCompile: ~doWrite _stream_writable.js:326:17
9 7.4% LazyCompile: ~controller /Users/winattack/Documents/work/engage-service/server_build/idea_garage_server.js:3637:29
36 22.9% LazyCompile: ~Socket._writeGeneric net.js:665:42
36 100.0% LazyCompile: ~Socket._write net.js:733:35
18 50.0% LazyCompile: ~doWrite _stream_writable.js:326:17
10 27.8% LazyCompile: *clearBuffer _stream_writable.js:403:21
8 22.2% Handler: getFieldInfo
+3
source to share
No one has answered this question yet
Check out similar questions: