@@ -119,37 +119,46 @@ defmodule Plausible.Workers.TrafficChangeNotifier do
119
119
end
120
120
121
121
defp get_traffic_spike_stats ( site ) do
122
+ % { }
123
+ |> put_sources ( site )
124
+ |> put_pages ( site )
125
+ end
126
+
127
+ @ base_query_params % {
128
+ "metrics" => [ "visitors" ] ,
129
+ "pagination" => % { "limit" => 3 } ,
130
+ "date_range" => "realtime"
131
+ }
132
+
133
+ defp put_sources ( stats , site ) do
122
134
{ :ok , query } =
123
135
Query . build (
124
136
site ,
125
137
:internal ,
126
- % {
127
- "site_id" => "#{ site . id } " ,
128
- "metrics" => [ "visitors" ] ,
129
- "pagination" => % { "limit" => 3 } ,
130
- "date_range" => "realtime"
131
- } ,
138
+ Map . merge ( @ base_query_params , % {
139
+ "site_id" => site . domain ,
140
+ "dimensions" => [ "visit:source" ] ,
141
+ "filters" => [ [ "is_not" , "visit:source" , [ "Direct / None" ] ] ]
142
+ } ) ,
132
143
% { }
133
144
)
134
145
135
- % { }
136
- |> put_sources ( site , query )
137
- |> put_pages ( site , query )
138
- end
139
-
140
- defp put_sources ( stats , site , query ) do
141
- query =
142
- query
143
- |> Query . set ( dimensions: [ "visit:source" ] )
144
- |> Query . add_filter ( [ :is_not , "visit:source" , [ "Direct / None" ] ] )
145
-
146
146
% { results: sources } = Plausible.Stats . query ( site , query )
147
147
148
148
Map . put ( stats , :sources , sources )
149
149
end
150
150
151
- defp put_pages ( stats , site , query ) do
152
- query = Query . set ( query , dimensions: [ "event:page" ] )
151
+ defp put_pages ( stats , site ) do
152
+ { :ok , query } =
153
+ Query . build (
154
+ site ,
155
+ :internal ,
156
+ Map . merge ( @ base_query_params , % {
157
+ "site_id" => site . domain ,
158
+ "dimensions" => [ "event:page" ]
159
+ } ) ,
160
+ % { }
161
+ )
153
162
154
163
% { results: pages } = Plausible.Stats . query ( site , query )
155
164
0 commit comments