Skip to content

Commit 2260c57

Browse files
authored
Add the initial implementation of javy-profiler (#1213)
* Add the initial implementation of javy-profiler This patch is a follow-up to #1208. It marks the initial work to introduce the profiling functionality as described in #1206. Concretely, this patch focuses on the Whamm integration: * Making the necessary changes to the build system to enable building the profiler library that will be consumed by Whamm. * Adding a new `profile` command and `profile inject` subcommad to the CLI * Gating this functionality under a feature flag. Structure wise I tried to make this change as self-contained as possible (see the changes the makefile, and the introduction of the `profiler` feature flag), allowing for an straightforward removal from tree if we ever decide that this feture should not stabilized. * Ignore transitive dependencies when deriving the wasmtime version This avoid pulling in multiple versions, introduce by transitive dependencies (e.g., whamm) * Run build feature assets in CI
1 parent 7a2802c commit 2260c57

16 files changed

Lines changed: 1419 additions & 134 deletions

File tree

.github/actions/ci-common/action.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ runs:
2929
id: wasmtime_version
3030
shell: bash
3131
run: |
32-
VERSION=$(cargo metadata --format-version=1 --locked | jq '.packages[] | select(.name == "wasmtime") | .version' -r)
32+
VERSION=$(cargo metadata --format-version=1 --locked \
33+
| jq -r '.workspace_members as $ws | (.packages|map({(.id):.version})|add) as $ver | [ .resolve.nodes[] | select(.id as $id | $ws|index($id)) | .deps[] | select(.name=="wasmtime") | .pkg ] | map($ver[.]) | unique | first')
3334
echo "wasmtime_version=$VERSION" >> "$GITHUB_OUTPUT"
3435
3536
- name: Install wasmtime-cli

.github/workflows/ci-npm-javy.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ jobs:
1717
id: wasmtime_version
1818
shell: bash
1919
run: |
20-
VERSION=$(cargo metadata --format-version=1 --locked | jq '.packages[] | select(.name == "wasmtime") | .version' -r)
20+
VERSION=$(cargo metadata --format-version=1 --locked \
21+
| jq -r '.workspace_members as $ws | (.packages|map({(.id):.version})|add) as $ver | [ .resolve.nodes[] | select(.id as $id | $ws|index($id)) | .deps[] | select(.name=="wasmtime") | .pkg ] | map($ver[.]) | unique | first')
2122
echo "wasmtime_version=$VERSION" >> "$GITHUB_OUTPUT"
2223
2324
- name: Install wasmtime-cli

.github/workflows/ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ jobs:
3636
- name: Build test plugins
3737
run: make build-test-plugins
3838

39+
- name: Build feature assets
40+
run: make build-all-feature-assets
41+
3942
- name: Upload plugins
4043
uses: actions/upload-artifact@v7
4144
with:

0 commit comments

Comments
 (0)