aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNarfinger <Narfinger@users.noreply.github.com>2025-05-15 14:52:33 +0200
committerGitHub <noreply@github.com>2025-05-15 12:52:33 +0000
commit3af0992ead88ffc33e834bc3a6488554ddf7a544 (patch)
tree6d698ca7083c854200a55b333f71ec17e5afbde8
parentcd0dbb9afb84d7fd0c4e34e436792bc9b795f3b2 (diff)
downloadservo-3af0992ead88ffc33e834bc3a6488554ddf7a544.tar.gz
servo-3af0992ead88ffc33e834bc3a6488554ddf7a544.zip
Added a new workflow that benchmarks simple startup and loading of servo.org on HarmonyOS. (#36878)
Added a new workflow that benchmarks simple startup and loading of servo.org on HarmonyOS. Needs https://github.com/servo/ci-runners/pull/34 to be merged and applied to the runners. Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
-rw-r--r--.github/workflows/ohos.yml8
-rw-r--r--ports/servoshell/egl/ohos.rs8
2 files changed, 16 insertions, 0 deletions
diff --git a/.github/workflows/ohos.yml b/.github/workflows/ohos.yml
index 505186903b0..0fe92dcf5c7 100644
--- a/.github/workflows/ohos.yml
+++ b/.github/workflows/ohos.yml
@@ -36,6 +36,7 @@ env:
RUST_BACKTRACE: 1
SHELL: /bin/bash
CARGO_INCREMENTAL: 0
+ BENCHER_PROJECT: ${{ vars.BENCHER_PROJECT || 'servo' }}
jobs:
build:
@@ -238,3 +239,10 @@ jobs:
[[ $servo_pid =~ ^[0-9]+$ ]] || { echo "It looks like servo crashed!" ; exit 1; }
# If the grep fails, then the trace output for the "page loaded" prompt is missing
grep 'org\.servo\.servo-.* tracing_mark_write.*PageLoadEndedPrompt' test_output/servo.ftrace
+ - name: "Run benchmark"
+ run: hitrace-bench --bencher -b "org.servo.servo" -p "https://www.servo.org" -n 5
+ - name: Getting bencher
+ uses: bencherdev/bencher@main
+ - name: Uploading to bencher.dev
+ run: |
+ bencher run --adapter json --file bench.json --project '${{ env.BENCHER_PROJECT }}' --token '${{ secrets.BENCHER_API_TOKEN }}' --github-actions '${{ secrets.GITHUB_TOKEN }}'
diff --git a/ports/servoshell/egl/ohos.rs b/ports/servoshell/egl/ohos.rs
index 79172d368ab..ceccbdbe900 100644
--- a/ports/servoshell/egl/ohos.rs
+++ b/ports/servoshell/egl/ohos.rs
@@ -217,6 +217,8 @@ static SERVO_CHANNEL: OnceLock<Sender<ServoAction>> = OnceLock::new();
#[unsafe(no_mangle)]
extern "C" fn on_surface_created_cb(xcomponent: *mut OH_NativeXComponent, window: *mut c_void) {
info!("on_surface_created_cb");
+ #[cfg(feature = "tracing-hitrace")]
+ let _ = hitrace::ScopedTrace::start_trace(&c"on_surface_created_cb");
let xc_wrapper = XComponentWrapper(xcomponent);
let window_wrapper = WindowWrapper(window);
@@ -812,6 +814,12 @@ impl HostTrait for HostCallbacks {
#[cfg(feature = "tracing-hitrace")]
let _scope = hitrace::ScopedTrace::start_trace(&c"PageLoadEndedPrompt");
self.show_alert("Page finished loading!".to_string());
+ } else {
+ #[cfg(feature = "tracing-hitrace")]
+ let _ = hitrace::ScopedTrace::start_trace_str(&format!(
+ "load status changed {:?}",
+ load_status
+ ));
}
}