Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

Feature Idea: Meteor.js Support

feature-idea

#1

I’m trying to use the NPM module in my Meteor.js app.

In the dashboard, I’m getting this message: “Some modules were uninstrumented during the current time window: connect, mongodb. Make sure require(‘newrelic’); is the first line of the application’s main module.” and the graphs are all empty.


New Relic edit

  • I want this, too
  • I have more info to share (reply below)
  • I have a solution for this

0 voters

We take feature ideas seriously and our product managers review every one when plotting their roadmaps. However, there is no guarantee this feature will be implemented. This post ensures the idea is put on the table and discussed though. So please vote and share your extra details with our team.


#2

Hi @peterm

require('newrelic') must be the first line in the file which is your apps entry point for proper instrumentation. Currently we do not have full support/instrumentation for meteor.js. I have gone ahead and filed a feature request on your behalf. There is no guarantee this will be implemented, but it will be reviewed on a case by case basis against all others.


#3

Meteor apps aren’t structured like your typical MEAN app. I don’t use require.js anywhere in my app so it sounds like the tool would have to be re-worked for use in Meteor.

Meteor is the top 10 starred projects on GitHub, NR is quite possibly missing out on a quickly growing market segment here.


#4

+1 for Meteor monitoring! Kadira is nice, but we use New Relic for all our non-Meteor stuff. Would be nice to have everything in 1 place.


#5

I’ve submitted your feature request @joost . Thank You!


#6

Hi @seth

Any update on this ?

Would too, love to see Meteor support.

Thanks.


#7

Hi @romant. Thanks for your request. At this time the node agent is designed for monitoring server side applications. Because Meteor is isomorphic in nature, Meteor is not supported with our agent at this time.


#8

What’s the status of Meteor.js support? It sounds like it’s either “not implemented” or “in progress” but it’s not clear if it’s something NR is planning on supporting, or has simply decided not to.

Can we get some clarity as to the plan?

p.s. We’d also appreciate Meteor.js support in NR.


#9

I will add your name to the list of feature requests for Meteror.js, @will_newby!

I would love to be able to give you a little clarity behind this, however, I have not heard any new news on this. I will try to get someone in this thread (who knows more) to comment and try to clear up some of these questions.

Thanks and stay tuned!


#10

Thanks for your interest in Meteor.js monitoring! We’ve considered adding support for Meteor several times but right now it isn’t on our roadmap. In addition to some technical challenges on our side, Meteor is undergoing some important internal changes such as the move to node v4+ which influence this decision for us in the near term. We will continue to keep an eye on Meteor’s technology and ecosystem.

That said, one thing to consider is that we do have support for custom instrumentation in the browser API. In addition, support for custom instrumentation in our Node agent API is in our near term roadmap. Depending on your needs, you may be able to leverage these capabilities to achieve your monitoring goals.

If you (or others in the Meteor community) are willing to share, we would be very interested in hearing more about the type of information you would like to see for your apps. In particular, any Meteor specific information that would be important to you.


#11

@jstuckey starting with Meteor 1.3, Meteor relies a lot more on NPM packages instead of the proprietary Meteor packages. Even NPM packages on the client are possible. I guess this would open some doors for monitoring with New Relic.

As for Meteor specific instrumentation, these would be nice (like also seen in Kadira)

  • Pub Sub response time
  • Method response time
    Those could probably combine somehow to an Apdex score for Meteor apps when you also factor in MongoDB response time.

#12

@joost Thanks for taking the time to provide your insights here. Support for ES2015 modules / npm is certainly interesting to us. I’ve updated our internal feature request related to Meteor support with your feedback regarding pub sub and method response time as well.


#13

Hey @joost - you have any luck getting basic NewRelic support working with Meteor’s NPM modules?


#14

Currently, I get the memory usage using a version of https://github.com/oskarszoon/meteor-newrelic.git inlined in the application code to be able to tweak it more easily.

The problem is that meteor builtin packages are loaded by the build process before the first line of “userland” JS code on the server. Once built, the first lines of an app look like this:

var require = meteorInstall({"server":{"lib":{"newrelic.js":["newrelic","cls-fibers",function(require){

///////////////////////////////////////////////////////////////////////////////////////
//                                                                                   //
// server/lib/newrelic.js                                                            //
//                                                                                   //
///////////////////////////////////////////////////////////////////////////////////////
                                                                                 //
newrelic = require('newrelic');                                                      // 1
                                                                                 //
// Patch the cls namespace used by the newrelics plugin for use with Meteor's fibers
var patchFibers = require('cls-fibers');                                             // 4
var ns = process.namespaces && process.namespaces['__NR_tracer'];                    // 5
if (ns) {                                                                            // 6
  patchFibers(ns);                                                                   // 7
}                                                                                    // 8
///////////////////////////////////////////////////////////////////////////////////////

#15

@premium Thanks for posting to the forum and also for the support ticket you opened.

For the benefit of others viewing this thread, in addition to what was mentioned, in the support ticket that was opened we also discussed that instrumenting Meteor apps is a challenge due to it’s use of websockets.

The Node agent works by monitoring HTTP transactions that respond to the request / response cycle (transactions with a defined start and end). Since Meteor uses websockets this presents a challenge.


#16

New data point when considering the need for NewRelic : Kadira used to be the go-to recommendation, but no longer: https://voice.kadira.io/kadira-shutting-down-7d35994db85d#.60t5veopf


#17

Any update here? I assume with updated Meteor you could (almost) use the normal node flow, but we can’t get it to work.


#18

2019 here… Currently Meteor is on version 1.8.
How is it? :wink:

At least, we use meteor only for backend site.


#19

You can always see a current list of the supported frameworks here: https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent. Unfortunately, meteor.js is still not supported.


#20

@philweber is there any update on this? Is NR still not supported for Meteor apps?