views:

56

answers:

2

I have a few apps written in ruby on rails and like any good developer I want high quality data about my site, such as measuring the number of new user accounts per day. I'm in the process of writing my own analytics tools, but I feel like i'm re-inventing the wheel. Are there any plugins or gems that could help me pull this data and display it quickly (graphs are a plus)?

If not, what types of features would you want in such a tool (i'll put a plugin on github if my code is good enough)?

Update: To clarify a bit, i'm looking for business level-analytics. I already use google-analytics for my site traffic, and active-scaffold to get an admin page, right now my application has users which generate tickets and can create surveys, i'm interested in general trends in my application and by graphing new & existing user numbers versus new tickets and new surveys i can get the info that I want. I like to get general numbers, so i'm pulling all the users for the last 30 days, and then iterating over them to count how many i get per day...then i'm saving that to an array and plotting versus tickets, etc. Right i'm doing this using a home brew library which isn't very efficient, and before I put time/energy into making it better I want to make sure i'm not duplicating an existing set of tools. Or writing un-needed code.

If you post how you personally do this, and the answer is at least intelligible i'll be happy to give you a karma bump for your time.

+1  A: 

Probably the easiest way is to stick with good ol' Google Analytics. I'm pretty sure there are tools for more specific needs, but for general purpose analytics they are probably the best.

Jakub Hampl
What do you use for non-web traffic related analytics, such as the number of new objects for a specific class that get created?
ThinkBohemian
I don't know of any good plugins for that, never really needed this. I'd dedicate 10 minutes to searching through GitHub, I almost always find something decent there.
Jakub Hampl
+2  A: 

You have three options that are all fairly easy to implement:

Google Analytics
Just include a small javascript snippet in the footer of your page and you get meaningful data about your hits/traffic. This is extremely easy, and will provide traffic information, but nothing about the internal workings about your applications.

New Relic: RPM
New Relic RPM is a service that comes in the form of a plugin. There is a free version, which gives you a (useful) taste of the features it can provide. This plugin will give you hardcore rails analytics. It will tell you what percentage of a request to a controller is spent in the model, in the view, etc. It will tell you how long each SQL call takes. This is great for optimizing your application.

ActiveScaffold
While not in and of itself an administrative tool, ActiveScaffold fits the bill quite nicely. Just create an admin namespace and create ActiveScaffolds for all your models/resources. This lets you see the data in an easy to use way, get simple counts of your rows (to see how many users you have, for example). This is a very easy setup, with little overhead.

Edit to reply to the OP Edit
There are no gems/plugins that I'm aware of that provide business-level analytics that you seem to want, as they are specialized associations between models that can't be predicted. The best bet, in my opinion, would be to roll your own solution that provides the data you want.

Mike Trpcic
I'm actually already using google analytics and active scaffold. I'm looking for more specific info to my application. For example If my users class has many tickets i want to know how many new ticket records are generated in a given day, and have a 30 day graph to see any trends. More tools for business side of the application rather than the technical side. Is New Relic similar to scout? That's what I use for server side and process data.
ThinkBohemian
Thanks for the edit Mike! I guess i'll keep chugging away at my own library...hopefully i can find a good blend of generic and specific functionality.
ThinkBohemian