我希望跟踪到达我的美元价值前端实例的所有请求的美元价值。我在我的应用程序的cpm_usd中看到了日志头。,但是是否有一种方法可以在运行时访问这些数字来绘制它们呢?,我想为每个端点创建一个几乎实时的成本度量。
是否有一个可信的测试程序来完成这一任务?如果没有,是否有另一种不需要解析我的日志文件的方法来做到这一点?或者,我只能通过解析后台的日志来获得这些数字吗?
更新
正如所描述的这里,我尝试添加一个小斑马请求筛选器来拦截{add,set}Header()调用。
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
chain.doFilter(request, new HttpServletResponseWrapper((HttpServletResponse) response) {
@Override
public void setHeader(String name, String value) {
if ("X-AppEngine-Estimated-CPM-US-Dollars".equals(name)) {
// log request costs
}
super.setHeader(name, value);
}
@Override
public void addHeader(String name, String value) {
if ("X-AppEngine-Estimated-CPM-US-Dollars".equals(name)) {
// log request costs
}
super.addHeader(name, value);
}
});
}我假设标头具有不同的名称,或者GAE设置头的方式不同。在这两种情况下,我从来没有看到成本头被捕获。
发布于 2013-04-19 17:24:19
头部由位于实例前面的应用程序服务器添加,因此无法从代码中访问此标头。
您必须解析日志文件,并可以考虑使用log2bq进行此操作。
https://stackoverflow.com/questions/16062647
复制相似问题