[ANN] CodeGlass – see what your code is actually doing

New Release: CodeGlass V2.1.0

Hey everyone,

Since our last release about two months ago, we have gotten a lot of positive feedback for which we are very grateful.
We have also been working hard with further improving CodeGlass. For this update, we focused on two specific topics: improving garbage collection profiling and continuing to merge existing tools.

Garbage Collection Improvements

One of the places we (and some of our users) felt like CodeGlass lacked was the information we could provide about a garbage collection.
Information about what objects got deallocated in each GC already helped a few people solve their issues, but many other issues were still hard to solve.
To help with finding garbage collection related issues, we added GC markers to the Code Body Reconstruction screens, so it is easier to find places in your code where a GC got triggered.
We also added the full call stack of each active task at the point where the GC happened to the Garbage Collection Details screens. This helps with getting a clear view of where each task got interrupted by the GC.
Lastly, we also updated the Garbage Collection Explorer screen. This screen used to just show a list of all GCs, but now it is a table that includes some (potentially) important statistics, so it is easier to find a specific GC that is interesting.
If you are interested in how to use these improved screens, you can read our new How To about this.

Added .NET support

As we have mentioned before, we have made tooling for multiple different languages. With our 2.0 release, we started making a system that allows us to merge all our tools into one application.
For this update, we started merging our existing .NET tooling back into this version of CodeGlass. For now, the .NET profiler supports all the basic features of CodeGlass, but the more specialized screens and features will be added back in later updates.

Other Features and Fixes

We have worked on solving many bugs and improving other features of CodeGlass. There are too many items to all mention here but here are some of the larger items worth mentioning:
We made it easier for users to access CodeGlass that is running on a different device. This is an opt-in feature, and even when enabled, all collected data is still stored on the device that is running CodeGlass.
On the Code Body Statistics screen you can now toggle to only see functions that were dynamically dispatched.
The Dynamic Dispatch and Distribution Graph screens now support switching between Data Sources. These screens now show the latest data of a recording instead of showing all data collected in the instance.
We also made some small improvements to the UI/UX, but this is still an ongoing thing we are continuously working on improving. If you have any feedback, please let us know!
Additionally, we added some settings to make CodeGlass more accessible for everyone. The first item we added is the option to change the colors that rendering screens, like the Heat Map, use. This allows colorblind people to choose colors that allow them to better read the values. We will continue to keep improving our accessibility, and if you have any issues, please let us know.
The second option we added allows you to configure things like the decimal character to better support your local standards. You can change options like the decimal character (ex. 123,45 or 123.45) and the thousands separator (ex. 1_000 or 1.000).

Pricing updates

After our initial release, we have seen and heard people’s concern about the price of CodeGlass. We are still working on figuring out a better price for every kind of user.
In the meantime, we would like to offer CodeGlass with all features for 15 euros for 3 months. This offer will be available until the end of JuliaCon (15th of august).

If this does not work for you, please message one of us.

JuliaCon

We will also be at JuliaCon this year​:blush: and will be giving a few talks including a workshop and a Birds of a Feather session where we won’t be discussing CodeGlass but talking about tooling needs in general

*FYI: Anyone can participate in the workshop, you don’t need to have a license.

Like always, if you have any feedback, or feature requests on what you would like to see in CodeGlass, please let us know.