You can now follow us on Twitter.

Archive for the 'SmartInspect 3.0' Category

SmartInspect 3.0 Configuration File Monitoring

Friday, July 25th, 2008 by Dennis Gurock

Just like other logging tools, SmartInspect allows you to configure logging options via configuration files. But just how useful are configuration files on a production system really, when changes are only picked up when the application is restarted?

configuration-timer

To make configuration files more useful in production environments, we added a new feature to SmartInspect 3.0 that allows you to periodically reload changes in your configuration file. Here is how it works: you create an instance of a new SmartInspect monitoring class and use it to watch for changes in a configuration file in a given time interval. Once this class detects that the monitored configuration file has been changed, it will automatically reload the file and apply the new configuration to the SmartInspect logging classes.

This is really great for systems where you want to enable or disable logging on the fly without restarting them (think about web applications and similar server systems). With the new configuration file monitoring class, this has become a lot easier. You just need to change the configuration file and SmartInspect will automatically reconfigure itself.

Also, remember the session configuration support in yesterday’s posting? By combining this with the configuration file monitoring, SmartInspect 3.0 will also allow you to dynamically configure and update your sessions. One interesting use case of this feature is to temporarily enable logging for a specific application module or user session that you want to diagnose.

Next in our series on new SmartInspect 3.0 features is the new protocol support for asynchronously logging.

SmartInspect 3.0 Session Improvements

Wednesday, July 23rd, 2008 by Dennis Gurock

sessionsThis is the first part of a series showing some of the major new features and improvements of the upcoming SmartInspect 3.0 release. Yep, that’s right; SmartInspect 3.0 is coming very soon now! As with the previous major release, it will contain quite a few new features that are directly based on customer feedback. We are really grateful for all the feature requests, bug reports and ideas for improvements that we received over the years. Without them, SmartInspect wouldn’t be near as good or complete as it is today.

The first improvement I would like to write about is actually not a new feature. It’s more like a set of several enhancements to the existing SmartInspect session concept. Back then in 2003 and 2004 when we first planned which features SmartInspect 1.0 should shave, we quickly agreed that we should provide users with a way to group and categorize related log messages. We have chosen the session concept because it’s a) easy to understand and b) maps very well to existing related concepts such as user sessions in web applications.

In retrospect we are happy that we went with sessions for two reasons. First, sessions turned out to be one the key features of SmartInspect. Although sessions are a somewhat advanced feature that new users often ignore (which they easily can, because they don’t have to care about it when they are learning SmartInspect). But once they are getting used to it and are using SmartInspect in more complex applications, they quickly see the advantages of sessions over other logging concepts.

The second point is a bit more technical. Since the entire library design relies on sessions, it would have been difficult to integrate sessions at a later point without breaking existing customer code. And because you should be very careful to not break existing customer code with a new version of a dev tool, we are glad that we got the basic library design mostly right in the first attempt.

Although we got most of the design right, there were a few missing features. The first new feature in SmartInspect 3.0 regarding sessions is the new log level support. This is probably the most often requested session related feature that we incorporated into the new version. Log level support for sessions means that you are now able to configure log levels on a per-session basis. This allows you, for example, to only log errors and warnings in your application, except for your database module where you want SmartInspect to generate a very detailed log (e.g., for debugging or auditing purposes).

session-config

Another improvement in SmartInspect 3.0 is the new ability to configure sessions via SmartInspect configuration files. This allows you to enable, disable or configure specific sessions without recompiling your application. This can come in very handy if you have to dynamically enable or disable logging for certain application modules on production systems or at customer sites.

The last new session enhancement is the support for so-called session defaults. Session defaults let you specify default values for session attributes like the Active status or the background color of log entries in the Console. This is very useful in situations where you are working with many sessions and need a way to change the base settings of all instances.

We will introduce other new features and improvements of SmartInspect 3.0 in the next few days here on our blog.

New SmartInspect EAP Versions (and the SmartInspect Router)

Saturday, June 14th, 2008 by Tobias Gurock

We’ve released two new EAP versions in the last few days. On Thursday, we released the 3.0.2 EAP which fixes a few problems in the Console/Configuration Builder (most of the Console bugs were related to the shutdown behavior and pipe server). And a few minutes ago, I uploaded the new 3.0.3 version which introduces a new SmartInspect service application called the SmartInspect Router. From the docs:

The SmartInspect Router is a Windows service application which can receive SmartInspect log packets via TCP/IP or named pipes and routes them to different log destinations. The supported log destinations are the same as those from the SmartInspect libraries, namely log files, TCP/IP or named pipes. Two typical uses of the SmartInspect Router are to combine multiple client logs into a single log file and to collect logs in a central location. The SmartInspect Router is intended to provide a common logging infrastructure for distributed systems, multi-process applications and web applications.

