Home

HomeContact UsSite Map

SolutionsNews and EventsPartnersServicesAbout Us


























AppMetrics Resource Center - FAQ's

Background — answers "what"

Installation— answers "how"

SQL Server | MOM | W2K3 | .NET | VMWARE

Product Comparisons — answers "why"

Older Issues

Background

What is AppMetrics?

What applications does Xtremesoft's AppMetrics monitor?

What platforms are supported by AppMetrics?

What parts of Windows 2000 and Windows 2003 does AppMetrics monitor?

Are source code modifications required?

How do I access AppMetrics on my network?

Does AppMetrics integrate with my existing enterprise management system?

How much load does the AppMetrics agent place on my application server while in production?

Can I detect component memory leaks with AppMetrics?

Do AppMetrics products run on Microsoft’s Windows 2000 Datacenter Server?

Installation

How can I use AppMetrics to handle hung components and applications?

What networking protocols does AppMetrics need to function? Will AppMetrics communication work across a firewall?

I have received the error "These console files saved with an earlier version of the MMC, do you want to update to MMC version 1.2 format?" What should I do?

How does AppMetrics allocate percent of CPU in a monitored multi-processor server?

When running reports for the first time I get an error "no data from machine has been loaded".

When running a Production Monitor and having the detail at "component" or "component and method", how come I can't see any data for transactions or components with COM+?

How do I control the size of the AppMetrics databases?

What kinds of credentials do I need with AppMetrics?

How do I access a AppMetrics database from another machine that is behind a firewall if I want to run AppMetrics reports remotely?

Is there any alternative gui from excel like a web client? Or excel reports that we can distribute to stakeholders?

How can I use AppMetrics between two domains that don't share a Trust Relationship?

How can I use the Custom Component notification feature of AppMetrics?

Do you have Sample reports I can look at?

When I try to create a monitor with AppMetrics I get the error: Create database for monitor "monitor_name" failed. What should I do?

SQL Server | MOM | W2K3 | .NET | VMWARE

How to change Server Role settings for the AppMetrics user account in SQL Server 2000 and Server 2005?

Can AppMetrics be used with SQL Server 2005 Express?

The DBAs want to keep control over all of the SQL Server Databases - how can I accommodate them and use AppMetrics?

If I want to send AppMetrics alerts to MOM, does each machine running the AppMetrics agent, require a Management License for MOM?

Does AppMetrics support Windows Server 2003?

I am using Windows Server 2003, but I am getting the following entry in the Windows Event Viewer: "The COM + run-time environment has detected an inconsistency in its internal state". What does this mean?

Why don’t I see the Client IP or ASP URL in the AppMetrics Reports with ASP.NET applications? I saw them with my ASP applications?

Why don’t I see any activity when monitoring one of my COM+ Applications that uses .NET Serviced Components?

What are .NET Serviced Components?

When using AppMetrics to monitor .Net Serviced components on Windows Server 2003, I do not see the Serviced Component’s method calls that I expect to see.

Can AppMetrics help me as I begin to migrate to .NET?

Does AppMetrics report correctly when VMWare is in use on a server.?

Product Comparisons

Can you differentiate Xtremesoft's AppMetrics from Identify's AppSight for me?

Why do I need AppMetrics if I already have Application Center 2000?

Older Issues

What value does ATX bring as I convert from MTS to COM+?

My application under MTS supported lots of concurrent users. Under COM+, it is thrashing with a similar number of users. Was this caused by the migration from MTS?

I had serious application issues on MTS, but on first impressions these issues are mitigated when it's running under COM+.

I am told that all my application issues will go away when I move to COM+ and Windows 2000. I am wary of that claim but will I still need a tool like AppMetrics?

The number of outages and the length of time of the outages have both decreased significantly, since we moved to COM+. This has shifted our priorities, at least until the next major outage! This isn't the right answer is it?

I thought when we moved to COM+ that our issues would go away forever; furthermore, if problems do arise, doesn't COM+ provide more visibility into what's going on inside my application than MTS did?

Can Xtremesoft provide any services to help me with the MTS to COM+ transition? And how much are they?

Does AppMetrics SNMP alerting share the same vulnerabilities listed in CERT Advisory CA-2002-03

I have installed AppMetrics correctly on my Windows NT 4 Manager machine, and created a monitor correctly. Why can't I see any metrics?

How does AppMetrics work with NT 4.0 for workgroups instead of a domain?

I am running NT4.0 and a Novell network. When I try to start up the monitor I am getting an error that tells me "Access Denied"?

Background

What is AppMetrics?

Xtremesoft AppMetrics is a product designed to manage, monitor and measure applications. Depending on the stage of an application's lifecycle, AppMetrics will deliver statistical information (metrics) that provide an early warning system, production reports, diagnostics and capacity trends for COM+-built applications.

Back to top

What applications does Xtremesoft's AppMetrics monitor?

AppMetrics monitors applications that are running in the Transaction Services that are part of the Windows COM+ infrastructure.

These applications can be packaged applications designed for use on these platforms, or applications written in-house by a corporate IT group.

