Node.js support, real-time views, improved stability, and more!
We are excited to announce the release of Source++ 0.7.0! This release includes several new features and improvements that we will cover in this post. We’ve also introduced over 100 new tests to ensure a high-quality release. We hope you enjoy the new features and improvements! The full release notes are available here.
New Features
Node.js Support
Source++ now supports Node.js projects! This means you can now use Source++ to monitor and debug your live JavaScript/TypeScript applications. We’ve included endpoint detection support for the Express web framework and will be adding support for other frameworks in the future.
Special thanks to MrMineO5 for spearheading this effort!
Live Tooltips
In addition to increased programmability, Guide Marks can now be used to provide Live Tooltips. These tooltips are fully customizable and can be activated by holding the shift key and hovering your mouse over any source code with associated live tooltips. You can use live tooltips to aggregate and display live views in any way you want.
The following screencast shows a live tooltip created to display the current number of online users, users logged in today, and the username of the most recent user to log in. Of course, this is just one example of how you can use live tooltips to enhance your IDE with data specific to your application.
Custom live tooltips added to all references of DemoUser which display when holding the shift key
With the combination of guide marks and live tooltips, you can easily embed everything you need to monitor and debug your application directly in the source code. Making it easy to quickly understand the context of the code you are looking at and how it operates in production.
Real-Time Live Views
We’ve added the ability to create real-time live views. A live view represents a subscription to application runtime metrics and receives updates once they become available. Real-time live views allow you to subscribe to metrics and receive updates the moment they’re collected, rather than waiting for the next refresh.
The following screencast shows the Quick Stats indicator, which now uses real-time live views.
Quick Stats indicator updating in real-time each time the endpoint is hit
New Commands
We’ve added two new commands to Source++ for improved usability. In addition to the new commands demonstrated below, we’ve also made the Library Check and Boot Time commands available for all users.
Tail Logs
The Tail Logs command allows you to follow logs in real-time to monitor your application logs and debug issues as they occur. Tail Logs supports filtering by individual statements, methods, and classes. It even works with the Add Log command for tailing custom live logs!
Follow logs for specific statements, methods, and classes
Show/Hide Meters
The Show/Hide Meters command allows you to show and hide the live meters throughout your application. As live meters only exist at runtime and do not require code changes, this command makes it easy to quickly hide meters when you don’t need them and show them again if you do.
Live meters are hidden by default. Use the Show/Hide Meters command to show and hide them
New Indicators
We’ve added a new indicator to surface more information about the current state of your application.
High Load Endpoint
The High Load Endpoint indicator signals endpoints experiencing high load. This indicator is added automatically and can be used to identify areas currently being most frequently accessed by your users.
Endpoints with the current highest loads are marked with upward chevrons
Improvements
There are a few improvements of note in this release. Namely, we’ve improved the stability of the Source++ Platform and enhanced the available functionality of Live Commands and Live Indicators. We’ve also improved the theming capabilities of the Live Command Palette, as shown below.
Command Palette Theming
Theme colors are now sampled from the active editor theme for a more consistent experience
Bug Fixes
The following bugs have been resolved in this release:
- [live-platform]: gRPC streaming issue
- [live-platform]: Issue establishing connections with Python probes
- [plugin-jetbrains]: Adding live instruments to JVM inner classes
- [plugin-jetbrains]: Auto-complete variable names on tab key
- [probe-jvm]: Java early access versions not being detected
- [probe-python]: Automatically remove expired live instruments
New Demos
To showcase the full capabilities of Source++, we’ve created new demo repositories for each supported language. These demos are available on GitHub and are designed to be easy to use and understand. We will keep these demos up to date with new features and improvements as they are released. We hope you enjoy them!
Feedback
We would love to hear your feedback on this release. Please let us know what you think in GitHub Discussions or our new Discord server. Feel free to ask questions, share ideas, or just say hi!