Archive for Hub
Gibraltar 3.0 Released
Posted by: | CommentsWe’re thrilled to announce the release of Gibraltar 3.0! It’s been three betas and a release candidate, along with a number of private betas but finally we’re ready to release the hounds. You can jump strait in and download it now, or read on for what’s new in 3.0.
What’s new since Gibraltar 2.5? A lot:
- Super Sized Session Handling: Edge to edge we’ve focused on long running processes, really large log files, and all the implications of this.
- Real-time Log Viewing: You can see what’s happening within Windows services & web sites in real time, faster than anything else on the market!
- Hub Support for SQL Server: You can store index data for the Hub in SQL Server for better scalability and reporting options.
- Dramatically Smaller Files: We’ve deeply dug into our log file compression and found ways to reduce files by 70%.
- Analyze Session Summaries: The built-in pivot table and chart in Analyst can slice & dice session summary information to spot all kinds of trends across all of your data.
- Categorize Sessions by Environment and Promotion Level: Go beyond Product & Application to separate data based on where it was run or the status of the release.
- Hub Synchronization Options: Save hard disk space on your workstation by downloading sessions on demand.
- NuGet Packages: You’ll find all of the various agents for Gibraltar are now available on NuGet, and it’s a great way to stay current. Any package published under “Gibraltar Software” is official and supported.
- Mono Support: You can now use the Gibraltar Agent with recent versions of Mono.
- 64-bit Analyst: Analyst can now take advantage of all of the memory you can find. We’ve made a number of changes to reduce how much it uses just the same.
That’s the highlights, but there are a hundred changes in the detail. The big thing they add up to is we’ve aggressively tackled issues that prevented data from getting from Agent to Analyst. We’ve combed through our CEIP data to make sure we could deliver on the promise that it all Just Works.
You can read about more of the details in What’s New – Gibraltar 3.0 (from our documentation).
Upgrade Options
If you have active maintenance on your Gibraltar licenses then you’re free and clear, just download it and go. Since it’s a major release it’ll activate, so you’ll want to install it when you’ve got Internet access.
If you don’t have active maintenance, contact us for the right upgrade pricing. Depending on when your maintenance expired you’ll need to purchase the right version upgrade and then you can re-enroll in our upgrade assurance program to get the next 12 months of updates for free. You’ll want that, because we have a lot up our sleeve!
What’s Next?
We’ve bee eagerly waiting to ship 3.0 so we could dig into the next development cycle. We expect to ship Gibraltar 3.5 later this year and another update in the winter. Each of these will build on Gibraltar 3.0 and are designed to help you get a lot more from the data you’re already collecting. So, it’s a great time to upgrade to 3.0!
Gibraltar 3.0 RC – Ready to Rock
Posted by: | CommentsWe’ve shipped Gibraltar 3.0 RC1, the release candidate build of Gibraltar 3.0. This is our last planned build prior to the Release To Web (RTW). Compared to the last beta we’ve incorporated a range of defect fixes from our CEIP data as well as performance improvements just like you’d expect. Beyond that, we’ve incorporated several improvements that our beta community felt were critical enough to warrant making changes late in the development cycle.
To download the latest build, we recommend you go to the Version History page and pick the top version under Other Version Information. As with previous betas, you can use this with any valid Gibraltar license key (trial or unrestricted). You will need current maintenance on your unrestricted key. If your maintenance has expired, contact us and we’ll get you set up to try out this latest version and discuss your upgrade options.
Working Fluidly with Sessions
Talking with the beta community we’ve seen that people are able to really take advantage of the scalability improvements in 3.0, in particular opening dramatically larger session files and keeping much larger repositories. This created a few new feature requests we’ve managed to slide in for the release candidate:
- Independent Session Display: With larger sessions and repositories it was understandable but annoying when UI updates would pause the entire application. We’ve separated out the user interface threads so each session viewer and the repository viewer have their own, keeping them from interfering with your work.
- Selective Session Download: You can pick individual session(s) to download data for immediately and they’ll copy down right away without blocking you. This is particularly useful if you want to download a large session to complete analysis on it or view later but don’t want to open it right now.
- Parallel Download: When you have Analyst set to download all session data automatically it used to first download summaries then full data. If you had a lot of data that meant you weren’t seeing the latest session headers until it completed downloading the backlog of data. We’ve made these two operations independent and done other optimizations so you can see the latest session information right away, no matter how long it’s been since you ran Analyst.
We also found out from beta users that in the real world they would frequently try to open sessions that didn’t have any local data and the way the system acted (displaying a modal message box) was not very friendly. As part of making the session display independent we’ve improved how it checks and downloads data to work in the background so it doesn’t interrupt your workflow. Instead, you’ll see a warning in the status bar
Fortunately, we’ve also found a number of cases where session data should have been available but wasn’t. We’ve gone through the CEIP data from beta users as well as our own test cases and weeded these cases out. When the session data is available, you’ll see the progress of it opening the session in the status bar instead.
Live View Changes
Earlier betas had two ways of displaying live sessions – there was a tab on the repository viewer and you could double-click a session to open it into a live view like a local session. Displaying the live data in the tab had several problematic side effects – it was easy to open many data streams unintentionally by cycling through the session list with the live data tab active and there was no way to let Analyst know to close them. Additionally, it caused the available space for the list of sessions to be very small.
Talking with a few users that are really taking advantage of live view we determined it was better to provide more space for the list of sessions and make it more explicit when the full stream is opened and closed. With the latest build we’ve changed it so a new live stream is established when the live session view is opened and it’s shut down (all the way back to the original agent) when the live session view is closed.
Faster, Scalable Analysis
With it being easier and easier to get larger sessions through Gibraltar we’ve had to make upgrades across the board. One place we’ve improved for 3.0 is how Analysis is performed. Previously, it would load all of the available data in memory and analyze it together. Conceptually this was the simplest and fastest approach, but it has two problems:
- Sessions have to fit into RAM: If you had a large enough session, it might not actually fit into available memory when loaded all at once.
- Memory was Thrashed: Even when you have a lot of memory it takes real work and can make your application unresponsive if it’s being allocated and freed by the Gigabyte.
Notifications are Back
Previous 3.0 builds didn’t support Hub notifications, either editing them or processing them. This functionality is back and better than ever in 3.0 thanks to our new session analysis approach that minimizes duplicate analysis when used with a 3.0 Agent.
If you’ve never used notifications, or were discouraged previously because they weren’t fast enough you should give them another look. With the combined changes in Agent and Hub the time between when something happens and when you get the email is a lot shorter, even under load.
As before, it’s still smart enough to group problems together so you won’t get spammed with email yet it focuses on getting events out as quickly as it can. You can choose to get HTML-formatted messages (like the one shown on the right) or plain text.
Ready to Use with the Hub Service
We’ve upgrade our public hub service (hub.gibraltarsoftware.com) to a 3.0-compatible build so you can freely use it with the Release Candidate. We’d encourage you to give it a try because the difference, particularly for web applications and services, is amazing. We’ve been internally using 3.0 for some time- tracking pretty closely to our nightly builds. Some of our largest customers have been using it live in production since Beta 2.
We’re confident enough in this build that we’re providing full production support for it – if you use it in production, we’ll provide you with the same support we do for a full release. So go ahead and use it!
From Here to RTW
What’s left before Release to Web (RTW)? Not much. We’re down to:
- Documentation Upgrades: We’re going through the documentation looking for any content that might be out of date and extending it to cover new features.
- Packager Improvements: To help with .NET 4.0-only deployments we’re creating a new .NET 4.0-only packager. This will have a different file name so it doesn’t conflict with the .NET 2.0 packager.
Other than that, it’s really up to you – let us know your feedback so we can be sure we’re on the mark and ready to go.
Gibraltar 2.5.1 Release
Posted by: | CommentsWe’ve just published Gibraltar 2.5.1, a cleanup release that includes fixes to issues that have been reported since the introduction of Gibraltar 2.5 and a few key enhancements. While the issues discovered were minor in the big picture, they each were significant to some of our customers and we wanted to get fixes into their hands while we continue developing Gibraltar 3.0. For a complete rundown of the defect fixes see the release notes.
There are three functional changes to Gibraltar which is why this earned the 2.5.1 label instead of just being a new build of 2.5.0:
- Automatic Send Sessions on Exit: Now if you have Hub integration set to automatically send sessions it will automatically also enable SendSessionsOnExit to ensure the session is sent as soon as the process ends.
- Metric Data is exposed to Add Ins: You can now access all of the metric data recorded in a session both in raw form and through the same basic analysis capabilities used by Analyst. This feature wasn’t quite ready for 2.5 but we didn’t need to hold it for 3.0.
- User Opt In Control: WinForms and WPF applications can take advantage of our built-in user opt in management to ensure only users that have explicitly elected into your CEIP.
Additionally, we’ve included integration with NLog 2.0 which, while still in beta, has picked up a lot of interest. We’ve validated this already with customers through support tickets but wanted to get it in the box as quickly as possible.
Automatically Send Sessions on Exit
Previously the Agent had two separate features that really didn’t work together – automatically sending sessions in the background to the Hub and sending sessions on exit. While it made perfect sense to us internally that they were independent (and were introduced at very different times) we could tell from the questions and support tickets we got that didn’t work for anyone else.
Most customers that use the auto send sessions feature with Hub were manually setting Send Sessions on Exit through code. This still wasn’t optimal because sending sessions this way prevented them from being pruned immediately upon confirmation (since that feature was integrated exclusively with auto sending). Additionally, it ignored whether there was another active process sending sessions to the same hub that could have sent the session more efficiently.
With this release we’ve integrated the two features together so if you enable automatic transmission of sessions to Hub it will implicitly perform a send session on exit if there is no other active agent sending sessions to the hub. Unlike when you explicitly request to send sessions on exit this method won’t use email and won’t log anything if it can’t (typically because the Gibraltar.Packager utility wasn’t distributed with your application). In the end, this will help hub integration just work for you.
This new capability doesn’t interfere with any other use of Send Sessions On Exit, so you don’t need to remove any code that you may have that sets that explicitly; it’s just redundant.
Metric Data Add Ins
We had originally intended this to be part of 2.5.0 but it was deferred because we weren’t happy with the API. With this new capability you can access all of the raw data for performance counters, sampled metrics, and event metrics that are recorded in your application. You can also access some of the built-in analysis capabilities used to create metric charts and grids.
We know that most customers are just starting to consider what they would do with the Add In API and hadn’t gotten deep enough into it to think through doing their own custom metric analysis but a few have come up with some very interesting use cases. Our goal always was to make sure you could export every inch of your data out of Gibraltar into another system for whatever purpose you have in mind – and we wanted to make good on that goal as soon as possible.
One customer with access to a beta wrote an add in that automatically analyzed stored procedure performance within their web application to identify queries that were either slower than the goal or had a significant change in performance. This helped them keep their database developers focused on the highest value optimizations without relying on customers telling them things were slow.
Another customer wrote an add in to track the usage trends of individual web site users to recognize how many distinct users they had each day and how long they worked with the application. They then created reports identifying people who’s habits changed so these could be looked into proactively before a dissatisfied customer became a former customer.
User Opt In
In many cases it’s a great idea to have end users explicitly opt in to your Customer Experience Improvement Program (CEIP). This ensures that they know their information is being sent, what you are going to do with it, and are comfortable with the process. You can see an example of this in Gibraltar itself – the same facility is used to allow you to opt in or out of our CEIP.
We’ve exposed the facility we’ve been using all year in Gibraltar so you can use it in your application. It supports prompting users only a limited number of times when your application starts up to make a decision and ensuring that whatever decision they make (or change) it’s respected promptly. It’s fully integrated with the automatic session transmission feature so it just works.
Other Minor Changes
Hub Performance and Scalability
The primary design goal of Hub was to not cause a problem when used over slow network connections. Unfortunately, the design did this at the expense of speed & efficiency when used over a fast connection. The previous release was limited to about 3Mbps on most hardware which meant transfer times for large sessions inside data centers were excessive. With this release we’ve radically reduced the overhead of these fast transfers without sacrificing recoverability or low bandwidth safety, allowing you to run up to essentially wirespeed.
We also identified a weakness in how the hub server and background processing service interacted that caused problems when the background service was busy analyzing a large number of sessions and addressed it. The good news is that we run our hosted hub service at a scale much larger than most of our customers so we tend to see limitations first and are able to analyze them deeply to make sure we find the right fixes. We also partner with our highest volume customers to ensure we find other issues that don’t happen in our environment.
You’ll find that this release uses significantly less memory for analyzing sessions and can process large numbers of sessions as well as large sessions much faster. It also uses less disk space, particularly for larger repositories due to a change in how we manage cached files.
License Activation
We’ve made a change to the licensing system to be less insistent on activation when version numbers change. For example, if you’ve already installed a release of Gibraltar and have active maintenance you won’t be prompted to reactivate when installing this release. We recognize that activation ranges from a mild annoyance to a serious inconvenience and wanted to find a better way.
What’s Next?
The next planned release is Gibraltar 3.0 which we expect to ship during the first quarter of 2011. There are a number of big items on tap for this release, justifying its major number change. If you’re a Gibraltar customer, contact us through support and we’ll be glad to discuss the roadmap with you and get your input to make sure we keep delivering the best value going.
Gibraltar 2.1.1 Released
Posted by: | CommentsWe’ve published Gibraltar 2.1.1, you can download it right away. There are a number of great enhancements in this release. We’ve already covered a few of them before:
- Metric Analysis Enhancements: Tease out useful information from metrics even with large samples or odd values.
- New Agent Message Alert: Easy ways to monitor all of the messages flowing through the Gibraltar Agent and take actions.
Based on feedback on the beta release we’ve added some additional capabilities:
- Send Session Now: If you subscribe to the Message Alert event you can send the current session immediately to the Hub or Email based on the current configuration by setting one property. Check out the code sample to see how.
- Easy email notifications: You can leverage the same email configuration the Agent is configured with to send messages within your application for any reason.
- Anonymous Data Collection: Session data can be anonymized during collection so no personally-identifying information is sent to you. Just set one option and you’re good to go.
- Detailed .NET Memory Counters: You can now enable detailed memory performance counters that monitor the .NET CLR’s garbage collector and memory monitoring. Very useful for monitoring for memory leaks in production applications.
- PostSharp Enhancements: We’ve made argument tracking more sophisticated so you can do more without compromising the performance of your application.
We also fixed a number of defects (23) that mostly apply to edge cases, but no defect is minor when it affects you. In particular, our CEIP identified a error on first time startup in several cultures that prompted users to restart Analyst. Ouch. Fortunately we were able to figure it out and fix it. We addressed Thread Ids too.
Hub Subscriptions Live Too
On February 15 the Gibraltar Hub Service is fully live. You can get a free 30 day trial and then if you like what you see you can subscribe for terms from 1 month to one year at a scale that works for you – from a single laptop up to your whole large team. There’s no long term commitment, and you can even easily migrate from the Hub Service to your own private hub down the road if you want to.
This Release Made Possible By People Like You
We say it all the time, but this release in particular was driven entirely by end-user requests. We’re working on the next major release of Gibraltar but we stepped back and wanted to address requests from our customers and a few prospects as well. When you read the list of everything we’ve done, other than a few defects we found internally and through the CEIP this is based on what our customers felt was most important. Are we missing something you need? Let us know: we’ve proven we listen again and again and again.
You can read a thorough list of the new features, defect fixes, and changes at What’s New in Gibraltar 2.1.1.




