Node.js: write a performance benchmarking test suite for the concurix-monitor library

Closed - This job posting has been filled and work has been completed.
Web, Mobile & Software Dev Other - Software Development Posted 2 years ago


Less than 30 hrs/week
Less than 1 week

Expert Level

Start Date

February 16, 2014


Concurix offers a popular Node.js profiling and monitoring product.  Our solution automatically instruments an entire Node.js application, allowing for unprecedented insight into what is happening in an app.

The automatic instrumentation is enabled by the 'concurix-monitor' Node.js module (  This is a small monitoring agent that is installed in a customer's application.  This agent collects performance data and sends it to for further analysis and visualization.

We are constantly looking to improve the performance of our own tools, and as part of that we are looking for help to build out a performance benchmarking suite for concurix-monitor.

This suite should do the following:
1. Create a set of modules to be monitored for this suite (**see below for details)
2. Run the test suite with monitoring turned off; establish a baseline of performance.
3. Run the test suite with monitoring turned on.
4. compute the performance impact of the changes and report metrics.

The tests should be run often enough to generate statistically meaningful results, and a standard deviation for the results should also be computed.

The set of modules to written should include both very simple and very complex ones, including at least:
1. A simple module with 10 functions that simply returns / performs no work.
2. A module that does more extensive computation in each function.
3. A module that has functions that take functions as arguments (e.g. callbacks), and similarly returns new objects with function attributes.
3. Similar to #3, except that the inputs and outputs of the module methods should be complex (e.g. think of something like express, where the Request and Response objects passed into a route handler are very complex objects).  In this case, there should be at on the order of 100 properties on the input and output objects.

It is OK for the modules above to include some auto generated functions and objects to help keep the benchmarking code simple and elegant.

Code for this project should be submitted at regular interviews to the repository.

To apply for this job, please sign into and run Concurix on a Node.js program of your choice.  Include a screenshot of your program running in Concurix along with any other information you'd like to share.

We are offering a free Concurix profiling plan to anybody interested in working on this job--but you have to use the login at to obtain the free copy.  This offer is open to any applicant, even if you are not ultimately selected for the job.

About the Client

(5.00) 9 reviews

United States
Kirkland 04:53 PM

20 Jobs Posted
65% Hire Rate, 1 Open Job

Over $10,000 Total Spent
18 Hires, 0 Active

$27.78/hr Avg Hourly Rate Paid
645 Hours

Member Since Apr 25, 2011