2013-04-17 1 views
0

Я хочу отслеживать 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 устанавливает заголовки по-разному. В любом случае я никогда не вижу, чтобы заголовок затрат был пойман.

ответ

2

Заголовок добавлен сервером приложений, который находится перед вашим экземпляром, поэтому вы не можете получить доступ к этому заголовку из своего кода.

Вам необходимо проанализировать файлы журнала и можете использовать log2bq для этого.

+0

Если я не могу получить доступ к заголовкам, есть ли способ получить информацию о стоимости за URL в противном случае? Если не будет программы Trusted Tester для чего-то подобного? Такой API не обязательно должен будет возвращать затраты в долларах США. Основная мотивация - увидеть тенденцию «стоимости» с течением времени и сравнить «стоимость» за каждый URL. – Ingo