hashintel / hash

🚀 The open-source, multi-tenant, self-building knowledge graph
https://hash.dev
Other
1.08k stars 83 forks source link

Update `opentelemetry` Rust crates #5631

Closed hash-worker[bot] closed 3 days ago

hash-worker[bot] commented 5 days ago

This PR contains the following updates:

Package Type Update Change
opentelemetry workspace.dependencies minor =0.26.0 -> =0.27.0
opentelemetry-otlp (source) workspace.dependencies minor =0.26.0 -> =0.27.0
opentelemetry_sdk workspace.dependencies minor =0.26.0 -> =0.27.0
tracing-opentelemetry workspace.dependencies minor =0.27.0 -> =0.28.0

Release Notes

open-telemetry/opentelemetry-rust (opentelemetry) ### [`v0.27.0`](https://redirect.github.com/open-telemetry/opentelemetry-rust/releases/tag/opentelemetry-0.27.0): 0.27.0 Release [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-0.26.0...opentelemetry-0.27.0) See changelog for individual crates to know the exact set of changes. All crates in this repo follows same version (0.27.0 for this release). This release also upgrades - Logs API to RC - Metrics API to RC - Metrics SDK to Beta - Metrics OTLP Exporter to Beta.
open-telemetry/opentelemetry-rust (opentelemetry-otlp) ### [`v0.27.0`](https://redirect.github.com/open-telemetry/opentelemetry-rust/blob/HEAD/opentelemetry-otlp/CHANGELOG.md#0270) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-otlp-0.26.0...opentelemetry-otlp-0.27.0) Released 2024-Nov-11 - Update `opentelemetry` dependency version to 0.27 - Update `opentelemetry_sdk` dependency version to 0.27 - Update `opentelemetry-http` dependency version to 0.27 - Update `opentelemetry-proto` dependency version to 0.27 - **BREAKING**: - ([#​2217](https://redirect.github.com/open-telemetry/opentelemetry-rust/pull/2217)) **Replaced**: The `MetricsExporterBuilder` interface is modified from `with_temporality_selector` to `with_temporality` example can be seen below: Previous Signature: ```rust MetricsExporterBuilder::default().with_temporality_selector(DeltaTemporalitySelector::new()) ``` Updated Signature: ```rust MetricsExporterBuilder::default().with_temporality(opentelemetry_sdk::metrics::Temporality::Delta) ``` - ([#​2221](https://redirect.github.com/open-telemetry/opentelemetry-rust/pull/2221)) **Replaced**: - The `opentelemetry_otlp::new_pipeline().{trace,logging,metrics}()` interface is now replaced with `{TracerProvider,SdkMeterProvider,LoggerProvider}::builder()`. - The `opentelemetry_otlp::new_exporter()` interface is now replaced with `{SpanExporter,MetricsExporter,LogExporter}::builder()`. Pull request [#​2221](https://redirect.github.com/open-telemetry/opentelemetry-rust/pull/2221) has a detailed migration guide in the description. See example below, and [basic-otlp](https://redirect.github.com/open-telemetry/opentelemetry-rust/blob/main/opentelemetry-otlp/examples/basic-otlp/src/main.rs) for more details: Previous Signature: ```rust let logger_provider: LoggerProvider = opentelemetry_otlp::new_pipeline() .logging() .with_resource(RESOURCE.clone()) .with_exporter( opentelemetry_otlp::new_exporter() .tonic() .with_endpoint("http://localhost:4317") ) .install_batch(runtime::Tokio)?; ``` Updated Signature: ```rust let exporter = LogExporter::builder() .with_tonic() .with_endpoint("http://localhost:4317") .build()?; Ok(LoggerProvider::builder() .with_resource(RESOURCE.clone()) .with_batch_exporter(exporter, runtime::Tokio) .build()) ``` - **Renamed** - ([#​2255](https://redirect.github.com/open-telemetry/opentelemetry-rust/pull/2255)): de-pluralize Metric types. - `MetricsExporter` -> `MetricExporter` - `MetricsExporterBuilder` -> `MetricExporterBuilder` - [#​2263](https://redirect.github.com/open-telemetry/opentelemetry-rust/pull/2263) Support `hyper` client for opentelemetry-otlp. This can be enabled using flag `hyper-client`. Refer example: https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp/examples/basic-otlp-http
tokio-rs/tracing-opentelemetry (tracing-opentelemetry) ### [`v0.28.0`](https://redirect.github.com/tokio-rs/tracing-opentelemetry/releases/tag/v0.28.0): 0.28.0 [Compare Source](https://redirect.github.com/tokio-rs/tracing-opentelemetry/compare/v0.27.0...v0.28.0) #### What's Changed - Reduce locking in the implementation of `Layer::on_close` by [@​mzabaluev](https://redirect.github.com/mzabaluev) in [https://github.com/tokio-rs/tracing-opentelemetry/pull/173](https://redirect.github.com/tokio-rs/tracing-opentelemetry/pull/173) - adding support for setting the status of the span through SpanExt by [@​webfinesse](https://redirect.github.com/webfinesse) in [https://github.com/tokio-rs/tracing-opentelemetry/pull/176](https://redirect.github.com/tokio-rs/tracing-opentelemetry/pull/176) - Add level metadata to spans by [@​mTsBucy1](https://redirect.github.com/mTsBucy1) in [https://github.com/tokio-rs/tracing-opentelemetry/pull/182](https://redirect.github.com/tokio-rs/tracing-opentelemetry/pull/182) - chore: update opentelemetry dependencies to 0.27.0 by [@​MathiasPius](https://redirect.github.com/MathiasPius) in [https://github.com/tokio-rs/tracing-opentelemetry/pull/184](https://redirect.github.com/tokio-rs/tracing-opentelemetry/pull/184)

