Dashboard-Bericht - Konsolidierte Seitenaufrufe

Dies ist eine SQL-Version des Dashboard-Berichts für konsolidierte Seitenaufrufe.

Dieser SQL-Bericht liefert eine tägliche Zählung von Seitenaufrufen von angemeldeten Benutzern, anonymen Benutzern und Crawlern auf einer Discourse-Site.

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

SELECT
    ar.date::date AS "Datum",
    SUM(ar.count) AS "Gesamtansichten",
    SUM(CASE WHEN ar.req_type=6 THEN ar.count ELSE 0 END) AS "Crawler-Aufrufe",
    SUM(CASE WHEN ar.req_type=7 THEN ar.count ELSE 0 END) AS "Aufrufe angemeldeter Benutzer",
    SUM(CASE WHEN ar.req_type=8 THEN ar.count ELSE 0 END) AS "Aufrufe anonymer Benutzer"
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

Erklärung der SQL-Abfrage

Die Abfrage arbeitet mit der Tabelle application_requests, die verschiedene Arten von Anfragen an das Forum protokolliert. Sie konzentriert sich auf drei spezifische Anfragetypen, die durch die req_type-Werte identifiziert werden:

  • 6: Crawler-Aufrufe
  • 7: Aufrufe angemeldeter Benutzer
  • 8: Aufrufe anonymer Benutzer

Hier ist eine Schritt-für-Schritt-Erklärung, was die Abfrage tut:

  • Parameter: Die Abfrage akzeptiert zwei Parameter, :start_date und :end_date, die es dem Benutzer ermöglichen, den Datumsbereich für den Bericht anzugeben. Beide Datumsparameter akzeptieren das Datumsformat JJJJ-MM-TT.
  • Auswahl: Die Abfrage wählt das Datum der Anfrage (ar.date) aus und wandelt es in den Datentyp date um. Sie berechnet auch die Gesamtansichten und die Aufschlüsselung der Ansichten nach Typ (Crawler, angemeldeter Benutzer und anonymer Benutzer) für jedes Datum innerhalb des angegebenen Bereichs.
  • Summierung: Sie summiert die Spalte count für jeden Ansichtstyp. Die CASE-Anweisungen werden verwendet, um die Zählungen basierend auf dem req_type bedingt in die Summe einzubeziehen.
  • Filterung: Die WHERE-Klausel filtert die Datensätze, um nur diejenigen mit req_type-Werten von 6, 7 oder 8 und mit Daten zwischen dem angegebenen :start_date und :end_date einzuschließen.
  • Gruppierung: Die Abfrage gruppiert die Ergebnisse nach Datum, um sicherzustellen, dass die Zählungen für jeden Ansichtstyp pro Tag aggregiert werden.
  • Sortierung: Die Ergebnisse werden nach Datum sortiert, um eine chronologische Ansicht des Traffics zu erhalten.

Beispielergebnisse

Datum Gesamtansichten Crawler-Aufrufe Aufrufe angemeldeter Benutzer Aufrufe anonymer Benutzer
2023-11-18 5608 3052 565 1928
2023-11-19 9207 6564 470 2273
2023-11-20 6271 2631 1016 2924
5 „Gefällt mir“

@SaraDev Wenn wir sich unser Admin-Dashboard ansehen, zeigt es req_type = 13 (page_view_anon_browser) und 15 (page_view_logged_in_browser) an. Ist das ein Fehler? Gibt es eine Erklärung für die Unter-Anfragetypen? Zum Beispiel sehe ich nicht, wie irgendeine Kombination der angemeldeten Typen auf die Zahl 705 kommt.

1 „Gefällt mir“

Das Feld req_type in den application_requests entspricht den folgenden Arten von Anwendungsanfragen 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

Sie können diese Informationen auch direkt im Data Explorer einsehen, wenn Sie sich die Datenbanktabellen und Schema ansehen.

Im September 2024 haben wir die Art und Weise, wie Seitenaufrufe verfolgt und gezählt werden, verbessert. Hier ist eine Erklärung, was sich geändert hat.

Die Metriken, die Sie auf Ihrem Dashboard sehen, verwenden wahrscheinlich die neue Methode “Site Traffic” zur Verfolgung von Seitenaufrufen, und die entsprechende SQL-Abfrage für diese Methode finden Sie hier: Dashboard-Bericht - Site Traffic.

Danke Sara, die Abfrage im Thema Dashboard Report - Site Traffic beantwortet meine Frage zur Verwendung von 13 und 15 und auch, warum 13 + 14 != 8.

1 „Gefällt mir“