Merge branch 'develop' into global-status-expiration
[akkoma] / benchmarks / load_testing / fetcher.ex
index 3aa82b48aaa804ec82d2ff9b538077e81e9352e2..12c30f6f55a1b71f88070a83b7106b7667b4da43 100644 (file)
@@ -41,6 +41,7 @@ defmodule Pleroma.LoadTesting.Fetcher do
     fetch_notifications(user)
     fetch_favourites(user)
     fetch_long_thread(user)
+    fetch_timelines_with_reply_filtering(user)
   end
 
   defp render_views(user) do
@@ -496,56 +497,57 @@ defmodule Pleroma.LoadTesting.Fetcher do
     )
   end
 
-  def query_replies(user) do
-    public_params = %{
-      "type" => ["Create", "Announce"],
-      "local_only" => false,
-      "blocking_user" => user,
-      "muting_user" => user,
-      "count" => 20
-    }
+  defp fetch_timelines_with_reply_filtering(user) do
+    public_params = opts_for_public_timeline(user)
 
-    Benchee.run(%{
-      "Public timeline without reply filtering" => fn ->
-        ActivityPub.fetch_public_activities(public_params)
-      end,
-      "Public timeline with reply filtering - following" => fn ->
-        public_params
-        |> Map.put("reply_visibility", "following")
-        |> Map.put("user", user)
-        |> ActivityPub.fetch_public_activities()
-      end,
-      "Public timeline with reply filtering - self" => fn ->
-        public_params
-        |> Map.put("reply_visibility", "self")
-        |> Map.put("user", user)
-        |> ActivityPub.fetch_public_activities()
-      end
-    })
-
-    private_params = %{
-      "type" => ["Create", "Announce"],
-      "blocking_user" => user,
-      "muting_user" => user,
-      "user" => user,
-      "count" => 20
-    }
+    Benchee.run(
+      %{
+        "Public timeline without reply filtering" => fn ->
+          ActivityPub.fetch_public_activities(public_params)
+        end,
+        "Public timeline with reply filtering - following" => fn ->
+          public_params
+          |> Map.put("reply_visibility", "following")
+          |> Map.put("reply_filtering_user", user)
+          |> ActivityPub.fetch_public_activities()
+        end,
+        "Public timeline with reply filtering - self" => fn ->
+          public_params
+          |> Map.put("reply_visibility", "self")
+          |> Map.put("reply_filtering_user", user)
+          |> ActivityPub.fetch_public_activities()
+        end
+      },
+      formatters: formatters()
+    )
+
+    private_params = opts_for_home_timeline(user)
 
     recipients = [user.ap_id | User.following(user)]
 
-    Benchee.run(%{
-      "Home timeline without reply filtering" => fn ->
-        ActivityPub.fetch_activities(recipients, private_params)
-      end,
-      "Home timeline with reply filtering - following" => fn ->
-        private_params = Map.put(private_params, "reply_visibility", "following")
-
-        ActivityPub.fetch_activities(recipients, private_params)
-      end,
-      "Home timeline with reply filtering - self" => fn ->
-        private_params = Map.put(private_params, "reply_visibility", "self")
-        ActivityPub.fetch_activities(recipients, private_params)
-      end
-    })
+    Benchee.run(
+      %{
+        "Home timeline without reply filtering" => fn ->
+          ActivityPub.fetch_activities(recipients, private_params)
+        end,
+        "Home timeline with reply filtering - following" => fn ->
+          private_params =
+            private_params
+            |> Map.put("reply_filtering_user", user)
+            |> Map.put("reply_visibility", "following")
+
+          ActivityPub.fetch_activities(recipients, private_params)
+        end,
+        "Home timeline with reply filtering - self" => fn ->
+          private_params =
+            private_params
+            |> Map.put("reply_filtering_user", user)
+            |> Map.put("reply_visibility", "self")
+
+          ActivityPub.fetch_activities(recipients, private_params)
+        end
+      },
+      formatters: formatters()
+    )
   end
 end