The applications must be registered with COM+, but need not be marked as "Transactional" for most of the metrics. To track aborted transactions, one must mark the component as transactional

Back to top

What platforms are supported by AppMetrics?

AppMetrics supports Windows 2000 Server and Windows 2003 Server

Back to top

What parts of Windows 2000 and Windows 2003 does AppMetrics monitor?

AppMetrics focuses on the logic tiers of multi-tier applications. Typically, a three-tier application has a web browser in the first tier, business logic in a middle tier, and a database or legacy system as the third tier. Unlike system monitoring products, AppMetrics examines what's happening with the application. Instead of obtaining metrics on system data such as network traffic, AppMetrics helps you assess how successfully your business is being transacted by monitoring the activities of components registered with COM+.

Back to top

Are source code modifications required?

No modifications to the application are required for COM+ or MTS components.

For .Net Serviced Components, some attributes may need to be set to public in order for those components to be monitored. These are minor changes. Please refer to the .Net Serviced Component guidelines in the Installation Guide (Chapter 6, page 41) for more information.

Back to top

How do I access AppMetrics on my network?

AppMetrics provides an Microsoft Management Console (MMC) user interface, making it accessible remotely on your network. System management information is easy to access, easy to understand, and most importantly, easy to act upon.

Back to top

Does AppMetrics integrate with my existing enterprise management system?

AppMetrics can be used as an integral part of your enterprise management architecture and strategy. The product integrates seamlessly with most commercially available enterprise application frameworks.

For those using NetIQ AppManager for system management, AppMetrics offers out-of-box integration allowing them to use the AppManager Console to alert, report, and store data for important mission critical metrics.

Users developing in-house management solutions can integrate with AppMetrics by querying against a fully documented database schema.

Back to top

How much load does the AppMetrics agent place on my application server while in production?

Xtremesoft AppMetrics utilizes an Agent/Manager architecture that is designed to minimize impact on system resources.

The AppMetrics Agent resides on the COM+ server, where it collects data and routes it to the AppMetrics Manager. We have surveyed customers, and they report little impact from the AppMetrics Agent on their production applications.

The AppMetrics Manager resides on a separate machine, away from production servers. The AppMetrics Manager undertakes the data analysis, alerting, reporting and interpretation functions on its own, non-production machine.

When diagnostic detail is required, an authorized user can increase the amount of data the AppMetrics Agent collects in a controlled manner, one component at a time. The impact on the system during problem resolution can vary significantly, depending on the number of users, the number of components, and the relative length of each method call to the mix of calls. However, by ensuring precise control, problems are resolved efficiently while the impact to the system is low.

Back to top

Can I detect component memory leaks with AppMetrics?

Yes. This is the process used to detect component memory leaks:

  • Create a COM+ Server Application for each of the components currently residing in the COM+ Application exhibiting the leak.
  • Next, move each component to a one of these separate COM+ Applications. In other words, each component lives in its own COM+ Server Application.
  • Create a Production monitor in AppMetrics and configure it to monitor all of these new COM+ Applications.
  • Important: Set the Production monitor to "Component" level detail, NOT "Component and Method" detail.
  • Start the Production monitor.
  • Run some load against the business application for a fixed period, say 15 to 30 minutes.
  • Rotate the log files in the Production monitor.
  • Open the AppMetrics reports, specify the Production monitor and the period when it was active, click the reports tab, and then click "GO".
  • Switch to the Applications sheet.
  • Observe the Memory columns in the tabular data set at the bottom of the report.
  • Focus on individual Applications by selecting them in the floating picker dialog and clicking "Refresh".

--> Charts for Applications that are leaking should display a linear rise.

Back to top

Do AppMetrics products run on Microsoft’s Windows 2000 Datacenter Server?

Xtremesoft’s AppMetrics has not been tested on Microsoft’s Windows 2000 Datacenter Server. However, this can be done at your site for an additional Quality Assurance fee. Please contact your Xtremesoft Sales Representative or sales@xtremesoft.com for the latest information about our AppMetrics products.

Back to top

Installation

How can I use AppMetrics to handle hung components and applications?

Instructions for how to handle Hung Components and Applications

What networking protocols does AppMetrics need to function? Will AppMetrics communication work across a firewall?

AppMetrics uses the DCOM (distributed COM) protocol to communicate. Testing and configuring DCOM to work across a firewall requires the following:

  • Basic IP connectivity. Test this by ensuring that you can PING the Manager from the Agent, and the Agent from the Manager.
  • DNS/Netbios connectivity (needed when entering a 'pretty name' in the Manager configuration). Test this by PINGing the Manager with its computer name from the Agent, and PINGing the Agent with its computer name from the Manager.
  • DCOM port configuration. DCOM uses TCP port 135. Test that DCOM is using TCP as its default protocol by launching DCOMCNFG from the Windows command line, navigating to the Default Protocols tab, and selecting TCP as the highest order default protocol.
  • DCOM can be restricted to a user-specified subset of ports for its machine-to-machine communication. This minimizes the number of ports that need to be opened on the firewall. See Microsoft's White Paper Using Distributed COM with Firewalls
  • AppMetrics uses two dynamic DCOM ports per monitor, and two dynamic DCOM ports for the console. Therefore, you need to reserve at minimum four DCOM ports in order to run one monitor, and a set of two more for each additional monitor.

