Node.js and the npm ecosystem make it fast, easy and fun to create web applications. That’s because they are dynamic, fast moving and fluid. Unfortunately, those same properties tend to lead to difficulties debugging and diagnosing issues in Node apps.
Project Glimpse: Node Edition is an experiment to try to alleviate many of those difficulties, helping you solve potential issues before you ever deploy in a simple, visual manner. This is done with two key principles:
Glimpse provides a novel, simple and easy way to quickly gain insight into your Node.js web application. As your app runs, Glimpse agents produce framework-level diagnostic data. This is data geared for developers, writing applications. It’s not targeted at operations folks or servers. From there, the Glimpse client provides a request-centric GUI for viewing this data. This gives you a different perspective of your app than a step debugger or log statements can provide.
Framework-level diagnostics means that Glimpse has a deep understanding of the modules, frameworks and libraries being used in your application. Browser APIs like
console and common Node.js modules such as
console are instrumented to produce the detailed data that lets you easily understand what’s going on in your web application.
The Glimpse client organizes this diagnostic data by each request. That is, for any given request your app received, the client lets you drill into the details of what actually happened during that request. You can know such detailed information as which piece of middleware changed a response header, or what the request body and request headers were.
Browser and server diagnostics combined
Glimpse unifies diagnostic data from your browser and your server into a single GUI. You get a single table that shows the details of all your web service calls during the request, irrespective if they’re made from the client or server. Or, you can see a unified view of all your browser-side and server-side log statements.