Release Notes

Gibraltar 2.1.1 Release Notes

Article ID: R1045 Last Updated: 2/22/2010 5:32 PM
Published: 2/18/2010 8:58 PM Updated By: sysops
Summary Production Release of Gibraltar 2.1.1 with enhanced metric charting, memory monitoring, and agent notification.

Details

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.

New Features in This Release

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 Disk Counters

Previously, the Agent recorded PhysicalDisk performance counters because these are active by default back to Windows 2000.  Based on user requests and other research the Agent now records the same counters under LogicalDisk.  This works better in server scenarios that use certain RAID controllers.  Additionally, the following counters have been added:

  • % Free Disk Space
  • Avg. Disk sec/Transfer
  • Disk Reads/sec
  • Disk Writes/sec
  • Free Megabytes

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 ignores message provided to StartSession(string) method, substituting the default message instead.
  • 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.
  • Fixed:  Agent treated all threads in the same application domain with the same Thread Id as the same thread which isn't necessarily true in processes that create and destroy threads over time.
  • Fixed:  Agent PackageSendEventArgs doesn't inherit from EventArgs and should.
  • Fixed:  Agent doesn't record disk performance counters for physical disks with multiple mounted volumes.
  • Fixed:  Packager Dialog and Live Viewer don't respect programmatic configuration.
  • Fixed:  Agent for ASP.NET causes Aspnet_compiler to hang.

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:  Log Message Detail shows incorrect ordinal of log message in window title.
  • 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:  Repository doesn't correctly clean up partially recorded sessions, causing display errors if the partial record is accessed.
  • Fixed:  Changing between hub accounts doesn't remove server subscription.
  • Fixed:  Repository Viewer doesn't group computers, products, or applications that vary only by case together when populating filter combo boxes.
  • Fixed:  Analyst reports fatal error when first run in certain cultures like Russian (ru-RU).
  • Fixed:  User-defined folders in the user repository can disappear after restarting Analyst despite being still in the repository.
  • Fixed:  Application Error Details Report doesn't format problem percentage as percentage.
  • Fixed:  Product Health Analysis report doesn't format Time Used in HH:MM:SS format, leaving it in raw (total seconds) form.
  • Fixed:  Report footers don't reflect licensed user status and owner caption.
  • Fixed:  Analyst shows component trial warning dialog with some features.

Compatibility Notes

Because of the API changes, the Assembly Version for the Gibraltar Agent and related assemblies is now 2.1.1.0.  If you have references that are set to a specific version they will need to be updated to use this new assembly and then recompiled.  Any strong named assembly that references the Gibraltar Agent or related assemblies will also have to be recompiled.

Applies To

Gibraltar version 2.1.1.629

Related Documents

Download D1046 - Gibraltar 2.1.1