jgoogleanalytics


Google Analytics for Java applications

We have moved...

Please refer to Github's project page for the latest code & documentation. We will continue to keep Google code project repository for sometime with the legacy code & documentation.

Please create issues in Github for any future bugs or feature requests.

Introduction

JGoogleAnalytics is a lightweight, unobtrusive Java utility for tracking usage information on Java applications through Google analytics. It can be used for gathering usage statistics on utilities, plugins(Eclipse, IntelliJ, Netbeans etc.), client-side, server-side, middleware, desktop or any Java based applications. Hence, allowing us to perform usage & trend analysis on the application of interest.

Maven Dependency

JGoogleAnalytics is available on maven repo. Following is the maven pom dependency snippet. <dependency> <groupId>com.boxysystems</groupId> <artifactId>jgoogleanalytics</artifactId> <version>0.5</version> <classifier>sources</classifier> </dependency>

Usage

If you have a registered Google analytics account, you can write a code snippet like below to capture the usage data. FocusPoint is a logical point of focus in the application. It can be events like application/module load, user actions, error events etc.

``` //Google analytics tracking code for Library Finder JGoogleAnalyticsTracker tracker = new JGoogleAnalyticsTracker("Library Finder","1.3.2","UA-2184000-1");

FocusPoint focusPoint = new FocusPoint("PluginLoad");

tracker.trackAsynchronously(focusPoint); ```

Proof Of Concept

For the proof of concept, I have used this tool in Library Finder-IntelliJ plugin. I was tracking events like plugin load, user actions like Find Library action, Configuration changes action etc. I could see the usage statistics when I login to the google analytics account. If you want to know more, please read this posting.

Caveat

  • Google analytics does not update their reports in real time because of their high volume of subscribers. It usually gets updated every 24 hrs. If you are really curious to know if the tracking went fine, you can attach a LoggingAdapter to JGoogleAnalyticsTracker and see if you are seeing the success message.
  • JGoogleAnalytics would gracefully ignore errors and not collect statistics for the application running offline (without network connectivity)

Project Information

Labels:
Analytics DevTool utility plugins IntelliJ Eclipse Netbeans