Published 12th February 2020
Clinic.js is being used more often by developers and organisations in helping pinpoint performance bottlenecks. Here we take a look at some recent instances in which it is having a profound effect and what others have to say about what makes it unique. We hope this gives you a better idea of how it might help you with your own performance optimisation. But sometimes a live demo is what you need – so if you’re interested, you can sign up for our webinar here where you’ll have a chance to ask questions too.
(We also take this blog post as an opportunity to let you know about how we’re dedicating even more time and people to its further development this year)
Clinic.js, an indispensable tool at ADP Lifion
Clinic.js is one of those tools that has become invaluable for many Node.js developers. We were particularly pleased to hear from Ali Yousuf in ADP Lifion Engineering on the Promise.allpocalypse. Ali discusses the performance implications of misunderstanding Node.js promises and how Clinic.js has become an indispensable debugging tool for the development team at ADP Lifion Engineering.
The key benefits it has delivered to them include the introspection into how a Node application is performing beyond simple top-line execution times, introspecting not only resource utilization but what the code itself is doing. Using Clinic.js, the team were given insight into why a specific code path might wreak havoc inside of a live service.
Ali notes its ease of use and its clear presentation as an enabler into not only identifying problems but in helping to communicate them to other key team members and stakeholders.
Clinic.js in the top 9 open source tools for Node.js developers at Opensource.com
Over on Opensource.com, Hiren Dhadhuk expressed his views on why Clinic.js is in their 9 favourite open source tools for Node.js developers, simplifying development. Given the increasing demand for and the rising popularity of Node.js, Hiren points to the challenge in keeping up the pace while delivering high-quality results. He quotes Clinic.js as one of the tools to help in optimising the development process using Doctor to provide recommendations on the overall health of your project, Bubbleprof for profiling and generating metrics using async_hooks and Flame for uncovering hot paths and bottlenecks in your code.
Clinic.js makes troubleshooting much easier, says Sematext
And earlier in 2019, Adnan Rahić included Clinic.js in their Node.js Open Source Monitoring Tools list. For Adnan, high performance with no downtime is the most important feature a Node.js application can have. Minimal downtime, predictable resource usage and the ability to scale effectively based on load top the list of their priorities for performant applications. In this Sematext blog post, Adnan takes you through the process of running and generating the tools noting that the outputs will “make troubleshooting much easier”. And we loved the comment that “It’s surprisingly easy to use.”
TensorFlow.js in Clinic.js Doctor
The TensorFlow.js team has very kindly highlighted its use in Clinic.js Doctor at multiple events including TensorFlow Dev and Node+JS Interactive.
Clinic.js Helping Users
Here’s just a selection of the lovely things people have been saying on Twitter about how Clinic.js has helped them.
Was able to cut the build time of our design system in half today 🚀. First time I used clinic.js by @NearForm. Awesome tool to visualise what’s going on inside your node process. Thanks @DennisReimann #uiengine #designsystem #profiling #debugginghttps://t.co/88xCDuec06 pic.twitter.com/vNJDlkdK8M
— Michael Geers (@naltatis) August 8, 2019
Thanks to @nodeclinic for helping me figure out a stupid pagination memory bug in my code
Before / After : pic.twitter.com/5kz7ebxad7
— Antoine Gomez (@antoineg) September 12, 2019
You realize that you’ve built something good when folks not directly involved in the project deliver a talk about it! Thanks to all of you!
— Matteo Collina (@matteocollina) December 16, 2019
Estan usando Node.JS para aplicaciones realmente robustas, posiblemente con Leaks de memoria, Fallas en el EventLoop y procesos demasiado costosos?
Clinic.JS permite saber visualmente cuales son las funciones o metodos que bloquean el eventLoop! 🔥🙌https://t.co/7CDbA5mMwV
— Flavio Aandres (@FlavioAandres) November 19, 2019
/3 Through these questions we understood the left and right borders and usage scenarios. One of the preliminary activities to developing this was doing performance testing with @NearForm‘s clinic to assess the JSON processing impact on the CPU
— Liran Tal ✨ Node.js CLI Magic ✨ (@liran_tal) February 10, 2020
New advances in Clinic.js on the way
One of the most important things we’d like to tell you is that NearForm Research, a new group inside NearForm, is now responsible for Clinic.js. It’s still the same Node.js experts but now we have even more team members giving their time and expertise to advancing the suite of tools (among other things). You can expect to see a lot of new functionality in Clinic.js over the next several months.
— NearForm Research (@NF__Research) January 29, 2020
Want to share your experience or need some help?
We love hearing from Clinic.js users and how it helped to solve performance issues for them. If you are interested in sharing your thoughts on the future of Clinic.js, please get in touch.
To easily share your Clinic.js outputs with others, you can use Clinic.js Upload and if you’d like one of NearForm’s Node.js experts to analyse your Clinic.js output for free (Ts & Cs apply of course), just make use of the Ask An Expert button built into the output of all the Clinic.js tools.
We’re always interested in receiving profile data from as broad a range of applications as possible. This will enable us to continue to improve the tools for you.
Join our Webinars to find out more
Want to find out more? We’re planning a series of webinars to demonstrate how the Clinic.js suite of tools can help to solve Node.js performance issues. Register your interest here and we’ll be in touch with some suggested dates.
Follow us for more information on this and other topics.
Talk to one of our senior team for expert advice
Chief Product Officer