Since SmartInspect is used more and more for web applications and distributed systems it became clear that we needed a server application that can receive logs via TCP/IP or named pipes and stores them in a central location. Many customers have expressed their need for such a solution.

We began work on the SmartInspect Router a few months ago and are happy to finally release the first version in this EAP. After installing the new EAP version, you can find the setup of the SmartInspect Router in the deploy directory of your SmartInspect EAP installation. The SmartInspect Router can be configured with a simple XML configuration file (please see the included help for details).

Releasing a completely new application is always a challenge and there might be a few things that don’t work correctly. If you encounter a problem with the SmartInspect Router, we would appreciate a comment in our SmartInspect EAP forum.

SmartInspect Early Access Program

Thursday, April 24th, 2008 by Tobias Gurock

SmartInspect EAP

Every now and then we get questions about beta versions or technology previews of upcoming SmartInspect releases. So far, we have been hesitant to release beta versions. But in order to become a bit more transparent in what we are working on for SmartInspect, we decided to start a SmartInspect Early Access Program (EAP). In this EAP, we will provide interested customers with technology previews and beta versions of SmartInspect. We plan to release new EAP versions on a frequent basis.

To download EAP versions of SmartInspect, you need to have a customer account on our My Gurock.com customer portal and an active SmartInpect support plan. After logging in to My Gurock.com, you should notice a new menu item called “EAP” with the latest EAP releases. Note that EAP versions might include incomplete or buggy features and/or might not work as expected. They haven’t gone through the entire QA cycle yet and are only provided for testing purposes. These versions are not intended to be used on production systems and are therefore not fully supported.

What’s new in this EAP version?

The first version of the EAP is a preview version of the upcoming SmartInspect 3.0 major release. Please note that this EAP release is not a feature-complete preview version of SmartInspect 3.0. It contains most major features of the upcoming major version but lacks several smaller features which will be added over the next few weeks. We will post more about the 3.0 version soon. Here is a short list of new major features that are already available in the first EAP release:

  • New named pipe protocol: The new named pipe protocol is the new default protocol instead of TCP/IP and provides a great performance increase for local live logging. Also, since it’s very fast to test if a pipe is available, automatically reconnecting is really useful for production systems now. This means that you can start the Console when your application is already running and you will immediately receive live logging packets.
  • Improved SmartInspect sessions: It is now possible to specify log levels on a per-session basis. Sessions can now also be configured via SmartInspect configuration files. This is really great for production systems like ASP.NET applications, as you can now enable or disable logging for specific users directly via config files.
  • Support for log file encryption: SmartInspect now supports log file encryption. You can specify an encryption key for log files in the SmartInspect libraries and the logging data is automatically encrypted with AES. This feature can be useful if you log sensitive information that has to be protected.
  • Asynchronous logging: You can now specify for each logging connection if you want to log asynchronously. The libraries will create a (configurable) buffer and process logging data in a separate thread. This feature is very useful for high-performance production systems or for logging via TCP/IP with regular reconnects.
  • Configuration timer: The new configuration timer allows you to automatically reload SmartInspect configuration files when the config has changed. This allows applications to pick up logging configuration changes without the need to be restarted.
  • Sorting of packets: An often requested feature is the ability to merge log files based on the timestamps of the log packets. The SmartInspect Console now supports this with its new Sort feature.
  • Improved Console navigation: We also added new navigation features to the Console like Go to Time, Synchronize and back-/forward actions.

There are other new features that are not mentioned in the list above. Please refer to the What’s New section of the online help for a complete list of new things.

Installing EAP and official versions side-by-side

It is generally possible to install EAP and official releases on the same machine, but please be aware of the following issues:

  • You should install EAP releases into a directory different from your official SmartInspect installation. Doing otherwise overrides your existing installation.
  • Do not activate the IDE library integration in the EAP setup if you plan to further use the official versions of the libraries. Doing otherwise can override your existing integration.
  • After installing an EAP release, double-clicking log files in the Windows Explorer opens them with the new EAP versions of the Console (same for config files and the Configuration Builder).

To avoid the possibility of interfering with an existing installation altogether, it is highly recommended to install EAP releases on virtual machines only. Please note that you can reuse your existing SmartInspect 2.x license key for this EAP version.

Will SmartInspect 3.0 be free for existing customers?

If you have an active support plan when SmartInspect 3.0 is released, you can download and use the new SmartInspect version without paying any upgrade fees. And because every SmartInspect license already includes one free support plan year, you will get the 3.0 for free if you purchased SmartInspect recently (or if you plan to purchase new licenses now). If your support plan expired, you can renew your support plan by logging in to My Gurock.com.

Providing feedback

If you are experiencing problems with this (or a future) EAP version or if you have suggestions or feature requests, please post them it in the related forum or email us. We would really love to hear your feedback!