Skip to content

SRE-985: Remove the vestigial head-SHA checkout pin from the unit-tests job - #9439

Merged
TimDiekmann merged 2 commits into
mainfrom
claude/sre-985-drop-unit-tests-head-sha-pin
Aug 29, 2026
Merged

SRE-985: Remove the vestigial head-SHA checkout pin from the unit-tests job#9439
TimDiekmann merged 2 commits into
mainfrom
claude/sre-985-drop-unit-tests-head-sha-pin

Conversation

@claude

@claude claude Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Requested by Tim Diekmann · Slack thread

🌟 What is the purpose of this PR?

Before: the setup job in test.yml works out which packages a pull request affects by looking at the merge ref — the PR's changes as they would land on main. The unit-tests job then pinned its own checkout to the PR head instead. So the two jobs disagreed about which tree they were talking about. If a PR's head is older than a package that has since landed on main, setup hands unit-tests a matrix entry for a package that does not exist in the head tree, and the job dies at its "Prune repository" step. The change under test is fine; the workflow put it in an impossible position.

After: unit-tests checks out the same merge ref that produced its matrix, so the matrix always names packages that are actually present. This is what every other job already does — setup, integration-tests and publish-rust in this file, and the whole of lint.yml, codspeed.yml and deploy.yml. The pin was the only one of its kind in test.yml.

How: the fix is to delete the two-line with: ref: block from the unit-tests checkout. The pin was added by #8034 (SRE-133) because DeepSource's coverage action wanted the head SHA. #8041 removed DeepSource five days later and left the pin behind. Nothing depends on it today: DeepSource is gone from the repository entirely, and the Codecov upload steps take no SHA input — the identical steps already run unpinned in integration-tests, which is the direct evidence that Codecov does not need it.

🔗 Related links

🔍 What does this change?

  • .github/workflows/test.yml: drop ref: ${{ github.event.pull_request.head.sha }} from the unit-tests checkout. This is the change the ticket asks for.
  • .github/workflows/bench.yml: a separable tidy-up, in its own second commit so it can be dropped without touching the first. A sweep of everything under .github/ for head-ref checkout pins turned up four more in bench.yml. Two pairs (base.sha then head.sha, both gated if: github.event_name == 'pull_request') are the deliberate A/B benchmarking checkouts and are left exactly as they are. The other two are dead: they sit on Checkout steps gated if: github.event_name != 'pull_request', and bench.yml triggers only on pull_request and push, so whenever those steps run there is no pull request in the payload and the expression evaluates to the empty string. actions/checkout treats an empty ref as unset and checks out the triggering ref anyway, so the inputs have never done anything. Removing them changes no behaviour.

Validation: actionlint v1.7.12 (the version housekeeping.yml pins) reports exactly the same findings on this branch as on main — 29, all of them the $/ self-repository syntax that this actionlint version predates. Both files still parse as YAML and the job and step structure is unchanged apart from the deletions above.

Pre-Merge Checklist 🚀

🚢 Has this modified a publishable library?

This PR:

  • does not modify any publishable blocks or libraries, or modifications do not need publishing

📜 Does this require a change to the docs?

The changes in this PR:

  • are internal and do not require a docs change

🕸️ Does this require a change to the Turbo Graph?

The changes in this PR:

  • do not affect the execution graph

⚠️ Known issues

None. Both changes are deletions of inputs that nothing reads.

🛡 What tests cover this?

CI on this PR is the test. unit-tests running green proves the job still checks out a usable tree without the pin.

❓ How to test this?

  1. Watch the Test / Unit jobs on this PR — they now run on the merge ref.
  2. To see the original failure, open a PR from a branch whose head predates a package added to main, and confirm on main that unit-tests fails at "Prune repository" while setup lists the new package.

claude added 2 commits August 29, 2026 16:05
The `setup` job computes the affected-package matrix on a pull request's
merge ref, while `unit-tests` pinned its own checkout to the head SHA. When
a PR's head predates a package that has since landed on `main`, the matrix
names a package that is absent from the head tree and the job fails at its
"Prune repository" step.

