2016-11-09 4 views
1

Раньше я использовал таблицу для использования журналов и просмотра страниц в моих системах. Сейчас я пишу систему в Phoenix и пытаюсь выяснить, как лучше всего отслеживать использование.Как измерить время загрузки страницы в Phoenix

В настоящее время я использую вилку для вставки журналов. Тем не менее, я не могу отслеживать время генерации страницы, так как в начале процесса генерации страницы вызывается вилка, и я не могу узнать, как вызвать ее в конце.

Есть ли способ сделать это или еще лучше, но решение, которое я не смог найти в своем поисковом роботе?

ответ

4

Тем не менее, я не могу отслеживать время генерации страницы, так как вызывается в начале процесса генерации страницы, и я не могу узнать, как вызвать ее в конце.

Вы можете использовать Plug.Conn.register_before_send/2 для выполнения fn после создания страницы и непосредственно перед отправкой ответа. Plug.Loggeruses the same, чтобы отобразить время, необходимое для ответа на запрос.

def call(conn, level) do 
    # Executed before the request is processed. 
    Conn.register_before_send(conn, fn conn -> 
    # Executed after the response is generated. 
    conn # Make sure to return the `conn` here. 
    end) 
end 
+0

Отлично, спасибо! Для дальнейшего использования, где лучше всего найти документацию по этим вещам, так как они не находятся в главном руководстве по фениксу. – Teifion

+0

Эта функция является частью Plug. Здесь вы можете увидеть документацию Plug: https://hexdocs.pm/plug (я также добавил эту ссылку к моему ответу.) – Dogbert

+0

Приветствую вас, очень ценю это. – Teifion