Keymetrics/PM2 Launch!
by Alexandre Strzelewicz -

Today we are excited to announce that the product we have been building for the past 12 months, Keymetrics, is officially up and running.

Keymetrics logo

For those who already know about PM2, this is the monitoring solution we referred to in our documentation.

After receiving more than 2.500 answers to our feedback survey, 1.500 signups on LaunchRock, a ton of awesome tweets, and more than 380.000 PM2 downloads, we are pleased to release the first v1 of Keymetrics. We are also going to release a concept even more powerful in the next 6 months. Not to be coy or anything. Stay tuned!

So what does Keymetrics do exactly?

Keymetrics is a monitoring and app management platform dedicated to NodeJS that is unlike anything else out there!

We worked hard to offer you an awesome, fully real-time dashboard with critical features, such as exceptions logging, memory/cpu monitoring, slow routes detection and custom metrics.

As the first users, we have been extensively using Keymetrics to help us monitor, manage and harden our entire NodeJS workflow. Keymetrics uses Keymetrics' paradigm. So meta. For the record, we already monitor more than 400 PM2s, and we are only scaled across 3 servers. This couldn't have happened without the outstanding performance of NodeJS!

Keymetrics/PM2 is compatible with every major framework (Express, HAPI, Restify, Kraken, Ghost blog, Sails) and after registering to Keymetrics linking a PM2 is as easy as:

$ pm2 interact <private_key> <public_key> <machine_name>

Now let's dive into the features list!

Feature #1: Real-time dashboard

You will have a broad overview in real time of your applications for each host. When you look at the dashboard and everything looks stable and green, you will know for a fact that it's true at that very moment.

Keymetrics dashboard

Feature #2: Exceptions handling

By using Keymetrics/PM2, you will be able to manage exceptions very easily. PM2 starts another context-fresh application while the errors are logged and processed in Keymetrics. Then you receive one email - not a thousand - with the stack trace and other metadata within a second.

errors-logging

Feature #3: PM2: Better performance and reliability

PM2 with Node 0.12 allows you to increase the performance of all your TCP/UDP/HTTP apps, thanks to the cluster module. The reload feature makes application updates seamless to users.

Profiling

Feature #4: Slow routes detection

Slow routes monitoring shows you which routes are impacting the user experience or the ones that have errors. It's very useful for HTTP/s based applications.

Latency

Feature #5: Custom metrics

We know that sometimes you need more granular and custom monitoring, which is where Custom metrics come in! We provide 4 types of Probes/Sensors of type Counter, Parallelizer, Histogram and Meter.

At Keymetrics, we use these probes to monitor the number of PM2s connected to our servers, real-time users, queries per second and average latency of important queries (bulk insert). Once you add the probes and restart your app, you will see all of this in realtime in the dashboard. Try it. We are confident you will love this feature!

var pmx   = require('pmx');  
var probe = pmx.probe();

var histogram = probe.histogram({  
  name        : 'latency',
  measurement : 'mean'
});

var d1 = Date.now();

db.User.find({ user_realtime : true }, function(err, users){  
  histogram.update(Date.now() - d1);
});

What's next?

Keymetrics is under rapid development with our vision and your feedback! So what's next?

  • Release of PM2 1.0 with a module system that will interact with Keymetrics
  • Custom metrics retention. You will be able to correlate multiple metrics to prevent failure before it happens
  • Websocket/SocketIO monitoring. One line of code and you will be able to monitor these behaviors
  • NPM security and updated checks

And more as we scale!

Pricing

Our pricing structure reflects our belief that monitoring should be accessible and easy for everyone. Any pricing changes in the future will not affect our first users. Just create a bucket now, and the bucket's pricing will never change.

This is us! If you want to give it a try, and get this special priced / feature rich “Bucket”, here is the link:


Access to Keymetrics App


We are really eager to get your feedback and issue reports, as this will help us build a product as awesome as PM2.

Stay tuned for the next release that will blow your mind!

The Keymetrics Team