Back to top

I have received the error "These console files saved with an earlier version of the MMC, do you want to update to MMC version 1.2 format?" What should I do?

This error indicated that your MMC is a newer version than that in which AppMetrics created its MMC files. These MMC files were created in an older version to meet ‘lowest common denominator’. Click the OK button to this message, because there is no reason not to upgrade.

Back to top

How does AppMetrics allocate percent of CPU in a monitored multi-processor server?

AppMetrics will average the CPU utilization across all processors in the server. For example, if AppMetrics determines that package/application Foo is using 60% of one processor in a two-processor server configuration, it will average this utilization across all processors (i.e. divide by two) to yield a CPU percentage value of 30%.

Back to top

When running reports for the first time I get an error "no data from machine has been loaded."

What happens is the agent collects the data and sends it over to the manager, which keeps the collected data in log files. The default to upload this data into SQL Server is every fifteen minutes. If you would like to see this data sooner you can go to the "Logging Options" in the user interface of the monitor in question. There is a button called "Upload the AppMetrics Log files to the Database Now". If you click this button then all the data collected up to that point would then be uploaded into the SQL Server database.

Back to top

When running a Production Monitor and having the detail at "component" or "component and method", how come I can't see any data for transactions or components with COM+?

One thing to look at is whether the components of your application supports events and statistics. In order to do this you have to go into component services on the agent machine and open up the application that you are monitoring.

Open up the components in that application, and right click a component and go into the properties. There is an "activation" tab. click on that and then check to make sure the "components supports events and statistics" is checked. If it is not check it and click "apply". This change will not take effect until your application is shutdown and restarted.

Back to top

How do I control the size of the AppMetrics databases?

There is no easy answer to this question.

The size of your database depends on what is being monitored, for how long, how many applications, how many components per application and the detail requested. The eventing system generates a massive number of events per physical transaction, sometimes of the order of ten to one, so the only answer is to focus the requests as tightly as possible. Our field techs are experts in helping you in this area.

In general the lower detail results in smaller volumes of data. So that:

  • Aggregate - least amount of data
  • Component - more than aggregate but less than component and method
  • Component and method - Collects the most data for production monitor

The Diagnostic monitor collects all it can for everything it is monitoring and cannot be changed. In general time control is the major control.

Each one of these is a contributor to the size of your database

In the configuration of the monitors (Production and Diagnostic) you can configure the database for how many days of data to keep in the database. Once the data has reached that limit then the oldest days data will be purged from the database before the new days data is uploaded. At that time the database should not change in size and should be consistent.

Xtremesoft suggests collecting data for a specified amount of time to get an idea of how YOUR monitoring will affect the size of your database and then plan accordingly

Back to top

What kinds of credentials do I need with AppMetrics?

You can use either Windows or SQL Authentication for db operations. You will be asked during setup for either Windows or SQL authentication credentials to set up the SQL Server environment.

You will also be asked during setup for a password for the ‘AppMetrics’ user, which will be a SQL account. The AppMetrics SQL account is used during db operations. For this reason, SQL Server must be set up for Mixed Authentication to work with AppMetrics.

The AppMetrics service itself runs as a Windows service, and needs Windows credentials.

The service account does not need to be a domain account, but it is much easier if it is.

The service account needs to be in the AppMetrics Administrators Group on the AppMetrics Manager machine and the AppMetrics Agent machine (where the COM+ components are).

Back to top

How do I access a AppMetrics database from another machine that is behind a firewall if I want to run AppMetrics reports remotely?

We use ADO to access the report data from SQL Server. As such, the following MSDN article may help you configure your firewall in order to allow you to connect to your AppMetrics manager database from outside the firewall.

How To Use ADO to Connect to a SQL Server That Is Behind a Firewall

Back to top

Is there any alternative gui from excel like a web client? Or excel reports that we can distribute to stakeholders?

There are ways to embed Excel objects into a web client. Microsoft’s FMStocks example code shows how to go about embedding Excel objects into ASP pages.

As far as AppMetrics reports, you can easily bring up the AppMetrics.xls report file by opening the file in Internet Explorer. A URL to the file can be hyperlinked from a webpage and opened as long as the client has MS Excel installed, and there is connectivity to an AppMetrics database.

Additionally, report data can be stored in the AppMetrics Excel report file, and viewed by dismissing the report dialog and navigating the report tabs.

Back to top

How can I use AppMetrics between two domains that don't share a Trust Relationship?

Typically, the AppMetrics Manager and the AppMetrics agents run on computers in the same domain, or in separate domains that have a Trust Relationship.  Occasionally, there is a desire to have the Manager and Agents in different domains, where those domains do not have a Trust Relationship.  In the latter case, follow these steps:

The local Administrator account needs to be used as the run as account for the AppMetrics service, and the user needs to logon as the Administrator in order to run AppMetrics

