我正在使用app engine java。我有兴趣收集一些分析,但这很困难,因为我需要为我有兴趣跟踪的所有信息制作数据存储类 - 它会减损我们的100索引配额,并且只会给我的项目带来额外的复杂性。
我正在通过开发论坛阅读,一个应用引擎项目成员建议只使用日志记录数据,然后下载给定日期的所有日志,并在本地解析它以进行我们的分析。我想知道是否有其他人有这方面的经验?我有兴趣做类似的事情:
import java.util.logging.Logger;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) {
log.info("Serving page '/example/farm'");
Farm farm = null;
try {
farm = datastore.getFarm();
log.info("Got farm ok.");
} catch (Exception ex) {
log.info("No farm found!");
}
}
}
如果我每天下载日志,我可以解析它并计算“服务页面...”消息出现的次数,并了解该页面的服务次数。从其他消息中查找请求的Farm的成功率或失败率也是如此。这是明智的吗?我不确定使用日志的速度有多慢,或者我最好不要手动将这些统计信息存储在数据存储区中。
另一个问题是如果这个页面每天被击中数千次,那么日志文件可能是巨大的,并且下载等不切实际?
谢谢
答案 0 :(得分:1)
之前我已经完成了这种内部分析,并且我总是在任务队列上生成事件以在数据存储中记录信息。它运行良好,因为您可以在应用程序内部构建自定义分析工具,并通过浏览器从任何地方访问它们。
通过切换到付费帐户,可以轻松克服索引的100限制。您可能会发现您将保留在免费配额范围内而不实际支付任何费用,但它会为您提供更多索引。
BTW,谷歌分析策略很有意思。您可以简单地使用urlfetch()或在各种仅限管理员的URL上创建任务队列事件。然后使用分析来查看这些页面被触摸的次数。答案 1 :(得分:0)
有第三方服务可用于此目的。您可以在应用程序中使用它们。我建议你不要这样做。查看Google Analytics