PreEmptive Protection - DashO v8.2 User Guide

PreEmptive Analytics Overview

This section documents the development process when using PreEmptive Analytics. It describes the different options available using the custom and extended attributes and provides examples to illustrate.

PreEmptive Analytics ( is a suite of products and services that give application authors insight into how their applications are being used. PreEmptive Protection - DashO can be used to instrument Java applications and components to transmit information to PreEmptive Analytics servers.

PreEmptive Protection - DashO can instrument an application such that a message is sent when the application starts and stops, when a designated feature is being used, and when exceptions are generated within the application. This data can be sent to any PreEmptive Analytics product.

PreEmptive Protection - DashO adds analytics support to the application based on guidance provided from custom annotations. When run on a properly annotated Java application, DashO processes the annotations and instruments the application accordingly. The resulting output application will be ready to send analytics data to the service.

Message Types

There are several message types:

  • Application and Session Start

  • Application and Session Stop

  • Feature

  • Performance Probe

  • System Profile

Application and Session Start and Stop messages, the application lifecycle messages, are sent when an application starts running and when it shuts down. The information contained in these messages tracks application behavior and usage patterns. Extended usage and environment information is obtained by using the Feature, Performance Probe, or System Profile messages.

The data from these messages drive the PreEmptive Analytics Workbench dashboards. To have your application send these messages, you must:

  • Annotate your application with Application Start and Stop.

  • Run your application through DashO with instrumentation turned on.


On Android devices, in order to store messages offline and determine some of the system's information, PreEmptive Analytics needs the application's context. It gets this information by attempting to call getApplicationContext() on the object where the @ApplicationStart is injected. This information is also needed when injecting Checks and Responses which are configured to send messages. If you are injecting into into class which extends android.context.Context, like,, or, it is fine. If not, you will need to add a public getApplicationContext() method and configure DashO to not rename it. Make sure it returns a proper Context.

PreEmptive Protection - DashO Version 8.2.0. Copyright © 2017 PreEmptive Solutions, LLC