The pin arrived with #8034 for DeepSource's coverage action; #8041 removed
DeepSource and left the pin behind. Nothing reads it now, so the job joins
the rest of the file on the merge ref.
Both `Checkout` steps guarded by `github.event_name != 'pull_request'` set
`ref` to `github.event.pull_request.head.sha`. bench.yml runs only on
`pull_request` and `push`, so on the events that reach these steps the
payload carries no pull request and the expression is empty; actions/checkout
treats an empty `ref` as unset and checks out the triggering ref regardless.

The deliberate base/head checkout pairs that drive A/B benchmarking on
pull requests are untouched.
@vercel

vercel Bot commented Aug 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hash Ready Ready Preview Aug 29, 2026 4:20pm
hashdotdesign-tokens Ready Ready Preview Aug 29, 2026 4:20pm
petrinaut Ready Ready Preview Aug 29, 2026 4:20pm
petrinaut-docs Ready Ready Preview Aug 29, 2026 4:20pm

Request Review

@codecov

codecov Bot commented Aug 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 61.00%. Comparing base (59468b1) to head (0bcf754).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9439      +/-   ##
==========================================
+ Coverage   60.66%   61.00%   +0.33%     
==========================================
  Files        1439     1446       +7     
  Lines      143119   144453    +1334     
  Branches     6654     6687      +33     
==========================================
+ Hits        86817    88117    +1300     
- Misses      55211    55232      +21     
- Partials     1091     1104      +13     
Flag Coverage Δ
apps.hash-ai-worker-ts 1.99% <ø> (ø)
apps.hash-api 14.68% <ø> (ø)
blockprotocol.type-system 40.84% <ø> (ø)
local.claude-hooks 0.00% <ø> (ø)
local.harpc-client 51.49% <ø> (ø)
local.hash-backend-utils 3.27% <ø> (ø)
local.hash-graph-sdk 10.02% <ø> (ø)
local.hash-isomorphic-utils 12.22% <ø> (ø)
rust.antsi 2.36% <ø> (ø)
rust.error-stack 90.81% <ø> (ø)
rust.harpc-codec 84.70% <ø> (ø)
rust.harpc-net 96.19% <ø> (-0.02%) ⬇️
rust.harpc-tower 67.03% <ø> (ø)
rust.harpc-types 0.00% <ø> (ø)
rust.harpc-wire-protocol 92.23% <ø> (ø)
rust.hash-codec 72.76% <ø> (ø)
rust.hash-config 100.00% <ø> (ø)
rust.hash-graph-api 19.76% <ø> (-1.28%) ⬇️
rust.hash-graph-authentication 97.00% <ø> (+0.97%) ⬆️
rust.hash-graph-authorization 63.14% <ø> (ø)
rust.hash-graph-embeddings 91.88% <ø> (ø)
rust.hash-graph-postgres-store 32.02% <ø> (+0.30%) ⬆️
rust.hash-graph-store 48.41% <ø> (-0.09%) ⬇️
rust.hash-graph-temporal-versioning 50.18% <ø> (+2.22%) ⬆️
rust.hash-graph-types 0.00% <ø> (ø)
rust.hash-graph-validation 84.71% <ø> (ø)
rust.hash-middleware 92.19% <ø> (∅)
rust.hashql-ast 89.63% <ø> (ø)
rust.hashql-compiletest 28.39% <ø> (ø)
rust.hashql-core 78.95% <ø> (ø)
rust.hashql-diagnostics 72.51% <ø> (ø)
rust.hashql-eval 79.82% <ø> (ø)
rust.hashql-hir 89.09% <ø> (ø)
rust.hashql-mir 87.92% <ø> (ø)
rust.hashql-syntax-jexpr 94.04% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@codspeed-hq

codspeed-hq Bot commented Aug 29, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 15.38%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

❌ 2 regressed benchmarks
✅ 96 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
bit_matrix/dense/iter_row[64] 140.8 ns 170 ns -17.16%
bit_matrix/dense/iter_row[200] 185.8 ns 215 ns -13.57%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing claude/sre-985-drop-unit-tests-head-sha-pin (0bcf754) with main (59468b1)1

