Skip to content

Update opentelemetry Rust crates#8013

Open
hash-worker[bot] wants to merge 1 commit into
mainfrom
deps/rs/opentelemetry-rust-crates
Open

Update opentelemetry Rust crates#8013
hash-worker[bot] wants to merge 1 commit into
mainfrom
deps/rs/opentelemetry-rust-crates

Conversation

@hash-worker
Copy link
Copy Markdown
Contributor

@hash-worker hash-worker Bot commented Nov 5, 2025

This PR contains the following updates:

Package Type Update Change Pending
opentelemetry (source) workspace.dependencies minor 0.30.00.31.0 0.32.0
opentelemetry-appender-tracing (source) workspace.dependencies minor 0.30.10.31.0 0.32.0
opentelemetry-otlp (source) workspace.dependencies minor 0.30.00.31.0 0.32.0
opentelemetry-semantic-conventions (source) workspace.dependencies minor 0.30.00.31.0 0.32.0
opentelemetry_sdk (source) workspace.dependencies minor 0.30.00.31.0 0.32.0
tracing-opentelemetry workspace.dependencies minor 0.31.00.32.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

open-telemetry/opentelemetry-rust (opentelemetry)

v0.31.0

Compare Source

Released 2025-Sep-25

  • Breaking Change return type of opentelemetry::global::set_tracer_provider to Unit to align with metrics counterpart
  • Add get_all method to opentelemetry::propagation::Extractor to return all values of the given propagation key and provide a default implementation.
  • Add an IntoIterator implementation for opentelemetry::trace::TraceState to allow iterating through its key-value pair collection.
open-telemetry/opentelemetry-rust (opentelemetry-appender-tracing)

v0.31.1

Released 2025-Oct-1

  • Bump tracing-opentelemetry to 0.32

v0.31.0

Released 2025-Sep-25

  • Updated opentelemetry dependency to version 0.31.0.
open-telemetry/opentelemetry-rust (opentelemetry-otlp)

v0.31.1: opentelemetry-otlp 0.31.1

Compare Source

What's Changed

  • feat(OTLP): add tls-ring, tls-aws-lc, and tls-provider-agnostic feature flags [patch release v0.31.1] by @​lalitb in #​3426

Full Changelog: open-telemetry/opentelemetry-rust@v0.31.0...opentelemetry-otlp-0.31.1

v0.31.0

Compare Source

Released 2025-Sep-25

  • Update opentelemetry-proto and opentelemetry-http dependency version to 0.31.0
  • Add HTTP compression support with gzip-http and zstd-http feature flags
  • Add retry with exponential backoff and throttling support for HTTP and gRPC exporters
    This behaviour is opt in via the experimental-grpc-retry and experimental-http-retry flags on this crate. You can customize the retry policy using the with_retry_policy on the exporter builders.
open-telemetry/opentelemetry-rust (opentelemetry-semantic-conventions)

v0.31.0

Compare Source

Released 2025-Sep-25

  • Update to v1.34.0 of the semantic conventions.
open-telemetry/opentelemetry-rust (opentelemetry_sdk)

v0.31.0

Compare Source

