featurehub-io / featurehub-ruby-sdk

Official FeatureHub Ruby SDK

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Analytics Support

cspalding opened this issue · comments

I know we chatted about this briefly in a previous issue, but I wanted to get it documented on its own. This client currently doesn't support the GA integration that other FeatureHub SDKs do support. Is there an outline for how to add GA support to this SDK? Is it on the roadmap to add GA support to this SDK?

Thanks for any information!

Yes, I left it out because what is in the other SDKs is only deliberate "point" logging - so you can log an event and it will tell you what the features were at the point you logged that event. There is another open ticket on the main repo to track all feature evaluations as well as the deliberate event logging and that approach across the board will take some thought.

... the other SDKs is only deliberate "point" logging - so you can log an event and it will tell you what the features were at the point you logged that event.

I'm a little confused by this. The FeatureHub SDKs docs have most SDKs marked as integrating with Google Analytics 'out of the box'.

If I asked the question "how many times has feature X been requested in the last two weeks and what variations did it return?" would the FeatureHub + GA integration + a working GA setup within my organization be sufficient to provide an answer (assuming I'm using a different FH SDK that has the GA integration setup)?

Sorry if I'm missing something, but to me the point logging that you describe makes me think that the question I posed above couldn't be answered by FH + GA.

There is another open ticket on the main repo to track all feature evaluations as well as the deliberate event logging and that approach across the board will take some thought.

Does this mean that the other ticket is looking into adding a feature to view all flag evaluations within FeatureHub as opposed to using GA to track evaluations? I suppose the relevance of this question depends a bit on my first question.

So the functionality we provide in the other SDKs that implement this does not track evaluations as yet, it simply gives you a generic "analytics-collector" interface, which you can plug in any analytics provider, and we generally provide a Google one out of the box.

What it does is - when you say "context.logX("some data")" - it will collect the status of the features for the user at the time, and pass your event + the status of all the features, so you can slice and dice on what events in your code occurred and what features were enabled and disabled at the time.

We haven't yet implemented the general tracking of "whenever a feature is evaluated, track its evaluation and context", but its on the backlog and we have some design plans for it. In essence its fairly straight forward conceptually, but - open source project vs time available and competing requests :-) Or is your question "is Google Analytics able to do this at all?"

My ideal is that is that implementing the analytics functionality in this SDK would take both of the above into account, and I would rather not duplicate the 1/2 a solution the other SDKs have.

So the functionality we provide in the other SDKs that implement this does not track evaluations as yet, it simply gives you a generic "analytics-collector" interface, which you can plug in any analytics provider, and we generally provide a Google one out of the box.

Ahhh okay this makes sense to me. Thanks for clarifying.

open source project vs time available and competing requests :-)

Totally get it. I really appreciate all the time you've taken to respond to my comments and answer questions! It has been really helpful for me and has given me a ton of useful information as I look into FeatureHub :)

Or is your question "is Google Analytics able to do this at all?"

I think I was mostly curious about what it meant in the docs when it said that the GA integration worked out of the box, but the first paragraph helped me make sense of things!