When installing AppMetrics have the AppMetrics service run as that local user that you just created with administrator rights.

Make sure that the local user is in the AppMetrics Administrators group on both the Manager and Agent machines.

Back to top

How can I use the Custom Component notification feature of AppMetrics?

AppMetrics comes with a sample component already configured to respond to alerts. This feature is described in the AppMetrics documentation in Chapter 3, Page 36. The sample component is called XSNotification.wsc, and it is in this subdirectory:

yourdrive:\Program Files\Xtremesoft\AppMetrics for Transactions\

The work done by the sample component is purely for illustration purposes – it writes out the parameters that have been passed to it into a log file (c:\xsnotificationLogFile.log). The work that you want the component to do is customizable by you

There is a sample vbscript that demonstrates interacting with COM+ published by Microsoft here:

Google Groups Link

The work you want done is sometimes on the application server, where your application and our agent reside. In that case, the component that the AppMetrics Manager invokes will in turn need to invoke a script on the application server machine. There is a discussion of that on MSDN:

MSDN Link

Back to top

Do you have sample reports I can look at?

You can find an Overview of Sample Reports here.

When I try to create a monitor with AppMetrics I get the error: Create database for monitor "monitor_name" failed. What should I do?

Check the name of the monitor you are trying to create

It is possible that the name is reserved in SQL such as "asc" and "desc".

Try another name for the monitor.

Back to top

SQL Server | MOM | W2K3 | .NET | VMWARE

How to change Server Role settings for the AppMetrics user account in SQL Server 2000 and Server 2005?

Instructions for how to change SQL Server Role Settings

Can AppMetrics be used with SQL Server 2005 Express?

Yes.

In order for AppMetrics to function correctly with SQL Server 2005 Express, the Microsoft SQL Server 2005 Backward Compatibility Components package needs to be installed prior to the installation of AppMetrics.

(Note: Please ensure that TCP/IP is enabled on the SQL instance you will be using for AppMetrics, as TCP/IP is disabled by default and needs to be enabled in order for AppMetrics to connect.)

Also, AppMetrics runs with both a named and default instance. Usually on a named instance, TCP/IP is enabled by default, but it is still probably a good idea to check the named instance to verify that TCP/IP is enabled.

The package is available from the Feature Pack for Microsoft SQL Server 2005 webpage, located at the following link:

Feature Pack for Microsoft SQL Server 2005

Scroll down to the section entitled "Microsoft SQL Server 2005 Backward Compatibility Components" Simply run the install file, SQLServer2005_BC.msi.

After accepting the license, the install program will display a screen. Ensure that the Data Transformation Services 2000 runtime item is selected. The other components are optional, and may be deselected if so desired.

Continue the install by clicking the Next button and following the remaining instructions given in the setup program.

Once finished, AppMetrics can then be installed.

Back to top

The DBAs want to keep control over all of the SQL Server Databases - how can I accommodate them and use AppMetrics?

Overview

The AppMetrics Manager needs to have a SQL Server or SQL Express (free version) Data Base present, locally (on a local drive), when it is installed. It is an integral part of the AppMetrics Application and is used for a variety of purposes and has to be local for data integrity purposes.

We'll look at the following configuration:

AppServer - This is the machine or machines on which the application is located.

DBServer - This is the machine or machines housing your production data on SQL Server

AppMetrics Manager machine - This is the main AppMetrics users machine.

Other User's machines - These are the other AppMetrics users machines who want to use Reports and consoles only.

Option 1: Install the AppMetrics Manager on the SQL Server DB box.

  • AppServer (this is the machine on which the application is located) - AppMetrics Agent installed


  • DBServer (these are the SQL Server machines for your data) - AppMetrics Manager installed


  • AppMetrics Manager machine (this is the main users machine) - AppMetrics Reports and Console installed


  • Other User's machines (these are the other AppMetrics users machines) - AppMetrics Reports and Console installed


Here you would do all the reporting from the AppMetrics Manager machine and the other User's machine.

Option 2: Download and install SQL Express (free from MS) on the AppMetrics main users machine.

This keeps all of AppMetrics off of your DBservers. You can then set up security for SQL Express the way you want.

The AppMetrics data comprises stored events and timings, which are particular to AppMetrics. It is not customer or important internal data, as such. AppMetrics happens to use SQL Server or SQL Express, though it could equally be a proprietary DB. In the proprietary situation, the DBA's would not be interested.

  • AppServer - AppMetrics Agent installed


  • DBserver - nothing installed


  • AppMetrics Manager machine - AppMetrics Manager installed with SQL Express installed


  • Other Users's machines - AppMetrics Reports and Console installed


Here you would use SQL Express for the AppMetrics Manager machine and take the DBServer out of the process and be able to run reports from the AppMetrics Manager machine and the User's machine.

Option 3: You would use the DBServer as the database repository for AppMetrics, but could move the database at specific times over to the AppMetrics Manager machine and do all the reporting from that machine and the User's machine.

  • AppServer - AppMetrics Agent installed


  • DBServer - AppMetrics Manager install


  • AppMetrics Manager machine - AppMetrics Manager installed with SQL Express installed locally


  • Other User's machines - AppMetrics Reports and Console installed


