Я хочу отслеживать cpm_usd value всех запросов, которые поступают на мои GAE экземпляры интерфейса. Я вижу заголовки cpm_usd в logs моего приложения. Но есть ли способ получить доступ к этим номерам во время выполнения, чтобы их отобразить? Я хочу создать почти метрику затрат в реальном времени для каждой конечной точки.Как измерить стоимость запросов (cpm_usd) программно?
- /отдых/foo1: $ 0,000011
- /отдых/foo2: $ 0,000013
- /отдых/bar1: $ 0,000014
- /отдых/bar2: $ 0,000016
Есть ли доверенный тестер программа для этого? Если нет, есть ли другой способ сделать это, что не требует анализа файлов журнала? Или я могу получить только эти числа, анализируя журналы в фоновом режиме?
Обновления
Как описано here, я попытался добавить sitebricks запроса фильтр, который перехватывает {добавить, набор} заголовка() вызовы.
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 устанавливает заголовки по-разному. В любом случае я никогда не вижу, чтобы заголовок затрат был пойман.
Если я не могу получить доступ к заголовкам, есть ли способ получить информацию о стоимости за URL в противном случае? Если не будет программы Trusted Tester для чего-то подобного? Такой API не обязательно должен будет возвращать затраты в долларах США. Основная мотивация - увидеть тенденцию «стоимости» с течением времени и сравнить «стоимость» за каждый URL. – Ingo