PreEmptive Analytics Data Hub User Guide

Instrumenting Applications

The most common use case of the Data Hub is to use the Hub as the "one endpoint" for all PreEmptive Analytics messages for your company. In order to send this data, your applications must first be instrumented appropriately.

Depending on your needs, you can instrument applications with one of these tools:

  • Dotfuscator for .NET applications offers the ability to inject instrumentation code into previously-compiled assemblies across many platforms including desktop, web, and mobile. There is also a Community Edition of Dotfuscator included in Microsoft Visual Studio, with limited functionality.
  • DashO for Java applications offers the ability to inject instrumentation code into previously-compiled binaries across many platforms including desktop, web, and Android.
  • PreEmptive Analytics APIs offer the ability to add instrumentation directly to your code across all major platforms - .NET, Java, Win32, iOS, Android, Windows Phone, WinRT, and JavaScript.

Please consult the included documentation of each product to learn how to add analytics code to your application.

Endpoint URLs

When instrumenting an application, you must provide an Endpoint URL that tells the application where to send the data. When using a Data Hub, your applications should generally be instrumented to point at the Data Hub's endpoint URL, which will be shown to you on the last page of the installer. By default, that URL is <data_hub_host_name>:80/Endpoint.

By setting your applications to send their messages to the Data Hub, rather than to a specific PreEmptive Analytics server, you allow the control of your data to remain in the Data Hub. This prevents having to re-instrument applications as your needs change.

Before deploying your application, you should test the Endpoint URL from the network locations you expect the application to be running. For instance, if your application will be communicating to the Data Hub over the Internet, the hostname will need to be changed from the provided machine name to a fully-qualified domain name that consistently refers to the host.

If you are using SSL, use the port specified when setting up SSL as described in the Endpoint Web Service configuration section.

Company and Application IDs

Each instrumented application is configured to send messages with a particular Company ID and Application ID. These IDs (or Keys) are used to identify a particular customer and instrumented application of PreEmptive Analytics, and are expressed in the form of Globally Unique Identifiers (GUIDs).

Before beginning instrumentation, you should obtain a Company ID from PreEmptive Solutions, in order to ensure no two companies share the same ID (e.g., for integration in the Runtime Intelligence Service). Once you have this ID, you should use it when instrumenting all of your applications across the company. Doing so will make it easier for you to configure other PreEmptive Analytics products, such as PreEmptive Analytics for TFS, and will make it possible for you to (later) begin using the Runtime Intelligence Service and see all your applications' data under a single account.

Application IDs need only to be unique within a particular company, as each application is identified by the unique combination of both a Company ID and an Application ID. Having separate Application IDs for different product lines is useful, because the Data Hub can be configured to dispatch messages to particular destinations selectively based on this ID.

Data Hub Version 1.5.0. Copyright © 2015 PreEmptive Solutions, LLC