Release Notes

Gibraltar 2.1.1 Beta 1 Release Notes

Article ID: R1043 Last Updated: 2/5/2010 12:30 AM
Published: 2/5/2010 12:22 AM Updated By: sysops
Summary Preview release of Gibraltar 2.1.1

Details

Beta Release

This is a Beta release to preview new functionality coming in Gibraltar 2.1.1. Full documentation is not available for new features and some aspects of the API may change before final release. This release will be supported for a limited period of time.

Prerequisites

Before installing Gibraltar, you need to have .NET 2.0 SP1 or later installed. If .NET 2.0 is installed without SP1 or SP2 installation will proceed but the application will fail to start.

Installation Notes

Uninstall any previous version of Gibraltar before installing a new version.

On computers with Visual Studio installed the installation will pause for a while at 99% while it updates the help content.  Please do not interrupt this process which, depending on the speed of your computer and how many other products have integrated with Visual Studio Help, may take from one to ten minutes.

Log Viewing Enhancements

  • Millisecond Time:  You can switch the Timestamp column to show milliseconds, enabling you to see the precise timing of events in the log.
  • Time span Indicator:  Whenever more than one log message is selected, the total time span of the current selection is displayed in the upper right of the toolbar.  This enables you to quickly determine the gap in milliseconds between two messages.

Metric Charting Enhancements

Charting of Event Metrics was substantially improved in this release based on end user feedback.  New features include:

  • Detailed Data Display:  The details of each group of data in the chart including all of the individual samples that were brought together to create that detail is instantly available in a grid at the bottom of the chart.
  • Sample Suppression:  You can suppress individual samples or whole groups of samples quickly to adjust the analysis.
  • Multiple Metric Support:  You can display multiple metrics with multiple definitions on the same chart.
  • Top Value Synchronization:  Previously if the Top records feature was enabled it was evaluated independently for each series on the chart.  Now the top is applied to the first series and only those matching groups are used in the secondary series.
  • Large Numbers of Groups:  Previously the entire set of groups for a chart were fit onto the screen at the same time, even if that meant they were displayed on top of each other.  Now the chart will scroll to respect a minimum size for each group.
  • Long Text Values:  When grouping or displaying very long text values (like long SQL queries) the chart would previously fail to display if the text couldn't be fit onto the screen.  Now it will be intelligently truncated in each display mode to ensure the chart can display, and the full value is always available through drilling into the group.
  • Show and Hide Elements:  You can control whether many of the chart elements such as titles, labels, and legend are displayed.
  • Percentile Summarization:  A new method of summarizing numerical values has been added to calculate the 95th percentile peak value.  This is particularly useful for examining duration and performance information.

Agent Log Message Alert Event

The central Log object now has a Message Alert event that will be raised every time a warning, error, or critical message is recorded.  This event has a number of safety features such as:

  • Asynchronous:  The event is raised on a background thread that is not part of the logging path, ensuring that time spent handling the event will not slow down logging or affect other threads.
  • Batching:  When a burst of messages are recorded that qualify they will typically be raised together to allow more efficient processing
  • Throttling:  A minimum delay between events can be easily specified to ensure the event isn't raised too frequently, particularly in error cascade scenarios.  Messages are batched up until the next time the event can be raised.
  • Hang Protection:  If the event handler never returns the Agent will continue to process messages and not queue them, allowing them to be released from memory.
  • Loop Protection:  Messages that are recorded by your event handler will not cause additional events to be raised.  This prevents notification loops where an event handler records an error during notification which subsequently causes the message alert notification to be raised again.

The Message Alert event is particularly useful for automatically triggering immediate data transmission in the case of an error or implementing your own error notification mechanism.  The full detail of each log message is available in the event.

Recording Detailed Memory Counters

The Agent now supports an option for gathering an extended set of .NET-specific performance counters designed to assist in tracking down memory leaks.  The set of counters included is:

  • .NET CLR Memory/# GC Handles
  • .NET CLR Memory/# Bytes in all Heaps
  • .NET CLR Memory/# Gen 0 Collections
  • .NET CLR Memory/# Gen 1 Collections
  • .NET CLR Memory/# Gen 2 Collections
  • .NET CLR Memory/Large Object Heap Size
  • .NET CLR Memory/Gen 0 heap size
  • .NET CLR Memory/Gen 1 heap size
  • .NET CLR Memory/Gen 2 heap size
  • .NET CLR Memory/% Time in GC

The option is not enabled by default.  To enable it, set the EnableMemoryPerformance option to true.

Agent Integration with Hub

The Agent now handles the scenario where a Hub has expired (either the Gibraltar Hub Service or an evaluation license for a Private Hub) and will efficiently treat it as unavailable, falling back to alternate transfer methods as appropriate.

PostSharp Enhancements

The Gibraltar Agent for PostSharp has been enhanced to provide the option to suppress logging object parameters that aren't strings.  Previously these would always be converted to a string, meaning that if they overrode ToString() to provided enhanced information that would all be recorded into the session data, often causing a significant performance issue.  This behavior is now optional and can be disabled by setting the  LogParameterDetails Property to false.  Additionally, when recording an object without details it is now recorded as the type name and object hash code, allowing the exact object to be identified through multiple calls without requiring the overhead of converting its state to a string.

Defects Fixed In This Release

This is the list of issues fixed since the last release version (2.1.0.588)

Agent

  • Fixed:  Agent can be slow to shut down if performance counters are being recorded during shutdown.
  • Fixed:  Browsing for a location to save a package to in the Packager Dialog can change the Save File Dialog path for the rest of the application.

Analyst

  • Fixed:  Displaying Top Count doesn't flow to secondary axis correctly.
  • Fixed:  Metric Chart doesn't include the top value when auto-ranging.
  • Fixed:  Metric Chart fails to display when any X axis label exceeds the chart display area.
  • Fixed:  Metric Grid fails to filter on Timestamp.
  • Fixed:  Metric Grid doesn't respect decimal settings on grouping summarization display.
  • Fixed:  Log Messages Grid doesn't correctly support filtering by less than or greater than a Timestamp.
  • Fixed:  Double-Clicking a metric chart, grid, or graph causes the pane to float which in turn causes errors in the session viewer.
  • Fixed:  Repository file size is incorrect when over 2GB.
  • Fixed:  Changing between hub accounts doesn't remove server subscription.

Applies To

Loupe version 2.1.1.606