Released 2025-Sep-25

  • Updated opentelemetry and opentelemetry-http dependencies to version 0.31.0.

  • Feature: Add span flags support for isRemote property in OTLP exporter (#​3153)

  • Updated span and link transformations to properly set flags field (0x100 for local, 0x300 for remote)

  • TODO: Placeholder for Span processor related things

    • Fix SpanProcessor::on_start is no longer called on non recording spans
  • Fix: Restore true parallel exports in the async-native BatchSpanProcessor by honoring OTEL_BSP_MAX_CONCURRENT_EXPORTS (#​2959). A regression in #​2685 inadvertently awaited the export() future directly in opentelemetry-sdk/src/trace/span_processor_with_async_runtime.rs instead of spawning it on the runtime, forcing all exports to run sequentially.

  • Feature: Added Clone implementation to SdkLogger for API consistency with SdkTracer (#​3058).

  • Fix: batch size accounting in BatchSpanProcessor when queue is full (#​3089).

  • Fix: Resolved dependency issue where the "logs" feature incorrectly
    required the "trace" feature flag
    (#​3096).
    The logs functionality now operates independently, while automatic correlation
    between logs and traces continues to work when the "trace" feature is
    explicitly enabled.

  • Fix: Fix shutdown of SimpleLogProcessor and async BatchLogProcessor.

  • Default implementation of LogProcessor::shutdown_with_timeout() will now warn to encourage users to implement proper shutdown.

tokio-rs/tracing-opentelemetry (tracing-opentelemetry)

v0.32.1

Compare Source

Added
  • allow OpenTelemetry context access with SpanRef (#​234)
  • add event-counting filtering layer for spans (#​228)
  • publicly export SetParentError
Fixed
  • fix panic in multithreaded follows-from
Other
  • Remove unwanted dependency on opentelemetry sdk crate (#​241)
  • update README.md links to use the latest version (#​239)
  • remove thiserror and unused dependencies (#​238)

v0.32.0

Compare Source

Added
  • Add configuration for including target in spans (#​222)
Changed
  • OpenTelemetry context activation (#​202)
    • Trace ID and span ID can be obtained from OtelData via dedicated functions. Note that these
      will be available only if the context has already been built. (#​233)
  • Correctly track entered and exited state for timings (#​212)
  • Slightly improve error message on version mismatch (#​211)
  • Remove Lazy for thread_local static (#​215)
  • Update description of special fields and semantic conventions
Breaking Changes
  • The attributes code.filepath, code.lineno, and code.namespace have been renamed to
    code.file.path, and code.line.number, and code.module.name, to align with the opentelemetry
    semantic conventions for code. (#​225)
  • Upgrade from opentelemetry to 0.31.0. Refer to the upstream
    changelog
    for more information. (#​230)
  • Hold onto MetricsProvider in MetricsLayer (#​224)
  • The attribute otel.status_message was changed to otel.status_description to align with the
    opentelemetry semantic conventions for code. (#​209)
  • Remove the metrics_gauge_unstable feature.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "before 4am every weekday,every weekend"
  • Automerge
    • "before 4am every weekday,every weekend"

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@vercel
Copy link
Copy Markdown

vercel Bot commented Nov 19, 2025

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

Project Deployment Actions Updated (UTC)
ds-theme Ready Ready Preview, Comment May 12, 2026 5:13pm
hash Ready Ready Preview, Comment May 12, 2026 5:13pm
hashdotdesign Ready Ready Preview, Comment May 12, 2026 5:13pm
hashdotdesign-tokens Ready Ready Preview, Comment May 12, 2026 5:13pm
petrinaut Ready Ready Preview May 12, 2026 5:13pm

@codecov
Copy link
Copy Markdown

codecov Bot commented Nov 19, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 62.31%. Comparing base (a18ae88) to head (728c751).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8013      +/-   ##
==========================================
- Coverage   62.31%   62.31%   -0.01%     
==========================================
  Files        1354     1354              
  Lines      137003   137003              
  Branches     5792     5792              
==========================================
- Hits        85372    85371       -1     
- Misses      50725    50726       +1     
  Partials      906      906              
Flag Coverage Δ
apps.hash-ai-worker-ts 1.41% <ø> (ø)
apps.hash-api 0.00% <ø> (ø)
blockprotocol.type-system 40.84% <ø> (ø)
local.claude-hooks 0.00% <ø> (ø)
local.harpc-client 51.24% <ø> (ø)
local.hash-backend-utils 2.81% <ø> (ø)
local.hash-graph-sdk 9.63% <ø> (ø)
local.hash-isomorphic-utils 0.00% <ø> (ø)
rust.antsi 0.00% <ø> (ø)
rust.error-stack 90.87% <ø> (ø)
rust.harpc-codec 84.70% <ø> (ø)
rust.harpc-net 96.18% <ø> (-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-graph-api 2.52% <ø> (ø)
rust.hash-graph-authorization 62.34% <ø> (ø)
rust.hash-graph-postgres-store 26.81% <ø> (ø)
rust.hash-graph-store 37.76% <ø> (ø)
rust.hash-graph-temporal-versioning 47.95% <ø> (ø)
rust.hash-graph-types 0.00% <ø> (ø)
rust.hash-graph-validation 83.45% <ø> (ø)
rust.hashql-ast 87.23% <ø> (ø)
rust.hashql-compiletest 29.63% <ø> (ø)
rust.hashql-core 82.44% <ø> (ø)
rust.hashql-diagnostics 72.43% <ø> (ø)
rust.hashql-eval 62.99% <ø> (ø)
rust.hashql-hir 89.06% <ø> (ø)
rust.hashql-mir 92.45% <ø> (ø)
rust.hashql-syntax-jexpr 94.06% <ø> (ø)

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

☔ View full report in Codecov by Sentry.
📢 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.

@cursor
Copy link
Copy Markdown

cursor Bot commented Jan 12, 2026

PR Summary

Medium Risk
Dependency upgrades in the telemetry stack can subtly change tracing/OTLP export behavior and semantic convention field names, though most issues should surface at compile time or in observability pipelines.

Overview
Updates the workspace telemetry dependencies by bumping opentelemetry, opentelemetry_sdk, opentelemetry-otlp, opentelemetry-appender-tracing, and opentelemetry-semantic-conventions from 0.30.x to 0.31.x, and tracing-opentelemetry from 0.31.x to 0.32.x.

Regenerates Cargo.lock accordingly, introducing the new 0.31.x crate entries and updating related transitive dependency resolutions (notably prost/tonic versions) while keeping older 0.30.x entries where still required by other dependencies.

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

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Jan 22, 2026

Merging this PR will not alter performance

✅ 80 untouched benchmarks


Comparing deps/rs/opentelemetry-rust-crates (728c751) with main (9219cf3)

Open in CodSpeed

Comment thread Cargo.toml
Comment thread Cargo.toml
tracing-error = { version = "0.2.1", default-features = false }
tracing-flame = { version = "0.2.0", default-features = false }
tracing-opentelemetry = { version = "0.31.0", default-features = false }
tracing-opentelemetry = { version = "0.32.0", default-features = false }
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

set_parent return type changed, unhandled Result breaks CI

High Severity

Upgrading tracing-opentelemetry from 0.31 to 0.32 changes OpenTelemetrySpanExt::set_parent return type from () to Result<(), SetParentError>. The call in libs/@local/graph/api/src/rest/http_tracing_layer.rs ignores this Result, which triggers an unused_must_use warning. Since the project runs clippy with -D warnings (in .justfile), this becomes a build failure. The Result needs to be explicitly handled or discarded.

Additional Locations (1)
Fix in Cursor Fix in Web

Comment thread Cargo.lock
"tokio-util",
"tracing",
"tracing-opentelemetry",
"tracing-opentelemetry 0.31.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate OpenTelemetry versions break tarpc trace propagation

Medium Severity

The tarpc git dependency is pinned to opentelemetry 0.30.0 and tracing-opentelemetry 0.31.0, while the workspace now uses opentelemetry 0.31.0 and tracing-opentelemetry 0.32.1. Before this PR, all crates shared a single version. Now, two incompatible versions of tracing-opentelemetry coexist in the binary. Since OpenTelemetrySpanExt methods interact with span extension data (OtelData) by TypeId, tarpc's version 0.31.0 OtelData won't match the application layer's version 0.32.1 OtelData. This silently breaks trace context propagation across tarpc RPC calls used by the type fetcher service.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 5ad55e9. Configure here.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

There are 3 total unresolved issues (including 2 from previous reviews).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 728c751. Configure here.

Comment thread Cargo.toml
opentelemetry-appender-tracing = { version = "0.31.0", default-features = false }
opentelemetry-otlp = { version = "0.31.0", default-features = false }
opentelemetry-semantic-conventions = { version = "0.31.0", default-features = false }
opentelemetry_sdk = { version = "0.31.0", default-features = false }
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OpenTelemetry version split breaks tarpc trace context propagation

Medium Severity

Updating the workspace opentelemetry to 0.31.0 and tracing-opentelemetry to 0.32.x introduces a version split because tarpc (pinned to a git revision) still depends on opentelemetry 0.30.0 and tracing-opentelemetry 0.31.0. Before this PR, all crates shared the same OpenTelemetry versions. Now two separate opentelemetry::global states exist — the app configures the 0.31.0 global (propagator, tracer provider), but tarpc operates on the unconfigured 0.30.0 global. Additionally, the tracing-opentelemetry 0.32.1 layer stores span extension data as its own types, which tarpc's 0.31.0 OpenTelemetrySpanExt calls can't retrieve. This silently breaks trace context propagation across tarpc RPC boundaries (the type-fetcher service).

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 728c751. Configure here.

@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.9 \mathrm{ms} \pm 170 \mathrm{μs}\left({\color{gray}-1.253 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$3.45 \mathrm{ms} \pm 17.2 \mathrm{μs}\left({\color{gray}-0.844 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 1001 $$12.3 \mathrm{ms} \pm 74.2 \mathrm{μs}\left({\color{gray}0.224 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 3314 $$43.1 \mathrm{ms} \pm 362 \mathrm{μs}\left({\color{gray}2.84 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$14.8 \mathrm{ms} \pm 121 \mathrm{μs}\left({\color{gray}-0.597 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 1526 $$23.5 \mathrm{ms} \pm 142 \mathrm{μs}\left({\color{gray}0.125 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 2078 $$28.1 \mathrm{ms} \pm 184 \mathrm{μs}\left({\color{gray}1.15 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.76 \mathrm{ms} \pm 17.0 \mathrm{μs}\left({\color{gray}-0.432 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 1033 $$13.3 \mathrm{ms} \pm 114 \mathrm{μs}\left({\color{gray}0.716 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_medium

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 102 $$3.73 \mathrm{ms} \pm 21.2 \mathrm{μs}\left({\color{gray}-0.563 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.93 \mathrm{ms} \pm 14.9 \mathrm{μs}\left({\color{gray}0.430 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 51 $$3.30 \mathrm{ms} \pm 17.6 \mathrm{μs}\left({\color{gray}0.395 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 269 $$5.11 \mathrm{ms} \pm 26.3 \mathrm{μs}\left({\color{gray}0.604 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$3.46 \mathrm{ms} \pm 14.3 \mathrm{μs}\left({\color{gray}-0.007 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 107 $$4.10 \mathrm{ms} \pm 25.9 \mathrm{μs}\left({\color{gray}1.50 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 133 $$4.37 \mathrm{ms} \pm 26.2 \mathrm{μs}\left({\color{gray}0.394 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.39 \mathrm{ms} \pm 15.8 \mathrm{μs}\left({\color{gray}-0.243 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 63 $$4.01 \mathrm{ms} \pm 21.9 \mathrm{μs}\left({\color{gray}-0.108 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_none

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 2 $$2.62 \mathrm{ms} \pm 13.7 \mathrm{μs}\left({\color{gray}0.232 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.45 \mathrm{ms} \pm 12.2 \mathrm{μs}\left({\color{gray}-0.260 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 1 $$2.57 \mathrm{ms} \pm 12.4 \mathrm{μs}\left({\color{gray}-0.517 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 8 $$2.88 \mathrm{ms} \pm 16.6 \mathrm{μs}\left({\color{gray}0.706 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$2.67 \mathrm{ms} \pm 13.7 \mathrm{μs}\left({\color{gray}-0.381 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 3 $$2.85 \mathrm{ms} \pm 15.7 \mathrm{μs}\left({\color{gray}-0.170 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_small

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 52 $$2.95 \mathrm{ms} \pm 15.3 \mathrm{μs}\left({\color{gray}-0.325 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.67 \mathrm{ms} \pm 14.9 \mathrm{μs}\left({\color{gray}0.808 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 25 $$2.92 \mathrm{ms} \pm 15.9 \mathrm{μs}\left({\color{gray}0.330 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 94 $$3.35 \mathrm{ms} \pm 17.9 \mathrm{μs}\left({\color{gray}0.596 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$2.88 \mathrm{ms} \pm 17.6 \mathrm{μs}\left({\color{gray}0.050 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 26 $$3.18 \mathrm{ms} \pm 17.4 \mathrm{μs}\left({\color{gray}0.048 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 66 $$3.28 \mathrm{ms} \pm 18.6 \mathrm{μs}\left({\color{gray}0.293 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$2.85 \mathrm{ms} \pm 12.7 \mathrm{μs}\left({\color{gray}-1.180 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 29 $$3.25 \mathrm{ms} \pm 17.1 \mathrm{μs}\left({\color{gray}0.138 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_complete

Function Value Mean Flame graphs
entity_by_id;one_depth 1 entities $$53.8 \mathrm{ms} \pm 287 \mathrm{μs}\left({\color{gray}0.201 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 10 entities $$44.7 \mathrm{ms} \pm 178 \mathrm{μs}\left({\color{gray}-0.651 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 25 entities $$49.8 \mathrm{ms} \pm 219 \mathrm{μs}\left({\color{gray}0.942 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 5 entities $$43.9 \mathrm{ms} \pm 503 \mathrm{μs}\left({\color{lightgreen}-10.549 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 50 entities $$61.5 \mathrm{ms} \pm 306 \mathrm{μs}\left({\color{gray}0.980 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 1 entities $$60.6 \mathrm{ms} \pm 378 \mathrm{μs}\left({\color{gray}-0.241 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 10 entities $$54.4 \mathrm{ms} \pm 324 \mathrm{μs}\left({\color{gray}-0.616 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 25 entities $$102 \mathrm{ms} \pm 480 \mathrm{μs}\left({\color{gray}0.097 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 5 entities $$50.3 \mathrm{ms} \pm 2.57 \mathrm{ms}\left({\color{red}10.1 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 50 entities $$290 \mathrm{ms} \pm 1.09 \mathrm{ms}\left({\color{red}7.81 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 1 entities $$19.1 \mathrm{ms} \pm 111 \mathrm{μs}\left({\color{gray}-0.860 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 10 entities $$19.7 \mathrm{ms} \pm 96.4 \mathrm{μs}\left({\color{gray}1.43 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 25 entities $$20.0 \mathrm{ms} \pm 132 \mathrm{μs}\left({\color{gray}0.450 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 5 entities $$19.0 \mathrm{ms} \pm 93.5 \mathrm{μs}\left({\color{gray}1.58 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 50 entities $$24.8 \mathrm{ms} \pm 144 \mathrm{μs}\left({\color{gray}-0.737 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_linkless

Function Value Mean Flame graphs
entity_by_id 1 entities $$18.8 \mathrm{ms} \pm 106 \mathrm{μs}\left({\color{gray}-1.732 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10 entities $$18.9 \mathrm{ms} \pm 81.0 \mathrm{μs}\left({\color{gray}-0.366 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 100 entities $$19.0 \mathrm{ms} \pm 106 \mathrm{μs}\left({\color{gray}1.14 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 1000 entities $$19.7 \mathrm{ms} \pm 112 \mathrm{μs}\left({\color{gray}-0.131 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10000 entities $$26.7 \mathrm{ms} \pm 248 \mathrm{μs}\left({\color{gray}0.659 \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 $$34.0 \mathrm{ms} \pm 338 \mathrm{μs}\left({\color{gray}-1.363 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/book/v/1 $$34.7 \mathrm{ms} \pm 326 \mathrm{μs}\left({\color{gray}1.06 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/building/v/1 $$34.1 \mathrm{ms} \pm 315 \mathrm{μs}\left({\color{gray}1.03 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/organization/v/1 $$34.2 \mathrm{ms} \pm 294 \mathrm{μs}\left({\color{gray}-3.949 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/page/v/2 $$33.6 \mathrm{ms} \pm 309 \mathrm{μs}\left({\color{gray}-3.215 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/person/v/1 $$33.2 \mathrm{ms} \pm 342 \mathrm{μs}\left({\color{gray}-2.430 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/playlist/v/1 $$34.4 \mathrm{ms} \pm 316 \mathrm{μs}\left({\color{gray}-2.038 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/song/v/1 $$33.7 \mathrm{ms} \pm 298 \mathrm{μs}\left({\color{gray}-4.279 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1 $$32.7 \mathrm{ms} \pm 279 \mathrm{μs}\left({\color{lightgreen}-5.685 \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 $$8.32 \mathrm{ms} \pm 50.0 \mathrm{μs}\left({\color{gray}-0.169 \mathrm{\%}}\right) $$ Flame Graph

representative_read_multiple_entities

Function Value Mean Flame graphs
entity_by_property traversal_paths=0 0 $$91.8 \mathrm{ms} \pm 581 \mathrm{μs}\left({\color{gray}0.525 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=255 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true $$144 \mathrm{ms} \pm 747 \mathrm{μs}\left({\color{gray}-0.229 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false $$97.8 \mathrm{ms} \pm 582 \mathrm{μs}\left({\color{gray}-0.492 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true $$109 \mathrm{ms} \pm 780 \mathrm{μs}\left({\color{gray}0.088 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true $$116 \mathrm{ms} \pm 635 \mathrm{μs}\left({\color{gray}0.359 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true $$123 \mathrm{ms} \pm 549 \mathrm{μs}\left({\color{gray}-0.606 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=0 0 $$101 \mathrm{ms} \pm 565 \mathrm{μs}\left({\color{gray}-0.745 \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 $$130 \mathrm{ms} \pm 534 \mathrm{μs}\left({\color{gray}-0.506 \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 $$108 \mathrm{ms} \pm 496 \mathrm{μs}\left({\color{gray}-0.199 \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 $$117 \mathrm{ms} \pm 606 \mathrm{μs}\left({\color{gray}-0.445 \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 $$118 \mathrm{ms} \pm 513 \mathrm{μs}\left({\color{gray}-0.113 \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 $$118 \mathrm{ms} \pm 488 \mathrm{μs}\left({\color{gray}-0.298 \mathrm{\%}}\right) $$

scenarios

Function Value Mean Flame graphs
full_test query-limited $$190 \mathrm{ms} \pm 640 \mathrm{μs}\left({\color{red}6.58 \mathrm{\%}}\right) $$ Flame Graph
full_test query-unlimited $$181 \mathrm{ms} \pm 2.43 \mathrm{ms}\left({\color{red}19.6 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-limited $$39.9 \mathrm{ms} \pm 220 \mathrm{μs}\left({\color{gray}0.869 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-unlimited $$531 \mathrm{ms} \pm 809 \mathrm{μs}\left({\color{gray}-1.698 \mathrm{\%}}\right) $$ Flame Graph

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

Labels

area/deps Relates to third-party dependencies (area)

Development

Successfully merging this pull request may close these issues.

2 participants