views:

342

answers:

2

We are working on a Java EE Web Application, and the people from marketing need some really detailed stats for our site. Something similar to Google Analytics, gathering the user's information, and their navigation through the site (where they come from, what they click, where they go, etc.).

Depending on a third party service like Analytics is not an option.

They would also like to get this information presented in graphs and stuff, which is not that hard since once the data is gathered, it's just about the right queries and the way we display it.

Not wanting to re invent the wheel, do you know if there's any API, framework or other kind of libraries to add to the project for this goal?

+2  A: 

1) You could use a log analyser to analyse the web server logs - with Tomcat you need to install a module that does this, I've forgotten the name.

2) Create a table in your database called user_journey or similar. Inside you can log all the relevant details of each hit. Then in your root servlet, or the equivalent for the framework you use, add an entry to this table with the details you require - tracking by session_id, user_id, page_hit, and so on.

[3) Create aggregate tables to generate your monthly and yearly statistics once-only]

3) Use BIRT to present the analysis of these database tables.

JeeBee
http://en.wikipedia.org/wiki/BIRT_Projecthttp://www.eclipse.org/birt/phoenix/
JeeBee
Great answers, thanks a lot!
Fernando
+1  A: 

Check out Open Symphony Clickstream it can help

Looks great, we had started implementing something like this. Thanks!
Fernando