background preloader

Outils

Facebook Twitter

Profiler son application NodeJS « naholyr.fr. Je me suis essayé à un exercice dont je n’ai pas l’habitude: faire du profilage d’applications.

Profiler son application NodeJS « naholyr.fr

Je n’en ai généralement pas eu besoin, les bottlenecks étant souvent faciles à identifier dans les applications sur lesquelles j’ai travaillé, mais viendra tôt ou tard le jour où on se demande si on ne peut pas simplement « faire mieux ». Il n’y a pas de problème particulier, pas d’URL ou de fonction spécifiquement lente identifiée, et dans ce cas si on veut améliorer les performances il faut qu’on trouve déjà où ça pourrait être amélioré Je pars d’assez loin, ma seule expérience tient dans XDebug et KCachegrind avec PHP. Expérience plutôt concluante d’ailleurs. Le paysage est beaucoup moins rose du côté de Node.JS, d’une part à cause du peu d’outils « finis » disponibles.

Sommaire Avertissement Je préviens les pro du profiling qu’il y aura dans cet article de probables énormités sans doute impardonnables. Mais prenez quand-même le temps de vulgariser à destination des débutants (m’incluant) Node.js et le mode debug. Grace à firebug, il est aisé de faire des opérations de mise au point sur des scripts exécutés du coté client.

Node.js et le mode debug

Ce système n'est pas utilisable sur des programmes lancés coté serveur sur node.js . Il est fort heureusement possible de lancer un script en mode debug sur node.js. Pour cela il suffit d'ajouter l'option suivante au lancement d'un script:nodejs --debug-brk monscript.js l'option --debug-brk provoque l’arrêt du script sur sa première instruction. Node vous retourne une adresse de connexion pour accéder aux informations de debug debugger listening on port 5858 Il est possible alors d'opter pour deux types d'outils.

Le debug dans un terminal. Pour cela, ouvrir un deuxième terminal et lancer la commande ndb. L'ecran ressemble à ceci Les commandes disponibles pour le debug sont celles qu'on retrouve sur des produits analogues (perl debug, ruby debug ) mais avec quelques limitations. Le debug dans un navigateur. Run Node.js as a Service on Ubuntu. The core of our new project runs on Node.js.

Run Node.js as a Service on Ubuntu

With Node you can write very fast JavaScript programs serverside. It's pretty easy to install Node, code your program, and run it. But how do you make it run nicely in the background like a true server? Clever chaps will have noticed you can just use the '&' like so: Cloud9 - Your code anywhere, anytime.