从Google App Engine仪表板生成自动报告

时间:2012-05-18 20:05:10

标签: google-app-engine

我正在尝试根据我们的应用信息中心页面上的某些统计信息创建每晚电子邮件。我无法找到一种方法来简单地导出数据或通过api访问任何这些数字。

似乎我可以深入了解appstats代码并弄清楚如何使用renderDetailsAsJson自动获取一些统计数据但是a)我想要的大部分统计数据都不在那里而且b)运行appstats日志时我不是很舒服我们的生产系统全职。

我也在考虑抓取html来获取我需要的数字,但我也不期待那样。

有没有人以自动方式检索GAE仪表板数据?任何想法?

1 个答案:

答案 0 :(得分:1)

是的,我们在一些hackery的帮助下成功解析了仪表板。

appengine-tools-sdk-1.6.1.jar中,GAE工具用于更新/管理您的应用程序的AppAdminFactoryServerConnection个类。这个类没有文档,但通过查看源代码,我们提出了一段代码,可以在管理页面上成功获取任何Url:

    AppAdminFactory.ConnectOptions connectionOptions = new AppAdminFactory.ConnectOptions();
    connectionOptions.setCookies(new ClientCookieManager());
    connectionOptions.setHost("https://appengine.google.com");
    connectionOptions.setUserId("your_email@domain.com");
    connectionOptions.setPasswordPrompt(new AppAdminFactory.PasswordPrompt() {
        public String getPassword() {
            return "YourPassword";
        }
    });

    ServerConnection serverConnection = ServerConnectionFactory.getServerConnection(connectionOptions);
    Map<String, String> params = new HashMap<String, String>();

            // provide some parameters (see url when visiting Dashboard)
    params.put("app_id", "s~idd-backend")

            // provide the Url
    String response = serverConnection.get("/dashboard", params);