I was just wondering: do dev tools for the server side of meteor exist? I am imagining a UI where we can see open websockets, memory usage, publications, etcetera. This would be super helpful in discovering memory leaks in development and optimizing publications. Would love to know if this exists, and if not if more people would find it useful.
Anything not covered by the APM?
I mean something you can run on localhost, that connects to the running Meteor process like
meteor shell, but a GUI like APM with tips for best practices that are now buried in forum posts like these.
The benefit would be
- to catch issues during development;
- but more importantly it is a controlled environment you can use for trying out optimizations.
For example I was experimenting with preloading subscriptions (using my custom useSubscribe hook), but then I realised the way I did it could leave the subscription running indefinitely. Without server dev tools there would be no way to notice this until you start getting memory leaks and server crashes in production. Or is there?
I think you might want Meteor Dev Tools Evolved from @leonardoventurini :
Hi @storyteller , yes thanks I have that extension and it’s awesome! But I was looking for something specifically server-side, that shows you open websockets, subscriptions tied to those connections, documents kept in memory as a result of those subscriptions, etcetera. So specifically what happens on the server side. What prompted me to think about this was actually that post by @veered, that shows there is a lot of room for optimization but you have to really understand how publications work. It would be cool if this could just be visualized; e.g. this connection is costing you x MB of memory right now, this subscription is keeping x documents in memory, things like that.
In terms of GUI it would be cool to be able to browse from a list of connections, and then view their subscriptions, method calls etc, along with the memory usage. This is a different angle than APM, which is more analytics focused, aggregate numbers.
Potentially @msavin Meteor Toys might be what you are looking for.
Monti APM has a free tier and offers all that you mentioned.
This looks like production-only as well, or is there a localhost tool included as well?
Ah right, Meteor Toys! Totally forgot about that. The package is 5 years old though… Will those still work with Meteor now?
Oh sorry, I just checked the GitHub repo as the website didn’t show up in Google. Awesome, looking forward!
Coming soon I promise!