Below is a list of some of our opinions on the differences between Prefix and Glimpse. They both have some pros and cons and help solve similar problems. We think Glimpse is awesome and you can actually use both tools together if you like.
|Project origin||Based on Stackify’s APM technology||Open source community project|
|How it works||Built on .NET CLR Profiling API and is very lightweight. No project dependencies required.||Dependency injection & lots of custom packages for various frameworks|
|Works with||All ASP.NET requests: MVC, WebForms, WEB API, WCF, custom handlers, etc||Only MVC & WebForms|
|Always on||Yes.||No. Has to be activated|
|Ease of install||Simple Windows installer, doesn’t touch your projects, config, or code.||Numerous packages & config changes possible|
|Project & config changes||None required||Requires multiple packages and config changes that if checked in would be migrated to other developers and to your servers.|
|Performance impact||Virtually none||Can slow down page loads due to the “hud” display|
|Supported libraries||30+ common .NET libraries auto-magically with no packages||Requires additional nuget packages, limited support|
|External HTTP Requests||Yes||Not Supported|
|SQL Support||Works automatically with basic SqlCommands and most all ORMs. See this blog post||Requires code changes for SqlCommands, extensions for EF|
|Exception Tracking||Automatically view all thrown exceptions||None?|
|Customization||The Stackify profiler can be configured to profile the method timings of any .NET method in any .NET assembly||Can only track performance of 3rd party projects that have created extensions.|
|Support||Supported by Stackify||Community only|
Prefix works on the .NET Profiling API. Due to this, Prefix can collect performance data from just about anything! Prefix automatically profiles the performance of 30+ libraries, including web service calls, SQL Server, Oracle, Mongodb, RavenDB, Redis, Memcached, AppFabric, MSMQ, and much, much more. Since it is based on the same technology as Stackify’s APM for monitoring server app performance, it has been well tested and is constantly being improved.
Top Pros and Cons
- Always on in the background. There when you need it to see what just happened
- Automatically collects all .NET exceptions
- Works with basic SqlCommand and most ORMs with no code changes
- Works with any ASP.NET app. MVC, WebForms, WEB API, WCF, etc
- Quick install and auto-magically works with common .NET libraries
- Compare performance from QA & prod while doing development, via APM
- Designed for development usage on a workstation. Stackify APM is available and designed for server and production usage.
- Prefix will work on a server but not necessarily very well if it has a lot of traffic. Read this help doc: Can I use Prefix on a server?
- Provides more details around app configs and current request environment variables
- Can be used outside of development on production servers with some proper configuration
- Via 3rd party extensions supports some (uncommon) things Prefix does not
- Has to be actively enabled. Can’t use on a previous request that wasn't being tracked.
- Does not support tracking external HTTP calls which is a big shortfall
- Does not work on apps without a UI?
- Doesn't support SqlCommand, must change code everywhere to proxy connections and commands
You can use Prefix and Glimpse together!
Also see this blog post: Prefix vs Glimpse: SQL Queries