Hacker News new | ask | show | jobs
by inconshreveable 4521 days ago
The thing that's missing from this article (which is relevant to this crowd) is the incredible focus on simplicity of Keen's API. Keen's API for reporting metrics is the right one. Any Keen SDK has essentially one API call for reporting metrics:

    keen.add_event("collection_name", {
        "arbitrary": "dictionary properties",
        "with_any_type": -11.23
    })
For developers accustomed to instrumenting their applications with various metrics libraries, this is akin to finding the holy grail. Most APIs for metrics collection require you to decide up front what metrics you want, whether it is a time series or a count or a gauge or a ratio. And even after you've figured _that_ out, there is a combinatorial explosion of different metric collections you have to create for every combination of filters that interest you.

For the developer, Keen's API is so powerful because it lets you defer almost all of your "question-asking" until later (which is when you want to think about it anyways because you can never predict up front all of the questions you want to ask about your data).

When I began to evaluate options for monitoring ngrok's usage and performance, Keen struck me both for getting the abstraction right, and because I have watched company after company dump countless amounts of money and developer time into homegrown analytics systems that materialize either too late or far over budget.

Disclaimers:

- I am Keen customer for ngrok.com (https://ngrok.com/status)

- Compelled by the power of their product, and the competence of their team, I now work for Keen.

3 comments

Having written an analytics reporting library [1] I wholly agree with this. The library should not have preconceptions of what you want to report, it should just get out of the way and let you report it. I call it the "Report them all, The User will know His own" approach.

[1] The client complained that all available ones were NIH.

I see that they price in terms of events/month.

Is there a limit as to how big an "event" can be? Is there a limit to how long they hold onto it?

Hi! I'm on the Keen IO team. We have a limit around 1000 properties per event.

For small accounts, we don't currently enforce data archiving, so your data sticks around as long as you want it to.

For large volume customers, where storage & querying large data sets becomes a significant cost, we discuss retention requirements when doing the pricing negotiation.

not saying one's better than the other, but this is exactly the way Mixpanel does it too