Open in CodSpeed

Footnotes

  1. No successful run was found on main (56c4651) during the generation of this report, so 59468b1 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@claude
claude Bot marked this pull request as ready for review August 29, 2026 16:38
@claude
claude Bot requested a review from TimDiekmann August 29, 2026 16:38
@cursor

cursor Bot commented Aug 29, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Workflow-only deletions that align checkout with existing jobs; no application or security logic changes.

Overview
Fixes a ref mismatch in the Test workflow: unit-tests no longer pins checkout to the PR head SHA, so it uses the same default ref as setup (the merge ref). That stops matrix entries for packages that exist on merged main but not on an stale PR head from breaking Prune repository.

Also removes the same vestigial ref: ${{ github.event.pull_request.head.sha }} from non–pull-request Checkout steps in bench.yml (unit and integration bench jobs), where the expression is empty on push and checkout behavior was already unchanged. Deliberate base/head bench checkouts on PRs are untouched.

Reviewed by Cursor Bugbot for commit 0bcf754. Bugbot is set up for automated code reviews on this repo. Configure here.

@TimDiekmann
TimDiekmann added this pull request to the merge queue Aug 29, 2026
Merged via the queue into main with commit 73cbb0b Aug 29, 2026
222 checks passed
@TimDiekmann
TimDiekmann deleted the claude/sre-985-drop-unit-tests-head-sha-pin branch August 29, 2026 17:12
@github-actions

Copy link
Copy Markdown
Contributor

Benchmark results

@rust/hash-graph-benches – Integrations

