fix(server): PV统计加event_name过滤——增量停留事件不再灌倍PV(gzip 4817B记录:0.1.0为3838,增量989)
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
"""
|
||||
from datetime import datetime, time, timedelta
|
||||
|
||||
from django.db.models import Count, Sum
|
||||
from django.db.models import Count, Q, Sum
|
||||
from django.db.models.functions import Trunc
|
||||
from django.utils import timezone
|
||||
from rest_framework.response import Response
|
||||
@@ -128,9 +128,11 @@ class OverviewView(EnvelopeMixin, APIView):
|
||||
return rows.setdefault(
|
||||
(sid, day), {"pv": 0, "uv": 0, "sessions": 0, "new_visitors": 0})
|
||||
|
||||
# pv 只计 page_view(与 daily_counts 同口径):page_stay 增量/sdk_loaded 不并计
|
||||
for r in (ev.annotate(day=Trunc("occurred_at", "day", tzinfo=tz))
|
||||
.values("site", "day")
|
||||
.annotate(pv=Count("id"), uv=Count("visitor", distinct=True))):
|
||||
.annotate(pv=Count("id", filter=Q(event_name="page_view")),
|
||||
uv=Count("visitor", distinct=True))):
|
||||
row = _row(r["site"], r["day"].date())
|
||||
row["pv"], row["uv"] = r["pv"], r["uv"]
|
||||
for r in (vs.annotate(day=Trunc("started_at", "day", tzinfo=tz))
|
||||
|
||||
Reference in New Issue
Block a user