Option 4: If you have a cluster configuration, all drives in the cluster are considered local drives. AppMetrics can be located on any clustered machine and use a database resident on another machine.

If I want to send AppMetrics alerts to MOM, does each machine running the AppMetrics agent, require a Management License for MOM?

We think the answer is yes from April 1, 2007.

Effective April 1, 2007, Microsoft is implementing changes to the definition of "manage" that will broaden the requirements for Management Licenses and ensure consistency across products that work with System Center products. Purchases of any System Center products after this date will be subject to this new definition of manage, which is as follows:

For purposes of this paragraph, to “manage” a device means to

  • solicit or receive data about,
  • configure, or
  • give instructions to the device’s hardware or software, other than to discover the presence of a device.

You do not need a management license for any of your devices

  • licensed to run instances of the server (System Center product’s management server) software, or
  • functioning only as network infrastructure devices (OSI layer 3 or below).

This effectively means that no matter how information about any device on a network gets into a System Center product’s management data repository, that device will require a Management License, except for servers licensed to run the System Center product’s management server software, or devices functioning only as network infrastructure devices (OSI layer 3 or below).

Back to top

Does AppMetrics support Windows Server 2003?

Yes. Xtremesoft will continue to support new Microsoft OS's and architectures as they are deployed by our customers. We expect Windows Server 2003 to advance Microsoft’s success in the enterprise and support of it is, therefore, a priority for Xtremesoft. Windows Server 2003 provides a new version of COM+, COM+ 1.5. Xtremesoft supports the COM+ 1.0 features of COM+ 1.5, and will address the new features of COM+ as the market demands.

Back to top

I am using Windows Server 2003, but I am getting the following entry in the Windows Event Viewer: "The COM + run-time environment has detected an inconsistency in its internal state". What does this mean?

This happens when Windows 2003 tries to create a new COMPLUSTRACE log file and cannot complete it before the .5 second timeout is reached. The event is then put into the Application Event Log and it tries again. According to Microsoft Premium Support, this is an error that should not be logged.

We are told by Microsoft Premium Support that users should disregard this Event.

UPDATE on 6/25/2004 - Microsoft has entered a bug for this, Xtremesoft has tested the proposed fix, and found it to work. Microsoft will inform Xtremesoft when the fix for this is available for general distribution.

Back to top

Why don’t I see the Client IP or ASP URL in the AppMetrics Reports with ASP.NET applications? I saw them with my ASP applications.

The implementation of ASP.NET is quite different from the implementation of ASP. There is more integration between ASP and COM+ than there is between ASP.NET and COM+. As a result, there are no COM+ Identity Events fired when ASP.NET is calling COM+ applications. AppMetrics depends on these COM+ events in order to report the Client IP and ASP URL.

Back to top

Why don’t I see any activity when monitoring one of my COM+ Applications that uses .NET Serviced Components?

For Server Applications:

For .Net Serviced Components, some attributes may need to be set to public in order for those components to be monitored. These are minor changes. Please refer to the .Net Serviced Component guidelines in the Installation Guide (Chapter 6, page 41) for more information.

For Library Applications:

Microsoft has confirmed that there is an issue with Library Applications implemented with .NET Serviced Components when more than one such Library Application is executed under the same process. The responsible Microsoft team has filed a design change request for Vista to address this issue. Note: This issue does not arise with .NET Serviced Components deployed as COM+ Server Applications.

So that your application can be managed, we recommend that you either use Server Applications instead of Library Applications for your .NET Serviced Components or use unmanaged code for your Library Application.

If you have only one Library Application being executed, then follow the process for Server Applications.

When using AppMetrics to monitor .Net Serviced components on Windows Server 2003, I do not see the Serviced Component’s method calls that I expect to see.

This is a known problem with .Net method call events generated on Windows 2003 which we are currently working on with Microsoft. Until there is a complete solution from Microsoft, we currently have a workaround for this issue which involves replacing two AppMetrics DLLs with modified versions. There is slightly more overhead than with the standard versions, but the impact is negligible in terms of overall system performance.

In order to download and install this workaround, follow the steps below:

  1. Click the following link to download the XSdotNETMONDLL01.zip file at http://www.xtremesoft.com/XSdotNETMONDLL01.zip
  2. Open the Services console, locate the AppMetrics service, and stop the service.
  3. Unzip the XSdotNETMONDLL01.zip file, and copy the ComPlusDiagnostics.dll and AXSComPlusHealthMonitor.dll files into the \Program Files\Xtremesoft\AppMetrics for Transactions folder. When Windows ask if you wish to replace the existing file, answer "Yes".
  4. You should now be able to collect .Net method call data with AppMetrics.

If you wish to revert back to the standard monitoring DLLs, simply run the AppMetrics setup program in repair mode to replace the modified DLLs with the original ones.

Back to top

What are .NET Serviced Components?

Click here to find out.

Back to top

