logo

 

     
 
Home
Site Map
Search
 
:: Bitwise Courses ::
 
Bitwise Dusty Archives
 
 
 

rss

 
 

ruby in steel

learn aikido in north devon

Learn Aikido in North Devon

 


Section :: news and previews

- Format For Printing...

Gibraltar 2

Logging Software
Thursday 4 March 2010.
 

Software for collecting diagnostic information from remote sites.

Available from www.gibraltarsoftware.com.

Price: Hub $499; Agents are free

There are two ways to debug applications. The obvious one is to use a debugger. This is great while you are developing the application initially, but once the application is out in the wide world, it’s not too hot. How do you debug a client application in Paris if you are in San Francisco? And so, there’s a second way – ‘instrument’ the software.

‘Instrumentation’ at its simplest is scattering print statements like “I’m here” at various places in the code. More useful instrumentation records entry into methods, loading of modules and can have quite sophisticated levels of tracing that are dynamically switchable.

In .NET there actually is the basis of an instrumentation system – the Trace call. This, for example, outputs a message to the console when you’re debugging. But you can use the trace system as the basis for something far more useful – and that’s what Gibraltar does [1]. In essence, Gibraltar allows you to access any instrumentation data you’ve added to your software in simple and efficient manner – from anywhere in the world.

Gibraltar has two main components, a royalty free ‘Agent’ that is embedded in your software that links into the basic .NET trace system and generates, in essence, a trace log. Then there’s the clever bit – the ‘Hub’ that gets the data back to you either by e-mail or upload to your server. Once you’ve got it, you can either view it ‘as is’ or further process it via the Gibraltar Analyst software.

The Analyst is useful if you’ve got hundreds of logs to view and can be used to detect trends or exceptions in usage patterns, but for many applications the combination of the Agent and the Hub would be sufficient.

I have some experience in instrumentation – I’ve been a big fan of it for many years and I’ve spend a lot of time instrumenting my own software. You have to put the work in up front to add the trace calls in the source code, but once you’ve done it – I do it automatically as I write a new method – it’s there and you can forget out it. In practice, I’ve found that the trace information isn’t needed often, but, boy, when it’s needed (typically an irate customer who has paid out good cash for your product and wants a fix NOW) you’ll be very glad indeed it’s there.

Gibraltar aims to make the collection of the trace information a pain-free operation. You don’t need to tell the customer to look in some obscure location on the disk to locate the trace log – you can get it automatically. And there’s one particular feature I really like the sound of – Gibraltar tells you the configuration of the customer machine. A typical scenario is (pretty much from experience): “Ah. So you’ve installed the software on the W drive of a Windows 2000 server running under OS/2 virtualization?”. I’m sure you get the idea - and I wish I’d thought of logging the configuration.

Gibraltar doesn’t add the trace statements to your software – you have to do that. But it does make the collection of that data slicker and more professional looking. All software has bugs. But it’s the way that you handle the problems that distinguishes the great software vendors from the run-of-the-mill. When trouble strikes, Gibraltar could be a valuable diagnostic tool.

[1] Note. This article is an overview - not a review - of Gibraltar. To try Gibraltar, you may download a trial version of the software from the Gibraltar site

AddThis Social Bookmark Button


Home