Awesome
Kadira - Performance Monitoring for Meteor
This project is based on the Kadira without jQuery dependency.
If you are looking for the kadira server, take a look at meteor apm server.
Getting started
- Create an account in Meteor APM or Kadira
- From the UI, create an app. You'll get an
AppId
and anAppSecret
. - Run
meteor add lmachens:kadira
in your project - Configure your Meteor app with the
AppId
andAppSecret
by adding the following code snippet to aserver/kadira.js
file:
Meteor.startup(function() {
Kadira.connect('<AppId>', '<AppSecret>');
});
Now you can deploy your application and it will send information to Kadira. Wait up to one minute and you'll see data appearing in the Kadira Dashboard.
Auto Connect
Your app can connect to Kadira using environment variables or using Meteor.settings
.
Using Meteor.settings
Use the followng settings.json
file with your app:
{
...
"kadira": {
"appId": "<appId>",
"appSecret": "<appSecret>"
}
...
}
The run your app with meteor --settings=settings.json
.
Using Environment Variables
Export the following environment variables before running or deploying your app:
export KADIRA_APP_ID=<appId>
export KADIRA_APP_SECRET=<appSecret>
Error Tracking
Kadira comes with built in error tracking solution for Meteor apps. It has been enabled by default. For more information, please visit the meteor docs.
By default, Kadira tracks all the errors for you. But you may need to handle errors yourself. For those situations, you may need to report the error back to kadira as well. Here are the some of the options you can do.
Option 1 - Throw a new Error
Easiest option is try capture errors and handle them yourself. Then throw another error. Then kadira will capture that and you can see that error from in the UI.
try {
// your code which may throw some errors
} catch(ex) {
// handle your error and throw again
throw ex;
}
Option 2 - Use Kadira.trackError
Other option is to use Kadira.trackError
API. Which is available on both client and the server. See how it can used.
try {
// your code
} catch(ex) {
var type = 'my-error-type';
var message = ex.message;
Kadira.trackError(type, message);
}
When you are tracking custom errors, do not use following types:
- client
- method
- sub
- server-crash
- server-internal
We use above types to track errors automatically. If you also send errors with above types, things may not works as they used to.