Rapporto Dashboard - Visualizzazioni di Pagina Consolidate

Questa è una versione SQL del Report della Bacheca per le Visualizzazioni di Pagina Consolidate.

Questo report SQL fornisce un conteggio giornaliero delle visualizzazioni di pagina da parte di utenti con accesso effettuato, utenti anonimi e crawler su un sito 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

Spiegazione della Query SQL

La query opera sulla tabella application_requests, che registra vari tipi di richieste effettuate al forum. Si concentra su tre tipi specifici di richieste identificati dai valori req_type:

  • 6: Visualizzazioni Crawler
  • 7: Visualizzazioni Utenti con Accesso Effettuato
  • 8: Visualizzazioni Utenti Anonimi

Ecco una spiegazione passo passo di ciò che fa la query:

  • Parametri: La query accetta due parametri, :start_date e :end_date, che consentono all’utente di specificare l’intervallo di date per il report. Entrambi i parametri di data accettano il formato data AAAA-MM-GG.
  • Selezione: La query seleziona la data della richiesta (ar.date) e la converte in un tipo date. Calcola inoltre le visualizzazioni totali e la ripartizione delle visualizzazioni per tipo (crawler, utente con accesso effettuato e utente anonimo) per ogni data nell’intervallo specificato.
  • Somma: Somma la colonna count per ogni tipo di visualizzazione. Le istruzioni CASE vengono utilizzate per includere condizionalmente i conteggi nella somma in base al req_type.
  • Filtraggio: La clausola WHERE filtra i record per includere solo quelli con valori req_type di 6, 7 o 8 e con date comprese tra :start_date e :end_date specificati.
  • Raggruppamento: La query raggruppa i risultati per data, assicurando che i conteggi per ogni tipo di visualizzazione siano aggregati per giorno.
  • Ordinamento: I risultati sono ordinati per data per fornire una visualizzazione cronologica del traffico.

Risultati di Esempio

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 Mi Piace

@SaraDev quando guardiamo la nostra dashboard di amministrazione, mostra req_type = 13 (page_view_anon_browser) e 15 (page_view_logged_in_browser). È un bug? C’è una spiegazione dei sottotipi di richiesta? Ad esempio, non capisco come una qualsiasi combinazione dei tipi di accesso effettuato possa portare al numero 705.

1 Mi Piace

Il campo req_type in application_requests corrisponde ai seguenti tipi di richieste dell’applicazione in 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

Puoi anche visualizzare queste informazioni direttamente in Data Explorer quando guardi le Tabelle del database e schema.

Nel settembre 2024, abbiamo migliorato il modo in cui le visualizzazioni di pagina vengono tracciate e conteggiate. Ecco una spiegazione di cosa è cambiato.

Le metriche che stai vedendo sulla tua dashboard stanno probabilmente utilizzando il nuovo metodo “Traffico del sito” per tracciare le visualizzazioni di pagina e puoi trovare il corrispondente SQL per questo metodo qui: Report Dashboard - Traffico del sito.

Grazie Sara, la query nell’argomento Dashboard Report - Site Traffic risponde alla mia domanda sull’utilizzo di 13 e 15 e anche sul perché 13 + 14 != 8.

1 Mi Piace