How do I instrument my custom applications using Dynatrace OpenKit?

There are many ways your business can interact with your customers in the digital world. Monitoring user experience and behavior in your web and mobile applications is a great way to get started with digital experience monitoring; Dynatrace easily detects and monitors these touchpoints automatically using Dynatrace OneAgent. However, your business likely has many other digital touchpoints where your customers interact with your brand that are also key to the success of your business. With support for Dynatrace OpenKit instrumentation, you get a set of open source libraries that enable you to instrument all other digital touchpoints in your environment, whether or not they’re traditional rich client applications, smart IoT applications, or even Alexa skills.

The application type custom application encapsulates the monitoring data sent via Dynatrace OpenKit.

Get started with Dynatrace OpenKit

  1. From the navigation menu, select Deploy Dynatrace.
  2. Within the Digital touchpoint monitoring section, click the Monitor custom application button.
  3. Type a name for your custom application.
  4. Select an icon to visually represent your custom application in the Dynatrace UI.
  5. Click the Monitor custom application button.
  6. You’ll be directed to the instrumentation page of your new custom application. From here, you can download Dynatrace OpenKit from GitHub and instrument your application using the provided Beacon URL and ApplicationID. The Beacons view below is especially handy as it shows you incoming beacons as they arrive, with only a couple of seconds delay. This view also provides information about potential problems.

Monitoring examples

Once your custom application begins to send monitoring data to Dynatrace, you can analyze the data just like any other application. Have a look at the example Custom IoT application page below.

You can view all your user actions by selecting the View all user actions button in the Top actions section (see above).

From here you can continue to the list of user action instances and view detailed timings for a single user action

Dynatrace OpenKit libraries on GitHub

You can use the Dynatrace OpenKit libraries that are currently available for download so that you can begin instrumenting your custom applications.

Basic instrumentation example

Here’s a basic example that shows you how to use Dynatrace OpenKit to send monitoring data to Dynatrace:

String applicationName = "My OpenKit application";
String applicationID = "application-id";
long deviceID = 42;
String endpointURL = "https://tenantid.beaconurl.com";

OpenKit openKit = new DynatraceOpenKitBuilder(endpointURL, applicationID, deviceID)
        .withApplicationName(applicationName)
        .withApplicationVersion("1.0.0.0")
        .withOperatingSystem("Windows 10")
        .withManufacturer("MyCompany")
        .withModelID("MyModelID")
        .build();

String clientIP = "8.8.8.8";
Session session = openKit.createSession(clientIP);

session.identifyUser("jane.doe@example.com");

String rootActionName = "rootActionName";
RootAction rootAction = session.enterAction(rootActionName);

String childActionName = "childAction";
Action childAction = rootAction.enterAction(childActionName);

childAction.leaveAction();
rootAction.leaveAction();
session.end();
openKit.shutdown();

Troubleshooting

Find out how to solve problems that you may encounter when integrating OpenKit.

If no data is sent to the custom application, check the following:

  • Verify that you're using an official OpenKit release. The releases can be found on the GitHub pages:
  • Verify that you used the correct property values that are provided in the settings of the custom application.
  • Confirm that Dynatrace and your Cluster ActiveGate are reachable from your company network.
  • Confirm that the ActiveGate is configured with a valid SSL certificate.
  • Check if the OpenKit log output contains messages indicating connection problems. See logging for OpenKit for details.