Debugging Mantra Tutor with Kadira Debug.

Introducing Kadira Debug for Production Meteor Apps

With remote debugging, data import/export and many stability improvements.

Published in
3 min readMar 15, 2016

--

We launched Kadira Debug last year as a debugging tool to identify performance bottlenecks in your Meteor apps. Specifically, you can easily discover response time bottlenecks with Kadira Debug. You can see all the DDP activities, server traces and real network time.

But it was a debugOnly package and not available for production Meteor apps.

Kadira Debug for Production Apps

Today, we are happy to introduce Kadira Debug for production apps. You can simply connect to any Meteor app using our management console and see what’s really going on inside a single Meteor session.

You can simply share the management console URL with your team and debug the app remotely collaboratively.

You can also save the current session’s data for later use. Then you can load it and analyze the session whenever you like.

Have a look at the following video:

To get started with Kadira Debug, visit here.

🐵: Okay. This is cool. But, what about security?

Kadira Debug and Security

We take security seriously. By default in production, Kadira Debug does nothing. If you want to enable Kadira Debug for production apps, you need to provide an AUTH KEY via an environment variable or by using Meteor settings.

See this article on how to set it.

Then, when you try to connect to your app, you’ll be asked to enter that AUTH KEY. So, no one else would be able to access your app using Kadira Debug.

You need to enter the AUTH KEY to connect to your production app.

Note: Always use the HTTPS version of your app with Kadira Debug.

🐵: Ah ha. That’s good. But still, Kadira Debug data is routed vai Kadira servers. So, you guys can see everything, can’t you?

Data Ownership

Nope. Kadira Debug data is stored on two small capped collections (50mb each) in your MongoDB database, and these data won’t be sent to Kadira for any reason. Kadira Debug management console simply connects to your app using DDP so that you can access that data.

Kadira Debug management console is a 100% client-side app.

So, your data remain with your app and Kadira can’t see any of it. You can take a look at the Kadira Debug Meteor package for more information.

🐵: That’s great. But, now I can’t see the Blaze tab in Kadira Debug.

No More Blaze Support

Yes. We removed it.

Previously, we tracked some blaze-specific metrics to help you fix UI-related issues. But most of the time, even with that information, it was hard to fix Blaze’s performance issues. To fix them, you have to use some hacks or write some complex code.

It was much better to use something like React if there are any performance issues. So, that’s why we removed Blaze support.

Kadira Debug and the Future

We are planning to integrate Kadira Debug right inside Kadira APM. With that, you don’t need to set an AUTH KEY manually and we’ll use a different authentication mechanism, which is transparent to you.

We will also add more insight into Kadira Debug in coming months. Additionally, you’ll be able to connect to your app, take a CPU profile, and interact with live sessions.

Try the new Kadira Debug and let us know what you think about it. Additionally, you can share Kadira Debug’s exported data around forums when you’re asking for help (but make sure it doesn’t contain any sensitive information).

--

--