Can AppMetrics help me as I begin to migrate to .NET?

Yes

  1. Prior to any .NET modification/migration
  • Overview:
  • AppMetrics is a great tool to gather, understand, compare and establish baseline performance stats. prior to any change.
  1. Understand the business logic before you begin the change!
  • Often overlooked, but a core piece of AppMetrics is telling you how the logic flows in your application. So many Companies have lost the original application architect (we call him Fred) and really don't know how it, really, all fits together. This is core though - if you don't know where you came from, how do you know where you are going!
  1. Get the Com+ application to run at its very best before you begin the switch.
  • Some (optimistic) developers say, "We'll be replacing that, so getting it running correctly now is pointless". The fact remains, if you can't get it running properly in the relatively fast Com+ world, then .NET will eat you alive! Some architects have looked at what they offer in the CLR, for instance, in terms of transactional control and said no way can this architecture process what we need!
  1. Recognizing that not all of the application will run in the same way under the pure .NET umbrella.
  • Serviced components was recognized as a vital step for the big users who need more horsepower than pure .NET can provide! Your application will be a hybrid environment and you are going to need two views of it - the .NET performance view and the legacy view - fact of life for major Applications! That said establishing monitoring of .NET serviced components from the beginning is vital. They are the most prone to garbage control issues.
  1. Establishing a performance baseline prior to any changes.
  • Comes back to if you don't know where you are today, then how can you improve in the future?
  1. Establishing a realistic test usage scenario to run against new versions.
  • Few customers have a decent test harness to run against new versions of the application and fail as soon as it goes into production. Test generators are all well and good, but no one can beat a test that uses randomly selected real data in the test harness. AppMetrics can provide this data.
  1. During .NET modifications
  1. Set up alerts on critical components to see if they are under performing. See:
  1. Iterative comparison on the test bed of changes made. See:
  1. Manage component hangs during switch over phase. See:
  1. After .NET Modifications
  1. Compare user experiences and validate with performance improvements
  1. Compare to original baselines

Back to top

Does AppMetrics report correctly when VMWare is in use on a server.?

All reporting functions appear to be correct, though we do not warranty on this platform as we are not be in control of the internals of a third party product.

AppMetrics is an ideal way to measure the applications "before" and "after" performance after an implementation of VMWare.

The following may be of interest in this process:

Background

Assuming the server (Before and after) are running the same application, with a similar load then the only performance difference is that the server is now running one to six VMWare virtual machines.

As a reference, this blog points to how processing is degraded over multiple VMWare machines.

Our comments:

We believe that the AppMetrics timings are accurate and that you are simply observing what would be expected from an application running on a six-way virtual machine.

A virtual machine shares actual hardware resources on the physical machine with not only the physical machine itself, but with the other virtual machines running on that system. It is normal for processing times to increase since there is less actual CPU time available than when running by itself directly on the physical machine. The processing time would be directly proportional to the number of virtual machines running on any one physical machine.

Our conclusion:

AppMetrics is simply showing the real degradation of your application caused by utilizing one to six virtual machines. Remember one physical and six virtual machines result in a total of 7 slices of the CPU and associated overhead.

Showing you how an application, at its core, is impacted by server/OS/code changes is one of the major values of AppMetrics.

The document above shows how performance is adversely affected with each additional VM instance and we believe that AppMetrics is simply showing you what you would expect.

AppMetrics is performing its role in identifying the degradation in performance.

Back to top

Product Comparisons

Can you differentiate Xtremesoft's AppMetrics from Identity Software's AppSight for me?

Sometimes AppSight is mistakenly believed to provide the same capabilities as Xtremesoft’s AppMetrics, when in fact, the two products solve very different and separate problems.

AppMetrics focuses on the quantity, quality and performance of the Business Transactions that are taking place within a production application, with the goal of keeping that application running longer than it would without the software being present. (Incidentally, it does this job very well!) It alerts you when transactions are either failing, slowing down, or when there are too many transactions occurring at one time for the system to handle. AppMetrics does this by monitoring your COM+ components and then producing metrics representing these business transactions.

Identity Software's product is targeted at tracing application crashes. AppSight collects an application's system level interactions and creates a recording of all these low level operations. It enables a programmer to analyze what was going on when the crash occurred. Additional software also allows you to ‘playback’ what has happened. AppSight is development focused - it helps you trace the execution of the application through its interaction with system level operations.

In a production environment transactions can utterly fail without anything resembling an application crash even occurring. If, for instance, your credit card processing vendor’s system is running very slowly, or is not responding, this could cause a business transaction to fail. However, this is clearly a very serious and business critical application issue and the administrator needs to know of the problem, before they get a call from the business unit. AppMetrics is predominantly production focused - it keeps your application running better and longer. See our Customer story about a failed dot.com

Maintaining a healthy application using a product like AppMetrics improves the production uptime of your application. If crashes do appear in your production applications, then application development tools like AppSite or those from Numega can be employed to debug the crash.

Back to top

Why do I need AppMetrics if I already have Application Center 2000?

