Real time Business Transactions feed

AppMon can send Business Transaction data in real time to external systems for further storage and analysis. The data feed contains Business Transaction data, including evaluation and splitting values, for single transactions. This means the Business Transaction feed does not aggregate the data, but streams out discrete transaction data.

For Business Transactions based on PurePaths and user actions, it's possible to include the PurePath reference and PurePath performance data. The exported data is encoded using Google Protobuf, resulting in an efficient, flexible and future proof interface. See Big Data Business Transaction Bridge and Splunk Application for ready-to-use examples of how to integrate the Business Transaction Feed into your Big Data environment. Also, compare this to the PureLytics Stream to ElasticSearch and Kibana.

The following figure shows the data feed architecture.

Business Transaction Export
Business Transaction Export

Message format

The Business Transactions are sent in the following Protobuf message format, using HTTP post requests. This format can be used to generate code for various programming languages such as Java, C, and C++.

Message content

Each message can include multiple different Business Transactions. The BusinessTransaction structure groups the occurrences for a Business Transaction. It contains the defined evaluation measure names and dimension names (splitting measure names). Each BtOccurrence instance corresponds to a single PurePath, user action, or visit that was evaluated for the specific Business Transaction. Which values are set in the BtOccurrence depends on the type of the Business Transaction and the configuration:

PurePath User Action Visit
startTime Yes Yes Yes
endTime No No Yes
duration Yes Yes No
failed Yes Yes No
purePathId optional optional No
values Yes Yes Yes
dimensions Yes Yes Yes
actionName No Yes No
url No Yes No
query No No No
visitId No Yes Yes
user No No Yes
apdex No No Yes
converted No No Yes
responseTime optional optional No
cpuTime optional optional No
syncTime optional optional No
waitTime optional optional No
suspensionTime optional optional No
execTime optional optional No
nrOfActions No No Yes
clientFamily No No Yes
clientIP No No Yes
continent No No Yes
country No No Yes
city No No Yes
failedActions No No Yes
clientErrors No Yes Yes
exitActionFailed No No Yes
bounce No No Yes
osFamily No No Yes
osName No No Yes
connectionType No No Yes
convertedBy No No Yes
clientTime No Yes No
networkTime No Yes No
serverTime No Yes No
urlRedirectionTime No Yes No
dnsTime No Yes No
connectTime No Yes No
sslTime No Yes No
documentRequestTime No Yes No
documentResponseTime No Yes No
processingTime No Yes No

Configuration

The configuration consists of two basic steps:

  1. General feed configuration.
  2. Specific Business transaction configuration.

General feed configuration

At this step you activate the feed, and configure its destination.

  1. Click Settings > Dynatrace Server > Realtime Streaming.
  2. Select Configure Business Transaction Feed checkbox, to activate the feed.
  3. Configure destination parameters:
    • URL: The destination URL of the Business Transaction data.
    • Allow untrusted SSL: Allows export without certificate check.
    • Basic HTTP Authentication: Enables basic authentication. If selected specify the username and password.
    • Bulk Size: Defines how many Business Transaction results are included in one request.
      There is a timeout of one minute, so a request might actually contain fewer results than specified here.
  4. Click Test connection to check the configuration.

Specific Business transaction configuration

At this step you define which business transactions are sent in the feed.

  1. Open the System Profile Preferences dialog box, and select the Business transactions item.
  2. Double-click the required business transaction to edit it.
  3. Select the Export results via HTTP checkbox.
  4. If needed, you can add PurePath reference and performance data to the feed, by selecting the appropriate checkboxes.