Relatório do Dashboard - Página de Visualizações Consolidadas

Este é um relatório SQL do painel para visualizações de página consolidadas.

Este relatório SQL fornece uma contagem diária de visualizações de página de usuários logados, usuários anônimos e rastreadores em um site Discourse.

-- [params]
-- date :start_date
-- date :end_date

SELECT
    ar.date::date AS "date",
    SUM(ar.count) AS "Total Views",
    SUM(CASE WHEN ar.req_type=6 THEN ar.count ELSE 0 END) AS "Crawler Views",
    SUM(CASE WHEN ar.req_type=7 THEN ar.count ELSE 0 END) AS "Logged in User Views",
    SUM(CASE WHEN ar.req_type=8 THEN ar.count ELSE 0 END) AS "Anonymous User Views"
FROM application_requests ar
WHERE req_type IN (6,7,8)
    AND ar.date::date BETWEEN :start_date AND :end_date
GROUP BY date
ORDER BY date

Explicação da Consulta SQL

A consulta opera na tabela application_requests, que registra vários tipos de solicitações feitas ao fórum. Ela se concentra em três tipos específicos de solicitações identificadas pelos valores req_type:

  • 6: Visualizações de Rastreadores
  • 7: Visualizações de Usuários Logados
  • 8: Visualizações de Usuários Anônimos

Aqui está uma explicação passo a passo do que a consulta faz:

  • Parâmetros: A consulta aceita dois parâmetros, :start_date e :end_date, permitindo que o usuário especifique o intervalo de datas para o relatório. Ambos os parâmetros de data aceitam o formato de data AAAA-MM-DD.
  • Seleção: A consulta seleciona a data da solicitação (ar.date) e a converte para o tipo date. Ela também calcula o total de visualizações e a divisão de visualizações por tipo (rastreador, usuário logado e usuário anônimo) para cada data dentro do intervalo especificado.
  • Soma: Ela soma a coluna count para cada tipo de visualização. As instruções CASE são usadas para incluir condicionalmente as contagens na soma com base no req_type.
  • Filtragem: A cláusula WHERE filtra os registros para incluir apenas aqueles com valores req_type de 6, 7 ou 8 e com datas que caem entre :start_date e :end_date especificados.
  • Agrupamento: A consulta agrupa os resultados por data, garantindo que as contagens para cada tipo de visualização sejam agregadas por dia.
  • Ordenação: Os resultados são ordenados por data para fornecer uma visão cronológica do tráfego.

Resultados de Exemplo

date Total Views Crawler Views Logged in User Views Anonymous User Views
2023-11-18 5608 3052 565 1928
2023-11-19 9207 6564 470 2273
2023-11-20 6271 2631 1016 2924
5 curtidas

@SaraDev ao olhar nosso painel de administração, ele está mostrando req_type = 13 (page_view_anon_browser) e 15 (page_view_logged_in_browser). Isso é um bug? Existe alguma explicação dos tipos de sub-requisição? Por exemplo, não vejo como qualquer combinação dos tipos logados chega ao número 705.

1 curtida

O campo req_type em application_requests corresponde aos seguintes tipos de requisições de aplicação no Discourse:

  1. http_total
  2. http_2xx
  3. http_background
  4. http_3xx
  5. http_4xx
  6. http_5xx
  7. page_view_crawler
  8. page_view_logged_in
  9. page_view_anon
  10. page_view_logged_in_mobile
  11. page_view_anon_mobile
  12. api
  13. user_api
  14. page_view_anon_browser
  15. page_view_anon_browser_mobile
  16. page_view_logged_in_browser
  17. page_view_logged_in_browser_mobile

Você também pode ver essas informações diretamente no Explorador de Dados ao consultar as Tabelas e Esquema do Banco de Dados.

Em setembro de 2024, melhoramos a forma como as visualizações de página são rastreadas e contadas. Aqui está uma explicação do que mudou.

As métricas que você está vendo em seu painel provavelmente estão usando o novo método “Tráfego do Site” para rastrear visualizações de página, e você pode encontrar o SQL correspondente para este método aqui: Relatório do Painel - Tráfego do Site.

Obrigado Sara, a consulta no tópico Dashboard Report - Site Traffic responde à minha pergunta sobre o uso de 13 e 15 e também por que 13 + 14 != 8.

1 curtida