The main purpose of Application Center Server is for the deployment and maintenance of applications built on IIS and COM+. This includes setting up clusters of machines onto which Application Center Server can deploy content and configure load balancing for such applications.

Application Center Server has a module in it called "Health Monitor" which was developed by Xtremesoft under contract for Microsoft. Health Monitor collects performance information from a variety of sources, one of which is COM+. Health Monitor collects data on an COM+ Application-wide basis (e.g. total aborted transactions, total committed, etc.).

AppMetrics, on the other hand, lets you monitor on an individual-transaction basis (i.e. by each component within the COM+ Application, and in some cases provides detail down to a method-invoked level).

Back to top

Other Issues

What value does ATX bring as I convert from MTS to COM+?

AppMetrics provides value at the beginning, in the middle, and at the end of a conversion.

In any conversion where you need to demonstrate the value of the conversion, it is important to establish a baseline prior to the conversion so that a measure of the improvement (or deterioration) can be made.

There's an argument that says, "I don't care about if things are right now - I am doing a conversion, and I only care about the result." In some organizations, that is true. If, however, you have a manager that asks, "I gave you $50,000 to do that conversion - show me how much improvement my money bought me!" then you need before and after pictures to compare.

What, then, about during the middle of a conversion?

It generally requires work (and therefore resources) to take full advantage of what COM+ offers. As component source code is modified and recompiled for use with COM+ you can use AppMetrics to isolate bottlenecks and verify that component performance is within acceptable levels.

Finally, once you complete the conversion project, you can use AppMetrics to monitor the health of components running in production.

Back to top

My application under MTS supported lots of concurrent users. Under COM+, it is thrashing with a similar number of users. Was this caused by the migration from MTS?

By default, COM+ has a different threading model from that of MTS. Under some circumstances, this can result in applications that don't scale as well as they used to.

AppMetrics can help you understand the performance characteristics of your components. Certain components might need to be reengineered to take achieve better scalability under COM+, and AppMetrics helps identify which components are candidates.

Windows 2000 Service Pack 3 has new facilities for tuning the COM+ threading model and AppMetrics can help you see and understand the effects of that tuning.

Back to top

I had serious application issues on MTS, but on first impressions these issues are mitigated when it's running under COM+.

COM+ is a new and improved MTS. Windows 2000 is a new and improved Windows NT4. The MSDTC (Distributed Transaction Controller) is improved in Windows 2000. This adds up to a better platform on which to deploy applications.

However, the migration has not fixed any errors in your application's implementation. Just as an automobile with a broken suspension benefits from being driven on a brand new highway, so even with a broken suspension the automobile will ride better. However, with a broken suspension, you will still have problems further on down the road.

Back to top

I am told that all my application issues will go away when I move to COM+ and Windows 2000. I am wary of that claim but will I still need a tool like AppMetrics?

If your application has bugs on NT4, the bugs will still be there on W2K. The need for the diagnostic features of AppMetrics will not go away.

People who get sick or hurt but don't have medical coverage often wish they had. People who get regular medical checkups can detect problems before they become serious. This applies equally well to deployed business applications.

Crash diagnostics is but one of the features of AppMetrics. Other features areas include:

Health Monitoring

The requirement to monitor the business-transactional health of applications in deployment is ongoing. Business transactions don't slow down or outright fail solely due to coding errors! Several other factors - often outside your direct control can cause problems:

  • Trading partner performance problems (e.g. credit card validation on a shopping cart module);
  • OS or hardware problems;
  • Network traffic;
  • Database issues;
  • Unexpected influx of users

Historical Reporting

Those that are ignorant of history are bound to repeat it. How can you diagnose problems without a historical record of what happened? Further, how can you predict future performance without a historical record? Questions like: "Do I need more servers?" and "Can I consolidate applications?" only start once the application is in deployment. Those questions cannot be responsibly answered without the history of what has gone before.

Performance Bottleneck Identification

When the call comes, the message is "The app is too slow!"

What to do next is not nearly so concise…

The ops manager who takes the call has a daunting task:

  • Identify the offending component (without detailed knowledge of the components themselves);
  • Supply hard data to back up this conclusion;
  • Convince the application's development manager to assign the appropriate resource to fix the problem

Back to top

The number of outages and the length of time of the outages have both decreased significantly, since we moved to COM+. This has shifted our priorities, at least until the next major outage! This isn't the right answer is it?

No!

If your application has bugs on NT4, the bugs will still be there on W2K. The need for the diagnostic features of AppMetrics will not go away.

People who get sick or hurt but don't have medical coverage often wish they had. People who get regular medical checkups can detect problems before they become serious. This applies equally well to deployed business applications.

Crash diagnostics is but one of the features of AppMetrics. Other features areas include:

Health Monitoring

The requirement to monitor the business-transactional health of applications in deployment is ongoing. Business transactions don't slow down or outright fail solely due to coding errors! Several other factors - often outside your direct control can cause problems:

Trading partner performance problems (e.g. credit card validation on a shopping cart module);

  • OS or hardware problems;
  • Network traffic;
  • Database issues;
  • Unexpected influx of users

Historical Reporting

