Prof

Profile, debug, optimize and understand node applications. With the help of native bindings to the v8-profiler you're able to take snapshosts of the heap, profile CPU usage and debug your code with breakpoints while running.

The debugger is there to inspect taken snapshots visually, or interact with your remote processes in a convenient way. It's built upon the WebInspector front-end that is shipped with most WebKit variants.

dominatorNode:<NODE>,// This is the node that participates in every path from the snapshot root to the current node

name:'',// Depending on node's type this can be the name of the constructor (for objects), the name of the function (for closures), string value, or an empty string (for compiled code)

approximateRetainedSize:<NUMBER>,// imprecise guess on the retainedsize of the node

retainersCount:<NUMBER>,// Retainer nodes count of the node

childrenCount:<NUMBER>,// count of children

size:<NUMBER>,// node's own size in bytes

getChild:[Function: getChild],// Retrieves a child by index

getRetainer:[Function: getRetainer],// Returns a retainer by index

getRetainedSize:[Function: getRetainedSize]// That is, self + sizes of the objects that are reachable only from this object. In other words, the size of memory that will be reclaimed having this node collected. This call returns an accurate number of approximateRetainedSize

This repository is organized and maintained with the help of gitflow. Developers are encouraged to use it when working with this repository.

We use the following naming convention for branches:

develop (during development)

master (will be or has been released)

feature/<name> (feature branches)

(empty version prefix)

During development, you should work in feature branches instead of committing to master directly. Tell gitflow that you want to start working on a feature and it will do the work for you (like creating a branch prefixed with feature/):

git flow feature start <FEATURE_NAME>

The work in a feature branch should be kept close to the original problem. Tell gitflow that a feature is finished and it will merge it into master and push it to the upstream repository:

git flow feature finish <FEATURE_NAME>

Even before a feature is finished, you might want to make your branch available to other developers. You can do that by publishing it, which will push it to the upstream repository:

git flow feature publish <FEATURE_NAME>

To track a feature that is located in the upstream repository and not yet present locally, invoke the following command:

git flow feature track <FEATURE_NAME>

Changes that should go into production should come from the up-to-date master branch. Enter the "release to production" phase by running:

git flow release start <VERSION_NUMBER>

In this phase, only meta information should be touched, like bumping the version and update the history. Finish the release phase with:

This project is versioned with the help of the Semantic Versioning Specification using 0.0.0 as the initial version. Please make sure you have read the guidelines before increasing a version number either for a release or a hotfix.