2012-06-26 28 views
6

Şu anda node.js uygulamasına profil hazırlıyorum.bu blogu buldum: http://blog.nodejs.org/2012/04/25/profiling-node-js/ Dtrace kullanmamı önerir.DTrace'yi kullanarak Node.js profili

dtrace -o stacks.out -n 'profile-97/execname == "node" && arg1/{ 
@[jstack(100, 8000)] = count(); } tick-60s { exit(0); }' 

stacks.out bu hariç boş kalır: benim düğüm uygulaması çalışırken benim terminalde bu komutu çalıştırdığınızda Ancak https://askubuntu.com/questions/60940/how-do-i-install-dtrace

: CPU Burada verilen adımları kullanarak ubuntu 12.04 üzerinde DTrace yüklü kimlik İŞLEVİ: ADI 1 387695: kene-60'lar

Herhangi bir öneriniz nedir yanlış olabilir?

+0

Linux'taki en yeni node.js ile, Systemtap'a bir göz atabilirsiniz. Ne kadar desteklendiğini bilmiyorum. GC ölç => https://gist.github.com/bnoordhuis/4078925. Bununla henüz oynamamıştım, umut verici/ilginç görünüyor. – Alfred

cevap

7

Linux DTrace uygulamaları şu anda çok genç ve bazı önemli özelliklerin eksik (ve herhangi bir şekilde üretim için kullanıma hazır değil). Özellikle kullandığınız DTrace uygulaması (Paul Fox's), kullanıcı alanı izlemeyi destekleyen herhangi bir çalışma varsa çok fazla bir şey yapmadı. Yani bunu Linux altında yapamazsınız (hemen).

Bunu işe almak istiyorsanız, DTrace'in daha eksiksiz uygulanmasına sahip bir işletim sistemi kullanmanız gerekecektir. En iyi ihtimalle, Illumos türevlerinden birini kullanmak (OmniOS, SmartOS veya OpenIndiana).

the article you linked to'un 'önkoşullar' bölümünü yeniden okumanız gerekir. Ayrıca, derleme zamanında DTrace desteği açıkken 32bit NodeJS kullandığınızdan emin olmanız gerektiğini belirtir.

(Mac OS X iyi DTrace uygulamasını var, ama the article göre bu örnek için gerekli olan ustack yardımcıları desteklemez.)

+0

OmniOS (Illumos tabanlı işletim sistemi) üzerinde node.js uygulamasını yüklemek için: https://gist.github.com/dalssoft/5595688 –

3

@psanford özellikle Dtrace ile konularını içeren iyi bir cevabı vardır, ama açılış cezanıza göre, 'un Node.js uygulamanızı izleyebilmesini istediğiniz gibi görünüyor ve DTrace bunun nasıl yapıldığına dair sadece bir örnekti. Bu durumda

, node-inspector ve v8-profiler bir arada uygulamanıza istenen içgözlem sunmak olacaktır. Node 0.6.x ile çalışıp çalışmadığından emin değilim, ancak son kullandığımdan beri 0.4.10'du. Oracle Linux üzerinde

1

Oracle announced DTrace durumu. Bu distro here'u indirebilirsiniz.