Skip to content
/ segment-aop Public template

Annotation based AOP template for Segment analytics

Notifications You must be signed in to change notification settings

jaymindesai/segment-aop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Segment AOP

This template project is an attempt to demonstrate annotation based AOP in a minimalist way using vanilla AspectJ. It uses AspectJ runtime to weave the aspects in a post-compile fashion and doesn't require Spring or a similar Java library.

Basic Idea

Scenario: There is a new feature being added to our product and we want to analyze the response of our users.

Usage: This new feature can be used via a REST endpoint

Tracking: We want to track activity of requests hitting this endpoint. We have different types of users, for example: Basic, Advanced, Premium, etc. and we want to know which user segment is more responsive to this newly introduced feature. We will use Segment.io, a platform that collects user events from mobile and web applications to analyze customer behavior to achieve this.

Application

To run this app end-to-end, you will need an account on Segment.io. Once you have that, set an environment variable SEGMENT_WRITE_KEY with value as your Segment write key and run the gradle task as follows. You should be able to see the events triggered on your Segment dashboard.

  • UNIX

    ./gradlew run
  • Windows

    gradlew.bat run