【问题标题】:Producing statistics on Google App Engine在 Google App Engine 上生成统计数据
【发布时间】:2012-07-31 10:51:37
【问题描述】:

我想向我的用户显示一些统计信息,例如 Google App Engine 上的点击次数/秒。我开始自己动手了:

  • 在每次页面查看时,将内存缓存中的计数加 1。

每分钟:

  • 读取并重置计数,并将“since”变量设置为现在。
  • 将点击次数除以自上次计算以来的时间量。
  • 将数据保存到数据存储中的实体。
  • 丢弃真正过时的数据。

然后我意识到这很重要,必须有一个库来做这件事,但是我找不到适合我的库。我简要地查看了 rrd4j 和 JRobin,但我不确定它们是否可以在没有大量重写的情况下在 Google App Engine 上使用。有没有人有更多的想法?

【问题讨论】:

    标签: java google-app-engine objectify


    【解决方案1】:

    我似乎记得 Twitter commons 有你需要的东西,但我不知道它们是否可以轻松移植到 GAE:https://github.com/twitter/commons

    【讨论】:

    • 我希望 Twitter 的东西有更好的文档,但它看起来像我所追求的那样。不幸的是,我现在已经开始编写自己的代码了,我认为完成它比重新开始使用 Twitter 更快,但我可以窃取一些东西——比如我也在努力寻找的 BoundedQueue 实现。
    【解决方案2】:

    由于似乎没有人为我提供答案,我将假设没有通用的库可以做到这一点,我将不得不写一个。如果感觉代码不错,我会开源并从这里链接。

    【讨论】:

      【解决方案3】:

      也许ProdEagle 适合你。我认为他们几乎完全按照您的意愿行事,而且我相信他们也有处理从 memcache 中删除的数据的逻辑,而不会在您的图表中留下一个大洞。

      【讨论】:

      • 虽然这正是我想要的,但我真的想要一个库来处理它,而不是外部服务。
      • 对,因为您想向用户显示它,所以它不是用于操作的聚合仪表板。如果您没有找到完全合适的方案,您仍然可以查看 ProdEagle 库以获取灵感并自己添加持久性和表示层。
      【解决方案4】:

      考虑使用Mixpanel。您可以提交任意事件,然后从 API 中提取汇总信息...或者仅使用提供的图表和图形。

      【讨论】:

      • 我真的希望图书馆能在内部做这种事情——那种代码用来产生这样的服务,而不是用来连接的服务。
      【解决方案5】:

      尝试这篇文章http://googleappengine.blogspot.com/2012/07/analyzing-your-google-app-engine-logs.html 中提到的新技术。

      这需要一些额外的工作,但值得一试。我正在使用 Mache(Java 框架)将 appengine 日志摄取到 BigQuery 和 BigQuery API 中以查询结果。现在选择一个精美的 javascript 图表库并给您的用户留下深刻印象。非常强大、灵活且可扩展的解决方案。

      【讨论】:

      • 感谢您的信息 - 它可能对我有用,但它并不是我真正想要的。我假设将事件作为日志提交然后解析这些事件的日志将比使用我描述的 Memcache / Datastore 组合更昂贵。
      【解决方案6】:

      您或许可以使用Google Analytics。您只需将一些 javascript 复制并粘贴到您的模板中。

      【讨论】:

      • Google Analytics 不适合我的工作。 hits/second 只是一个例子。
      • 您在寻找哪些功能?
      • 我想向系统提交一个通用值或事件,然后获取实时或非常接近实时的统计信息 - 例如事件在最后一分钟发生的频率。它们不是这样的页面点击量,我需要将数据返回到我的应用程序中 - 而不是在单独的系统上查看它。
      • @mjaggard,我不知道你最终是如何实现的,但在这种情况下,每分钟创建新的计数碎片并销毁旧的碎片是行不通的?
      • 是的,但我希望不要重新发明轮子。该项目已终止,但我确实得到了这些统计数据,主要是事先使用任务队列。
      猜你喜欢
      • 1970-01-01
      • 2014-06-29
      • 2014-06-05
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 2010-12-28
      • 1970-01-01
      相关资源
      最近更新 更多