PreEmptive Analytics Overview (Deprecated)
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.
Note: Injecting PreEmptive Analytics is deprecated.
There are several message types:
Application and Session Start
Application and Session Stop
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.app.Service, 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