concurixjs

Please upgrade to concurix-monitor

Node.js Real-time Visual Profiler and Debugger

npm install concurixjs
48 downloads in the last week
54 downloads in the last month

ConcurixJS

ConcurixJS is deprecated and replaced with concurix-monitor

Node.js Real-time Visual Profiler and Debugger

Moore's Law delivers more cores every year, but subtle chokepoints keep many applications from fully exploiting many-core chips. Concurix builds trace analysis and visualization tools that make it easy for developers to pinpoint bottlenecks and uncork parallelism. We aim to deliver 10x or better price-performance gains to servers, data centers, and all other many-core systems.

This concurixjs runtime includes a the realtime tracer and debugger for NodeJS. These tools help Node.js developers in both day to day development as well as tracking down hard to find performance problems.

For more information, visit www.concurix.com.

Installation

$ npm install -g concurixjs

Quick Start

  1. Include the following snippet before any other require statement:

    var concurixjs = require('concurixjs')();
    concurixjs.start();
    
  2. Run your app

    $ node --expose-debug-as=v8debug app.js
    
  3. Visit www.concurix.com/dashboard -> Select Guest Project for Localhost to view performance graphs.

Note that, by default, the online dashboard will try to connect to http://localhost. If you'd like to use anything other than localhost you should sign up for concurix.com and create your custom project.

API

concurixjs(opts:Object)

Initializes tracer and debugger. The tracer automatically wraps every function found in the exports object returned by require. This allows the tracer to partially reconstruct and visualize the call tree of your running code. The debugger enables steb-by-step debugging, REPL and live code editing of your application. In case when clustering is enabled only the master process will be controlled by the debugger.

The following options are suported:

  • accountKey your account key when working with custom domains other than localhost
  • enableTracer enables/disables tracer. Default: true
  • whitelistedModules array of module names. If set only specified modules will be traced
  • blacklistedModules array of module names. If set these modules will not be traced. Use this option if you see crashes on certain modules. See index.js for default values
  • enableDebugger enables/disables debugger. If enabled, snapshot debugging will be disabled. Default: true
  • debuggeePid process id that will be debugged. Default: process.pid
  • enableSnapshots enables/disables snapshot debugging. Note that if snapshots are enabled, enableDebugger needs to be off. Default: false

concurixjs#start()

Starts tracer and debugger

concurixjs#stop()

Stops tracer reporting. Note that the tracer will not be fully disabled. You would need to restart your app to fully disable the tracer.

concurixjs#snapshot()

Take a snapshot of the current function, stack trace, and closure and save the information to s3. The snapshots can later be viewed on http://www.concurix.com/snapshot

npm loves you