Those that are ignorant of history are bound to repeat it. How can you diagnose problems without a historical record of what happened? Further, how can you predict future performance without a historical record? Questions like: "Do I need more servers?" and "Can I consolidate applications?" only start once the application is in deployment. Those questions cannot be responsibly answered without the history of what has gone before.

Performance Bottleneck identification

When the call comes, the message is "The app is too slow!"

What to do next is not nearly so concise…

The ops manager who takes the call has a daunting task:

  • Identify the offending component (without detailed knowledge of the components themselves);
  • Supply hard data to back up this conclusion;
  • Convince the application's development manager to assign the appropriate resource to fix the problem

Back to top

I thought when we moved to COM+ that our issues would go away forever; furthermore, if problems do arise, doesn't COM+ provide more visibility into what's going on inside my application than MTS did?

MTS is a black box, and so is COM+. COM+ has different behaviors due to differences in the threading model Your components may act differently under COM+ than they did under MTS, and you won't know why without a solution like AppMetrics.

Back to top

Can Xtremesoft provide any services to help me with the MTS to COM+ transition? And how much are they?

Yes.

Many applications behave differently in COM+ than they did in MTS. This is due in part to the changes in the threading model.

The #1 goal in any conversion of this sort should be 'do no harm'. That is - the application running in COM+ shouldn't be any worse than it was in MTS. How do you know, as you flip the switch from the old to the new, that things have, at worst, not changed?

There's gut-feel. And then there's knowing.

Knowing requires detailed before and after metrics. Only AppMetrics can give you a breakdown, transaction-by-transaction to know whether business performance has dropped off. And only AppMetrics can give a component-by-component performance breakdown - which is necessary for fixing any changes in performance.

The Xtremesoft Professional Services team can perform Application Audit and Analysis on your MTS and COM+ implementations. We'll identify any performance degradation, and the components responsible.

The cost associated with a typical Application Audit and Analysis is: $9,999. A combined before and after, if performed during the same visit is $17,999.

Back to top

SNMP

Does AppMetrics SNMP alerting share the same vulnerabilities listed in CERT Advisory CA-2002-03 http://www.cert.org/advisories/CA-202-03.html

No. AppMetrics does not invoke or contribute toward the vulnerabilities documented in this CERT advisory.

This advisory documents decoding and processing vulnerabilities in SNMP Service handling of SNMP request messages (SNMP managers to SNMP agents), and SNMP trap messages (SNMP agents to SNMP managers).

AppMetrics does not decode SNMP request messages, and the processing vulnerabilities documented by CERT occur outside of the extension agent in the SNMP service (which processes request messages related to AppMetrics objects). AppMetrics does not decode or process SNMP traps.

Xtremesoft recommends the application of any appropriate patches from Microsoft and any other vendor's SNMP service they currently have implemented.

Back to top

I have installed AppMetrics correctly on my Windows NT 4 Manager machine, and created a monitor correctly. Why can't I see any metrics?

Check to see if you have the correct version of MTS. Xtremesoft's AppMetrics product, as well as a number of other Microsoft-dependent applications and components, require version 2.0.0.762 of MTS or later.

To determine if you have the correct version, search for the MTX.EXE file on your computer and make sure that the date for MTX.EXE is 10/15/98 or later

Possible Causes: MTS was installed in a different location from the default directory, \Program Files\MTS, so the Windows NT SP4 (or greater) installation process did not detect the MTS files and thus did not update them.

Resolution

  • Reapply Windows NT Service Pack 4 or later
  • Verify version of MTX.EXE (as outlined above)
  • If MTX.EXE 10/15/98 or later then your resolution is complete, otherwise follow steps d - g
  • Uninstall Windows NT Option Pack 4 Transaction Server Component
  • Reinstall Windows NT Option Pack 4 Transaction Server Component (Note: make sure to use default install paths!)
  • Reapply Windows NT Service Pack 4 or later
  • Verify version of MTX.EXE (as outlined above)

Back to top

How does AppMetrics work with NT 4.0 for workgroups instead of a domain?

AppMetrics will work with workgroups. You need to create the same userid with the same password on each of the machines you are using. (Manager, Agent) Then during install you will use that userid for the "Run As" account and the local machine name for the domain name.

Back to top

I am running NT4.0 and a Novell network. When I try to start up the monitor I am getting an error that tells me "Access Denied"?

There are a few things to check in regards to security.

  1. Check that the AppMetrics Administrators local group on both the Manager and Agent machines have the correct user accounts.
  2. Check the "remote access" account that the AppMetrics service on both the Manager and Agent machines is using. To do this, go into the AppMetrics Console and:
    • Right click the "AppMetrics Console" and go into properties
    • Change the "view level" from basic to advanced and hit "Apply"
    • Right click the "AppMetrics Console" and pick refresh
    • Right click the "AppMetrics Console" and go into properties
    • Check the "remote access" tab for the ID that is being used for the "remote access" account.

Back to top




SolutionsNews and EventsPartnersServicesAbout UsHomeContact UsSite Map


Copyright © 2008 Xtremesoft, Inc.