Troubleshooting Transactions

This section offers information to help you resolve problems in working with transactions.

If performance monitoring is not working as expected for transactions, the two most common issues to consider are the following:

  • Has there been any traffic flowing through your services in the period of time for which you are expecting results? Business Transaction Management cannot measure the performance of inactive services.

  • Has the feature upon which measurement or analysis depends been enabled? Feature refers to consumer segmentation, instance logging, message content logging, and most fundamentally, transaction monitoring. Check the Profile tab for the transaction to make sure that the desired features are enabled.

If monitoring is enabled for the transaction, if traffic is flowing during the period for which you seek results, and if the required features are activated, you should be seeing complete and correct data. If not, read through the following discussion for possible issues and resolutions.

Note:

Remember to check Alerts in the last hour > System Alerts for information that might pertain to your problem.

You cannot create a transaction

Business Transaction Management is unable to validate your transaction definition and cannot create the defined transaction. Possible causes include the following:

  • The name of an operation in the transaction contains a special character. Business Transaction Management can process names with periods in them, but other special characters might pose a problem.

  • You selected a start operation that is used by another transaction.

  • You chose an end operation that differs from the start operation, but did not specify manual keys to correlate the start/end messages.

  • There are disconnected flows in your transaction definition.

  • The start and end operations are different and use different message log databases.

Your transaction has been disabled

You have not explicitly disabled monitoring for the transaction, but no measurements are gathered, and logging and condition processing are disabled. When you check the status shown in the Profile tab, you find that the status for a transaction is disabled or system disabled.

This can happen for a number of reasons:

  • You have modified or deleted a property that was used as a key in the transaction definition.

  • You have deleted a service or operation that was included in the transaction definition.

  • You have disabled a service that was included in the transaction definition.

  • For transactions where the start operation is not the same as the end operation, one or more of the start/end operation endpoints no longer shares the same message log database.

  • You delete a property used for consumer segmentation, or user edits a consumer property used for consumer segmentation and removes consumer mapping information.

Performance measurements are incomplete or inaccurate

This can happen for a number of reasons:

  • The value you specified for Maximum transaction duration is too short for your transaction.

  • You have defined two or more transactions that share an operation. Total response time for each of the transactions will be accurate, but the link measurements to the shared operation will show the sum of the invocations from each caller. In the following diagram, showing transaction ABC and YBC, response time for the BC link will be a sum.

    Description of txs_w_shared_svc.gif follows
    Description of the illustration txs_w_shared_svc.gif

  • The transaction has not finished executing.

  • Business Transaction Management uses the start and end operations to define response time. It is assumed that these operations are called only once within the interval defined for Maximum transaction duration. It is also assumed that the content that appears during that interval is unique. If these requirements are not satisfied, performance measurements generated for the transaction might not be accurate.

Segmented information is missing

Consumer segmentation is enabled but information for the consumer is not collected.

  • Check to see whether a property used for consumer segmentation has been deleted or modified so that it is no longer mapped to a consumer.

  • If you have imported the transaction definition from a previous release, consumer mapping information is not imported. You will have to modify the transaction definition and recreate the mapping information.

Logged instances or messages do not contain the expected information

For logged instances, check to see whether the property that is associated with the expected information has been deleted.

It is a requirement that all messages for one transaction be logged to the same database. Sometimes, it is not possible to satisfy this requirement because the transaction crosses a firewall. In this case, you might need the assistance of Business Transaction Management support.

For logged message problems, you might need to check log policy settings and report what you find to Business Transaction Management support.

A condition has been disabled

Check to see whether a property used in the condition definition has been modified or deleted.

You disable instance logging and there is at least one enabled condition for the transaction that depends on it.

A condition has not triggered an alert

The Transaction server was down when a condition needed to be evaluated; check the status of your servers.

A missing message condition is erroneously triggered

A missing message condition is triggered, but the message exists and has been collected. This can happen when monitor processing is especially slow and the missing message condition is evaluated after the transaction's time to live interval has expired. A rare situation.

Viewing Log Policy Settings

Based on the storage settings for the transaction, Business Transaction Management creates a log policy for each transaction and refers to this policy when monitoring the transaction and storing logged messages. Log policy settings are partly derived from the information you provide when you define a transaction. The following table shows the correspondence between log policy settings and transaction definition runtime settings.

Log policy fields Transaction definition runtime settings Description
Guaranteed storage time Retain individual messages

Default: 24 hours

The amount of time Business Transaction Management must retain unassembled messages in the transaction server's database. These messages are thus available for assembly.
Rotation interval (minutes) Rotate message log

Default: 720 minutes

Specifies the rotation interval for the log policy that backs the transaction. Messages that are rotated out, are held for the amount of time defined for Retain individual messages.
Text index message content Text index message content Creates a text index in the oracle database that enables faster keyword-based searches (free text search) at the expense of additional storage and initial processing.

The log policy is named System Generated Log Policy for TransactionName. The only time you might need to view this policy is when troubleshooting logging problems.

To view log policy settings for a transaction

  1. In the Navigator, select Administration > System Policies.

  2. In the Main area, select the System Generated Log Policy forTransactionName entry.

  3. Open the tab area if it is not already open and select the Profile tab. Settings for the transaction's log policy are displayed.