summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix <me@nutomic.com>2020-01-28 16:50:40 +0100
committerFelix <me@nutomic.com>2020-01-31 14:17:37 +0100
commit7b4bf68486ad46b70e761b88be4819d4fc044f91 (patch)
tree92992e8a69da13a6c1f700affb5d73b68d88d87b
parent8cfd5f9266a0a93dc47ec2ab6060ee0435276aba (diff)
Add script to test http api, fix two api calls
-rwxr-xr-xserver/query_testing/apache_bench_report.sh3
-rwxr-xr-xserver/query_testing/api_benchmark.sh34
-rwxr-xr-xserver/query_testing/generate_explain_reports.sh3
-rw-r--r--server/src/api/site.rs4
-rw-r--r--ui/src/services/WebSocketService.ts4
5 files changed, 42 insertions, 6 deletions
diff --git a/server/query_testing/apache_bench_report.sh b/server/query_testing/apache_bench_report.sh
index c22af730..62b3e863 100755
--- a/server/query_testing/apache_bench_report.sh
+++ b/server/query_testing/apache_bench_report.sh
@@ -1,4 +1,5 @@
-#!/bin/sh
+#!/bin/bash
+set -e
declare -a arr=(
"https://mastodon.social/"
diff --git a/server/query_testing/api_benchmark.sh b/server/query_testing/api_benchmark.sh
new file mode 100755
index 00000000..8f8c65f1
--- /dev/null
+++ b/server/query_testing/api_benchmark.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+set -e
+
+# By default, this script runs against `http://127.0.0.1:8536`, but you can pass a different Lemmy instance,
+# eg `./api_benchmark.sh "https://example.com"`.
+DOMAIN=${1:-"http://127.0.0.1:8536"}
+
+declare -a arr=(
+"/api/v1/site"
+"/api/v1/categories"
+"/api/v1/modlog"
+"/api/v1/search?q=test&type_=Posts&sort=Hot"
+"/api/v1/community"
+"/api/v1/community/list?sort=Hot"
+"/api/v1/post/list?sort=Hot&type_=All"
+)
+
+## now loop through the above array
+for path in "${arr[@]}"
+do
+ URL="$DOMAIN$path"
+ printf "\n\n\n"
+ echo "testing $URL"
+ curl --show-error --fail --silent "$URL" >/dev/null
+ ab -c 64 -t 10 "$URL" > out.abtest
+ grep "Server Hostname:" out.abtest
+ grep "Document Path:" out.abtest
+ grep "Requests per second" out.abtest
+ grep "(mean, across all concurrent requests)" out.abtest
+ grep "Transfer rate:" out.abtest
+ echo "---"
+done
+
+rm *.abtest
diff --git a/server/query_testing/generate_explain_reports.sh b/server/query_testing/generate_explain_reports.sh
index 9ba91036..0dc06f65 100755
--- a/server/query_testing/generate_explain_reports.sh
+++ b/server/query_testing/generate_explain_reports.sh
@@ -1,4 +1,5 @@
-#!/bin/sh
+#!/bin/bash
+set -e
# Do the views first
diff --git a/server/src/api/site.rs b/server/src/api/site.rs
index a5faf34d..dfbd5ff0 100644
--- a/server/src/api/site.rs
+++ b/server/src/api/site.rs
@@ -3,7 +3,7 @@ use diesel::PgConnection;
use std::str::FromStr;
#[derive(Serialize, Deserialize)]
-pub struct ListCategories;
+pub struct ListCategories {}
#[derive(Serialize, Deserialize)]
pub struct ListCategoriesResponse {
@@ -72,7 +72,7 @@ pub struct EditSite {
}
#[derive(Serialize, Deserialize)]
-pub struct GetSite;
+pub struct GetSite {}
#[derive(Serialize, Deserialize)]
pub struct SiteResponse {
diff --git a/ui/src/services/WebSocketService.ts b/ui/src/services/WebSocketService.ts
index e72a2871..b4042194 100644
--- a/ui/src/services/WebSocketService.ts
+++ b/ui/src/services/WebSocketService.ts
@@ -116,7 +116,7 @@ export class WebSocketService {
public listCategories() {
this.subject.next(
- this.wsSendWrapper(UserOperation.ListCategories, undefined)
+ this.wsSendWrapper(UserOperation.ListCategories, {})
);
}
@@ -255,7 +255,7 @@ export class WebSocketService {
}
public getSite() {
- this.subject.next(this.wsSendWrapper(UserOperation.GetSite, undefined));
+ this.subject.next(this.wsSendWrapper(UserOperation.GetSite, {}));
}
public search(form: SearchForm) {