policy_resolution_large

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 2002 $$26.5 \mathrm{ms} \pm 195 \mathrm{μs}\left({\color{gray}4.71 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$3.10 \mathrm{ms} \pm 16.3 \mathrm{μs}\left({\color{red}10.3 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 1002 $$12.4 \mathrm{ms} \pm 72.6 \mathrm{μs}\left({\color{red}6.83 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 3314 $$38.5 \mathrm{ms} \pm 280 \mathrm{μs}\left({\color{red}6.20 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$13.1 \mathrm{ms} \pm 118 \mathrm{μs}\left({\color{red}18.0 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 1527 $$22.3 \mathrm{ms} \pm 188 \mathrm{μs}\left({\color{red}6.94 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 2078 $$27.5 \mathrm{ms} \pm 197 \mathrm{μs}\left({\color{red}5.25 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.41 \mathrm{ms} \pm 21.3 \mathrm{μs}\left({\color{red}10.3 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 1033 $$13.6 \mathrm{ms} \pm 101 \mathrm{μs}\left({\color{red}5.86 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_medium

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 102 $$3.35 \mathrm{ms} \pm 22.5 \mathrm{μs}\left({\color{red}7.11 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.63 \mathrm{ms} \pm 14.5 \mathrm{μs}\left({\color{red}7.42 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 52 $$2.90 \mathrm{ms} \pm 15.5 \mathrm{μs}\left({\color{red}6.30 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 269 $$4.67 \mathrm{ms} \pm 27.6 \mathrm{μs}\left({\color{red}6.93 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$3.11 \mathrm{ms} \pm 15.7 \mathrm{μs}\left({\color{red}7.79 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 108 $$3.69 \mathrm{ms} \pm 24.5 \mathrm{μs}\left({\color{red}8.73 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 133 $$3.93 \mathrm{ms} \pm 38.4 \mathrm{μs}\left({\color{red}7.55 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.04 \mathrm{ms} \pm 17.5 \mathrm{μs}\left({\color{red}8.34 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 63 $$3.60 \mathrm{ms} \pm 23.4 \mathrm{μs}\left({\color{red}7.81 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_none

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 2 $$2.32 \mathrm{ms} \pm 17.1 \mathrm{μs}\left({\color{red}6.73 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.11 \mathrm{ms} \pm 14.3 \mathrm{μs}\left({\color{gray}1.57 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 2 $$2.26 \mathrm{ms} \pm 13.7 \mathrm{μs}\left({\color{gray}4.91 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 8 $$2.53 \mathrm{ms} \pm 13.5 \mathrm{μs}\left({\color{red}6.69 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$2.42 \mathrm{ms} \pm 45.8 \mathrm{μs}\left({\color{red}8.89 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 3 $$2.50 \mathrm{ms} \pm 16.5 \mathrm{μs}\left({\color{red}6.64 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_small

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 52 $$2.54 \mathrm{ms} \pm 18.1 \mathrm{μs}\left({\color{gray}2.97 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.31 \mathrm{ms} \pm 13.1 \mathrm{μs}\left({\color{gray}2.45 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 26 $$2.45 \mathrm{ms} \pm 18.7 \mathrm{μs}\left({\color{gray}0.943 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 94 $$2.85 \mathrm{ms} \pm 17.0 \mathrm{μs}\left({\color{gray}2.85 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$2.56 \mathrm{ms} \pm 15.6 \mathrm{μs}\left({\color{red}5.41 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 27 $$2.67 \mathrm{ms} \pm 16.8 \mathrm{μs}\left({\color{gray}0.566 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 66 $$2.82 \mathrm{ms} \pm 15.6 \mathrm{μs}\left({\color{gray}3.23 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$2.54 \mathrm{ms} \pm 15.7 \mathrm{μs}\left({\color{red}5.32 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 29 $$2.73 \mathrm{ms} \pm 15.4 \mathrm{μs}\left({\color{gray}1.62 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_complete

Function Value Mean Flame graphs
entity_by_id;one_depth 1 entities $$37.8 \mathrm{ms} \pm 206 \mathrm{μs}\left({\color{gray}1.67 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 10 entities $$30.5 \mathrm{ms} \pm 192 \mathrm{μs}\left({\color{red}6.48 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 25 entities $$33.4 \mathrm{ms} \pm 234 \mathrm{μs}\left({\color{red}6.06 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 5 entities $$29.1 \mathrm{ms} \pm 160 \mathrm{μs}\left({\color{red}5.67 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 50 entities $$39.7 \mathrm{ms} \pm 212 \mathrm{μs}\left({\color{red}7.52 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 1 entities $$43.6 \mathrm{ms} \pm 182 \mathrm{μs}\left({\color{gray}-0.528 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 10 entities $$35.5 \mathrm{ms} \pm 195 \mathrm{μs}\left({\color{gray}1.87 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 25 entities $$82.1 \mathrm{ms} \pm 555 \mathrm{μs}\left({\color{red}6.37 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 5 entities $$29.6 \mathrm{ms} \pm 152 \mathrm{μs}\left({\color{gray}1.32 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 50 entities $$245 \mathrm{ms} \pm 724 \mathrm{μs}\left({\color{gray}4.35 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 1 entities $$9.56 \mathrm{ms} \pm 64.2 \mathrm{μs}\left({\color{red}6.35 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 10 entities $$9.59 \mathrm{ms} \pm 53.4 \mathrm{μs}\left({\color{gray}3.96 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 25 entities $$9.70 \mathrm{ms} \pm 54.1 \mathrm{μs}\left({\color{red}6.14 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 5 entities $$9.49 \mathrm{ms} \pm 52.9 \mathrm{μs}\left({\color{red}5.25 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 50 entities $$9.70 \mathrm{ms} \pm 59.2 \mathrm{μs}\left({\color{red}6.55 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_linkless

Function Value Mean Flame graphs
entity_by_id 1 entities $$9.61 \mathrm{ms} \pm 63.6 \mathrm{μs}\left({\color{red}6.38 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10 entities $$9.55 \mathrm{ms} \pm 69.3 \mathrm{μs}\left({\color{red}6.75 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 100 entities $$9.53 \mathrm{ms} \pm 51.4 \mathrm{μs}\left({\color{red}5.50 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 1000 entities $$9.96 \mathrm{ms} \pm 71.8 \mathrm{μs}\left({\color{red}9.18 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10000 entities $$10.0 \mathrm{ms} \pm 62.8 \mathrm{μs}\left({\color{gray}3.98 \mathrm{\%}}\right) $$ Flame Graph

representative_read_entity

Function Value Mean Flame graphs
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/block/v/1 $$9.85 \mathrm{ms} \pm 52.7 \mathrm{μs}\left({\color{red}5.84 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/book/v/1 $$9.96 \mathrm{ms} \pm 61.4 \mathrm{μs}\left({\color{red}6.66 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/building/v/1 $$9.96 \mathrm{ms} \pm 64.3 \mathrm{μs}\left({\color{gray}4.86 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/organization/v/1 $$9.92 \mathrm{ms} \pm 55.5 \mathrm{μs}\left({\color{red}5.31 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/page/v/2 $$9.86 \mathrm{ms} \pm 60.7 \mathrm{μs}\left({\color{red}5.09 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/person/v/1 $$9.92 \mathrm{ms} \pm 57.8 \mathrm{μs}\left({\color{red}5.85 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/playlist/v/1 $$9.90 \mathrm{ms} \pm 62.8 \mathrm{μs}\left({\color{red}5.62 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/song/v/1 $$9.87 \mathrm{ms} \pm 51.6 \mathrm{μs}\left({\color{red}5.99 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1 $$9.96 \mathrm{ms} \pm 55.5 \mathrm{μs}\left({\color{red}5.52 \mathrm{\%}}\right) $$ Flame Graph

representative_read_entity_type

Function Value Mean Flame graphs
get_entity_type_by_id Account ID: bf5a9ef5-dc3b-43cf-a291-6210c0321eba $$7.26 \mathrm{ms} \pm 40.6 \mathrm{μs}\left({\color{gray}4.62 \mathrm{\%}}\right) $$ Flame Graph

representative_read_multiple_entities

Function Value Mean Flame graphs
entity_by_property traversal_paths=0 0 $$56.9 \mathrm{ms} \pm 380 \mathrm{μs}\left({\color{gray}3.69 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=255 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true $$105 \mathrm{ms} \pm 513 \mathrm{μs}\left({\color{gray}3.46 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false $$63.3 \mathrm{ms} \pm 368 \mathrm{μs}\left({\color{gray}4.63 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true $$71.4 \mathrm{ms} \pm 410 \mathrm{μs}\left({\color{gray}2.68 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true $$79.7 \mathrm{ms} \pm 391 \mathrm{μs}\left({\color{gray}3.74 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true $$83.9 \mathrm{ms} \pm 381 \mathrm{μs}\left({\color{gray}2.40 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=0 0 $$41.2 \mathrm{ms} \pm 210 \mathrm{μs}\left({\color{gray}3.55 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=255 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true $$67.5 \mathrm{ms} \pm 559 \mathrm{μs}\left({\color{gray}4.66 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false $$47.2 \mathrm{ms} \pm 276 \mathrm{μs}\left({\color{gray}4.30 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true $$56.1 \mathrm{ms} \pm 312 \mathrm{μs}\left({\color{gray}3.96 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true $$58.3 \mathrm{ms} \pm 352 \mathrm{μs}\left({\color{gray}4.68 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true $$57.9 \mathrm{ms} \pm 412 \mathrm{μs}\left({\color{gray}4.49 \mathrm{\%}}\right) $$

scenarios

Function Value Mean Flame graphs
full_test query-limited $$115 \mathrm{ms} \pm 685 \mathrm{μs}\left({\color{gray}2.68 \mathrm{\%}}\right) $$ Flame Graph
full_test query-unlimited $$124 \mathrm{ms} \pm 735 \mathrm{μs}\left({\color{gray}2.42 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-limited $$19.8 \mathrm{ms} \pm 228 \mathrm{μs}\left({\color{red}22.5 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-unlimited $$484 \mathrm{ms} \pm 1.25 \mathrm{ms}\left({\color{gray}3.28 \mathrm{\%}}\right) $$ Flame Graph

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/infra Relates to version control, CI, CD or IaC (area)

Development

Successfully merging this pull request may close these issues.

2 participants