How Loupe Helps with 911 Calls
By Shannon McCoy, President of Greenrooms Technologies, LLC
Argh…. I have the model architected, I have the proof of concept built and working, and I am ready to deep dive and make this thing a reality. But once again here I am at the same crossroads: “how the hell I am going to log what is going on?” How many times have we all asked that question over the years? I know I have been around the block with finding the right logging solution more than once. From the printf days long ago to the Enterprise Logging Block to NLog and log4net to Common.Logging reading all the doc, making tradeoffs, trying them each out for one feature or another. I want something light and fast that doesn’t bring my software to a crawl when debug logging but also something I can watch real-time. Something that is easy enough to manage so that it won’t fill my hard drive with endless logs yet makes it easy to find what I need when I turn to the logs.
I have learned over time not to expect much more than some text files and maybe a stream to a UDP client or a db. Nothing fancy, after all its just logging right? This was where I again found myself 2+ years ago as I set off on yet another Internet search to find out what other people were doing. I had just started using PostSharp to do Aspect Oriented Programming (AOP) because the IVR I had just written was almost 1/3 redundant logging code. As I was searching for some good logging aspects I kept tripping over this Gibraltar Software site. Loupe? Never heard of it. Then I dug a little deeper and found they had a pretty cool viewer for NLog files. I was planning on using NLog, so a dug a little deeper and decided to give it a try.
The logging was simple and smooth and, best of all, they had gone to the trouble of creating full logging aspect integrations with PostSharp. On my first project with this new tool I was able to remove over 150,000 lines of code bloat. I simply attributed my class with [GTrace] and bang! — the entire class had goesintagoesoutta done, it even logged the run time duration. Nice!
Then I opened up the log viewer and WOW! On the tab for each event was the actual code my log line was on when it executed. The more I looked, the more I found. It told me everything about the machine I was running the code on. It even kept track of the performance counters during my run. Loupe paid for itself the first day I used it!
Something else I’ve discovered about Gibraltar Software — they are coder’s coders. I have used their products religiously for over 2 years and I have NEVER seen customer service like theirs. They are down to earth and accessible and responsive like no one I have ever dealt with before. Every time I have gone to them for support they help immediately, sometimes cutting me a new build within a couple days when I have found the very rare bug or needed a feature that didn’t quite exist. I immediately changed all my code and all my customer’s over to Gibraltar Loupe.
Just when you think a good thing can’t get any better these guys just blow your mind. Not only is the desktop client now free but the server version has full bug tracking with a new way at looking lifecycle management. Clean, intuitive and easy to use. They also expanded to the Azure cloud so now I can have clients all over the world logging to the cloud without worrying about VPNs and firewalls and clogging my routers with logging traffic. I had started with a just another text file log generator in mind and now I had a logging solution that is so expansive that I have yet to fully plumb the depths of what it can do. I demo it over and over to other devs and customers and each time I find new features I didn’t even know were in there. Finding Gibraltar Loupe is like tripping headlong into logging nerd nirvana. These guys live and breathe it and make it so simple to use that you can be up and running in seconds and forget about how much of your life you used to give up to logging.
I now use Loupe for all my logging and in every .NET project I even prototype for my customers. The first deployment was a custom call-center which takes over 20,000 calls a day for the most well-known and prestigious hospitals in the country and many high volume 911 services for major cities. This is not an environment where your software can fall down. Lives literally depend on your software’s ability to work 24/7/365. Call dropped on a 911 emergency call? Unacceptable. If you do have a failure you better find out why fast and fix it yesterday. This is the environment into which Loupe was dropped and it made all the difference.
Our interpreters were spread around the globe, on 3rd world internet and phone connections in every time zone. We needed to know what was happening, when it happened, and be able to trace every detail about every call. Without Loupe it would have taken months of development to come up with a logging solution that would meet the task, taking away highly need resources and costing many man-months. Yet call after call, day in and day out Loupe keeps coming through for us. Allowing us to watch real-time every agent in the system simultaneously as they worked through their day. We could tell when they did their job and when they tried to skate. We could see problems before the customers or the agents even knew they were there. Loupe was and is a life saver, in some cases literally!
We could not have pulled off that project without Loupe and the guys from Gibraltar Software. We use Loupe in our WPF client, our Windows Services, our websites and our web services. It is built into the fabric of every major part of our software now and in the future. I can’t say enough about my esteem for this product and the humble generous souls at Gibraltar. I rarely take my ever more valuable time out to write anything like this but when it comes to these guys I just can’t say enough.
Thank you, Gibraltar and Loupe. And thank you, Jay and Kendall!