Configuration

📅 Schedule: Branch creation - "before 4am every weekday,every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 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.



This PR has been generated by Renovate Bot.

hash-worker[bot] commented 5 days ago

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package opentelemetry@0.26.0 --precise 0.27.0
    Updating crates.io index
error: failed to select a version for the requirement `opentelemetry = "^0.26.0"`
candidate versions found which didn't match: 0.27.0
location searched: crates.io index
required by package `tarpc v0.35.0`
    ... which satisfies dependency `tarpc = "=0.35.0"` (locked to 0.35.0) of package `hash-graph v0.0.0 (/tmp/renovate/repos/github/hashintel/hash/apps/hash-graph)`
hash-worker[bot] commented 3 days ago

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

github-actions[bot] commented 3 days ago

Benchmark results

@rust/hash-graph-benches – Integrations

## scaling_read_entity_complete_one_depth | Function | Value | Mean | Flame graphs | |----------|-------|------|--------------| | entity_by_id | 25 entities | $$72.8 \mathrm{ms} \pm 560 \mathrm{μs}\left({\color{gray}-3.997 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_complete_one_depth/entity_by_id/25+entities/flamegraph.svg) | | entity_by_id | 5 entities | $$25.2 \mathrm{ms} \pm 367 \mathrm{μs}\left({\color{gray}0.176 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_complete_one_depth/entity_by_id/5+entities/flamegraph.svg) | | entity_by_id | 1 entities | $$21.2 \mathrm{ms} \pm 131 \mathrm{μs}\left({\color{red}6.42 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_complete_one_depth/entity_by_id/1+entities/flamegraph.svg) | | entity_by_id | 10 entities | $$51.0 \mathrm{ms} \pm 245 \mathrm{μs}\left({\color{red}65.4 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_complete_one_depth/entity_by_id/10+entities/flamegraph.svg) | | entity_by_id | 50 entities | $$560 \mathrm{ms} \pm 3.13 \mathrm{ms}\left({\color{red}116 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_complete_one_depth/entity_by_id/50+entities/flamegraph.svg) | ## representative_read_entity | Function | Value | Mean | Flame graphs | |----------|-------|------|--------------| | entity_by_id | entity type ID: `https://blockprotocol.org/@alice/types/entity-type/song/v/1` | $$16.7 \mathrm{ms} \pm 190 \mathrm{μs}\left({\color{lightgreen}-10.055 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_entity/entity_by_id/entity+type+ID_+`https___blockprotocol.org_@alice_types_entity-t_9/flamegraph.svg) | | entity_by_id | entity type ID: `https://blockprotocol.org/@alice/types/entity-type/organization/v/1` | $$17.8 \mathrm{ms} \pm 232 \mathrm{μs}\left({\color{gray}0.038 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_entity/entity_by_id/entity+type+ID_+`https___blockprotocol.org_@alice_types_entity-t_5/flamegraph.svg) | | entity_by_id | entity type ID: `https://blockprotocol.org/@alice/types/entity-type/building/v/1` | $$16.1 \mathrm{ms} \pm 179 \mathrm{μs}\left({\color{gray}-3.902 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_entity/entity_by_id/entity+type+ID_+`https___blockprotocol.org_@alice_types_entity-t_6/flamegraph.svg) | | entity_by_id | entity type ID: `https://blockprotocol.org/@alice/types/entity-type/page/v/2` | $$16.8 \mathrm{ms} \pm 190 \mathrm{μs}\left({\color{gray}-3.761 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_entity/entity_by_id/entity+type+ID_+`https___blockprotocol.org_@alice_types_entity-t_3/flamegraph.svg) | | entity_by_id | entity type ID: `https://blockprotocol.org/@alice/types/entity-type/playlist/v/1` | $$17.2 \mathrm{ms} \pm 220 \mathrm{μs}\left({\color{gray}2.48 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_entity/entity_by_id/entity+type+ID_+`https___blockprotocol.org_@alice_types_entity-t_7/flamegraph.svg) | | entity_by_id | entity type ID: `https://blockprotocol.org/@alice/types/entity-type/block/v/1` | $$16.1 \mathrm{ms} \pm 192 \mathrm{μs}\left({\color{lightgreen}-6.282 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_entity/entity_by_id/entity+type+ID_+`https___blockprotocol.org_@alice_types_entity-t_8/flamegraph.svg) | | entity_by_id | entity type ID: `https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1` | $$17.4 \mathrm{ms} \pm 199 \mathrm{μs}\left({\color{gray}4.22 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_entity/entity_by_id/entity+type+ID_+`https___blockprotocol.org_@alice_types_entity-t_4/flamegraph.svg) | | entity_by_id | entity type ID: `https://blockprotocol.org/@alice/types/entity-type/book/v/1` | $$16.2 \mathrm{ms} \pm 202 \mathrm{μs}\left({\color{lightgreen}-9.560 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_entity/entity_by_id/entity+type+ID_+`https___blockprotocol.org_@alice_types_entity-t/flamegraph.svg) | | entity_by_id | entity type ID: `https://blockprotocol.org/@alice/types/entity-type/person/v/1` | $$16.6 \mathrm{ms} \pm 225 \mathrm{μs}\left({\color{gray}-0.919 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_entity/entity_by_id/entity+type+ID_+`https___blockprotocol.org_@alice_types_entity-t_2/flamegraph.svg) | ## scaling_read_entity_complete_zero_depth | Function | Value | Mean | Flame graphs | |----------|-------|------|--------------| | entity_by_id | 25 entities | $$3.34 \mathrm{ms} \pm 16.1 \mathrm{μs}\left({\color{gray}-4.278 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_complete_zero_depth/entity_by_id/25+entities/flamegraph.svg) | | entity_by_id | 5 entities | $$1.90 \mathrm{ms} \pm 13.5 \mathrm{μs}\left({\color{gray}0.502 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_complete_zero_depth/entity_by_id/5+entities/flamegraph.svg) | | entity_by_id | 1 entities | $$1.96 \mathrm{ms} \pm 12.1 \mathrm{μs}\left({\color{red}5.58 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_complete_zero_depth/entity_by_id/1+entities/flamegraph.svg) | | entity_by_id | 10 entities | $$2.11 \mathrm{ms} \pm 10.6 \mathrm{μs}\left({\color{red}5.15 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_complete_zero_depth/entity_by_id/10+entities/flamegraph.svg) | | entity_by_id | 50 entities | $$5.35 \mathrm{ms} \pm 30.7 \mathrm{μs}\left({\color{red}25.5 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_complete_zero_depth/entity_by_id/50+entities/flamegraph.svg) | ## scaling_read_entity_linkless | Function | Value | Mean | Flame graphs | |----------|-------|------|--------------| | entity_by_id | 1 entities | $$1.93 \mathrm{ms} \pm 8.94 \mathrm{μs}\left({\color{gray}4.16 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_linkless/entity_by_id/1+entities/flamegraph.svg) | | entity_by_id | 10000 entities | $$13.7 \mathrm{ms} \pm 56.5 \mathrm{μs}\left({\color{gray}-0.333 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_linkless/entity_by_id/10000+entities/flamegraph.svg) | | entity_by_id | 100 entities | $$2.03 \mathrm{ms} \pm 9.40 \mathrm{μs}\left({\color{gray}0.287 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_linkless/entity_by_id/100+entities/flamegraph.svg) | | entity_by_id | 1000 entities | $$3.05 \mathrm{ms} \pm 8.94 \mathrm{μs}\left({\color{gray}-2.035 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_linkless/entity_by_id/1000+entities/flamegraph.svg) | | entity_by_id | 10 entities | $$1.89 \mathrm{ms} \pm 7.18 \mathrm{μs}\left({\color{gray}-0.336 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/scaling_read_entity_linkless/entity_by_id/10+entities/flamegraph.svg) | ## representative_read_multiple_entities | Function | Value | Mean | Flame graphs | |----------|-------|------|--------------| | link_by_source_by_property | depths: DT=255, PT=255, ET=255, E=255 | $$108 \mathrm{ms} \pm 441 \mathrm{μs}\left({\color{gray}-1.664 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/link_by_source_by_property/depths_+DT=255,+PT=255,+ET=255,+E=255/flamegraph.svg) | | link_by_source_by_property | depths: DT=0, PT=0, ET=2, E=2 | $$89.4 \mathrm{ms} \pm 321 \mathrm{μs}\left({\color{gray}-0.458 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/link_by_source_by_property/depths_+DT=0,+PT=0,+ET=2,+E=2/flamegraph.svg) | | link_by_source_by_property | depths: DT=2, PT=2, ET=2, E=2 | $$98.3 \mathrm{ms} \pm 374 \mathrm{μs}\left({\color{gray}-3.105 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/link_by_source_by_property/depths_+DT=2,+PT=2,+ET=2,+E=2/flamegraph.svg) | | link_by_source_by_property | depths: DT=0, PT=0, ET=0, E=0 | $$43.2 \mathrm{ms} \pm 327 \mathrm{μs}\left({\color{gray}-0.491 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/link_by_source_by_property/depths_+DT=0,+PT=0,+ET=0,+E=0/flamegraph.svg) | | link_by_source_by_property | depths: DT=0, PT=2, ET=2, E=2 | $$99.7 \mathrm{ms} \pm 453 \mathrm{μs}\left({\color{red}5.52 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/link_by_source_by_property/depths_+DT=0,+PT=2,+ET=2,+E=2/flamegraph.svg) | | link_by_source_by_property | depths: DT=0, PT=0, ET=0, E=2 | $$80.5 \mathrm{ms} \pm 361 \mathrm{μs}\left({\color{gray}-1.196 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/link_by_source_by_property/depths_+DT=0,+PT=0,+ET=0,+E=2/flamegraph.svg) | | entity_by_property | depths: DT=255, PT=255, ET=255, E=255 | $$69.2 \mathrm{ms} \pm 343 \mathrm{μs}\left({\color{gray}0.115 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/entity_by_property/depths_+DT=255,+PT=255,+ET=255,+E=255/flamegraph.svg) | | entity_by_property | depths: DT=0, PT=0, ET=2, E=2 | $$50.3 \mathrm{ms} \pm 145 \mathrm{μs}\left({\color{gray}-1.688 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/entity_by_property/depths_+DT=0,+PT=0,+ET=2,+E=2/flamegraph.svg) | | entity_by_property | depths: DT=2, PT=2, ET=2, E=2 | $$60.1 \mathrm{ms} \pm 526 \mathrm{μs}\left({\color{gray}-4.444 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/entity_by_property/depths_+DT=2,+PT=2,+ET=2,+E=2/flamegraph.svg) | | entity_by_property | depths: DT=0, PT=0, ET=0, E=0 | $$40.6 \mathrm{ms} \pm 241 \mathrm{μs}\left({\color{gray}0.014 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/entity_by_property/depths_+DT=0,+PT=0,+ET=0,+E=0/flamegraph.svg) | | entity_by_property | depths: DT=0, PT=2, ET=2, E=2 | $$55.0 \mathrm{ms} \pm 251 \mathrm{μs}\left({\color{gray}-0.241 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/entity_by_property/depths_+DT=0,+PT=2,+ET=2,+E=2/flamegraph.svg) | | entity_by_property | depths: DT=0, PT=0, ET=0, E=2 | $$45.8 \mathrm{ms} \pm 696 \mathrm{μs}\left({\color{gray}0.607 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_multiple_entities/entity_by_property/depths_+DT=0,+PT=0,+ET=0,+E=2/flamegraph.svg) | ## representative_read_entity_type | Function | Value | Mean | Flame graphs | |----------|-------|------|--------------| | get_entity_type_by_id | Account ID: `d4e16033-c281-4cde-aa35-9085bf2e7579` | $$1.40 \mathrm{ms} \pm 8.12 \mathrm{μs}\left({\color{gray}2.04 \mathrm{\\%}}\right) $$ | [Flame Graph](https://benchmarks.hash.dev/834e1f289ffe31b9616e710ed645b0ebfe860b0a/representative_read_entity_type/get_entity_type_by_id/Account+ID_+`d4e16033-c281-4cde-aa35-9085bf2e7579`/flamegraph.svg) |