summaryrefslogtreecommitdiff
path: root/benchmarks/load_testing/fetcher.ex
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/load_testing/fetcher.ex')
-rw-r--r--benchmarks/load_testing/fetcher.ex53
1 files changed, 53 insertions, 0 deletions
diff --git a/benchmarks/load_testing/fetcher.ex b/benchmarks/load_testing/fetcher.ex
index 786929ace..3aa82b48a 100644
--- a/benchmarks/load_testing/fetcher.ex
+++ b/benchmarks/load_testing/fetcher.ex
@@ -495,4 +495,57 @@ defmodule Pleroma.LoadTesting.Fetcher do
formatters: formatters()
)
end
+
+ def query_replies(user) do
+ public_params = %{
+ "type" => ["Create", "Announce"],
+ "local_only" => false,
+ "blocking_user" => user,
+ "muting_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("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
+ }
+
+ 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
+ })
+ end
end