2013-05-17 6 views
1

DTrace를 사용하여 project에 대한 CPU 사용량을 프로파일하려고합니다. 방금 따라 갔다. scriptDrace에서 Node.js 프로파일 링에 함수 이름이 표시되지 않습니다.

문제는 기능 이름이 표시되지 않는다는 것입니다. stacks.out 파일은 다음과 같습니다

CPU  ID     FUNCTION:NAME 
    0 73700      :tick-60s 


      node`_ZN2v86Object3GetENS_6HandleINS_5ValueEEE+0x1 
      node`_ZN4node7TCPWrap12OnConnectionEP11uv_stream_si+0x14b 
      node`uv__server_io+0xbf 
      node`uv__io_poll+0x259 
      node`uv_run+0xda 
      node`_ZN4node5StartEiPPc+0x16d 
      node`main+0x1b 
      node`_start+0x83 
      1 

      node`_ZN4node6Buffer4FillERKN2v89ArgumentsE+0x22b 
      0x82474d1b 
      0x8241ee9c 
      0x8241e624 
      0x8241e30f 
      0x82426abd 
      0x82419e4e 
      0x82419948 
      0x82413fc3 
      0x8d20e501 
      0x82416f65 
      0x82413f98 
      0x8243e7d3 
      0x824186c0 
      0x8246e8cf 
      0x8d221899 
      0x8d21308a 
      node`_ZN2v88internalL6InvokeEbNS0_6HandleINS0_10JSFunctionEEENS1_INS0_6ObjectEEEiPS5_Pb+0x101 
      node`_ZN2v88internal9Execution4CallENS0_6HandleINS0_6ObjectEEES4_iPS4_Pbb+0xc9 
      node`_ZN2v88Function4CallENS_6HandleINS_6ObjectEEEiPNS1_INS_5ValueEEE+0x10b 
      node`_ZN4node12MakeCallbackEN2v86HandleINS0_6ObjectEEENS1_INS0_8FunctionEEEiPNS1_INS0_5ValueEEE+0x4c 
      node`_ZN4node12MakeCallbackEN2v86HandleINS0_6ObjectEEENS1_INS0_6StringEEEiPNS1_INS0_5ValueEEE+0x66 
      node`_ZN4node10StreamWrap12OnReadCommonEP11uv_stream_si8uv_buf_t14uv_handle_type+0x14f 
      node`_ZN4node10StreamWrap6OnReadEP11uv_stream_si8uv_buf_t+0x2e 
      node`uv__read+0x281 
      node`uv__stream_io+0x131 
      node`uv__io_poll+0x259 
      node`uv_run+0xda 
      node`_ZN4node5StartEiPPc+0x16d 
      node`main+0x1b 
      node`_start+0x83 
      1 

불꽃 그래프 기능 통화가 아닌 실제 함수 이름 (. 즉, "0x82474d1b") 진수를 보여줍니다.

OmniOS (illumos 기반 OS) 수정체 상자 r151002을 사용 중이며 OmniOS에서 node.js 32bits를 빌드하려면 (https://gist.github.com/dalssoft/5595688)이 작업을 수행했습니다.

의견이 있으십니까?

답변

3

openindiana와 node.js를 함께 사용하는 것에 대한 내 블로그 게시물을 작성할 때 비슷한 문제가있었습니다.

http://blog.nearform.com/blog/node-openindiana.html

본인은 CPU의 아치를 해결하는 방법이 명시 된 것을 발견했다.

./configure --with-dtrace --dest-cpu=x64 

너무

c++filt <stacks.out> demangled.out 
+0

시원한 C++ 심볼을 분해 해제하는 것을 잊지 마세요! 그것을 시도한 다음 OmniOS에서 작동하는지 알려주겠습니다. –

+0

작동합니다! tks !!! –

+0

나중에 참조 할 수 있도록 앞에서 언급 한 블로그 게시물이 여기로 이동 한 것으로 보입니다. http://www.nearform.com/nodecrunch/node-openindiana – d0gb3r7