Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding two level hashing in metrics hashmap #1564

Open
wants to merge 31 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
98db4f3
initial commiy
lalitb Feb 21, 2024
1c440e0
handle empty resource
lalitb Feb 21, 2024
75c853e
fix lint
lalitb Feb 21, 2024
fd858f6
use static vector at first level hash
lalitb Feb 23, 2024
1f05dcf
add method to calculate data point size
lalitb Feb 24, 2024
d191cf7
lint error
lalitb Feb 24, 2024
fd94caa
add hashbrown and ahash as optional dependency
lalitb Feb 24, 2024
da817b5
Merge branch 'main' into two-level-hash
lalitb Feb 24, 2024
498f088
Merge branch 'main' into two-level-hash
lalitb Feb 24, 2024
2930fe1
add const for bucket count
lalitb Feb 26, 2024
ebe4a38
Merge branch 'main' into two-level-hash
lalitb Feb 28, 2024
d8cbc4c
remove panic while converting vector to fixed array
lalitb Feb 28, 2024
cad1391
Merge branch 'main' into two-level-hash
lalitb Feb 29, 2024
61ae262
remove special handling of empty attributes
lalitb Feb 29, 2024
2b8549f
Merge branch 'main' into two-level-hash
lalitb Feb 29, 2024
44efee7
graceful unwrap
lalitb Mar 1, 2024
d8c56da
lint error, and disclaimer for hashbrown
lalitb Mar 1, 2024
7b0bac5
Merge branch 'main' into two-level-hash
lalitb Mar 1, 2024
61c8b0d
update hashbrown usage disclaimer
lalitb Mar 4, 2024
267e305
fix for overflow metrics
lalitb Mar 5, 2024
078c994
add tests
lalitb Mar 7, 2024
cc12da1
Merge branch 'main' into two-level-hash
lalitb Mar 7, 2024
90bbb2d
remove leftover method
lalitb Mar 7, 2024
f89c3ea
fix atomic
lalitb Mar 7, 2024
603305e
fix
lalitb Mar 7, 2024
21b0b3e
more comments
lalitb Mar 7, 2024
f33729c
fix race condition for concurrent same attribute insert
lalitb Mar 9, 2024
8b48564
fix lint
lalitb Mar 9, 2024
04c68c2
Merge branch 'main' into two-level-hash
lalitb Mar 9, 2024
fdb5020
Merge branch 'main' into two-level-hash
lalitb Mar 19, 2024
d973c4d
Merge branch 'main' into two-level-hash
hdost Apr 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 5 additions & 0 deletions opentelemetry-sdk/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,13 @@ rust-version = "1.65"
[dependencies]
opentelemetry = { version = "0.22", path = "../opentelemetry/" }
opentelemetry-http = { version = "0.11", path = "../opentelemetry-http", optional = true }
ahash = { version = "0.8", optional = true }
async-std = { workspace = true, features = ["unstable"], optional = true }
async-trait = { workspace = true, optional = true }
futures-channel = "0.3"
futures-executor = { workspace = true }
futures-util = { workspace = true, features = ["std", "sink", "async-await-macro"] }
hashbrown = { version = "0.14", optional = true }
once_cell = { workspace = true }
ordered-float = { workspace = true }
percent-encoding = { version = "2.0", optional = true }
Expand Down Expand Up @@ -53,6 +55,9 @@ testing = ["opentelemetry/testing", "trace", "metrics", "logs", "rt-async-std",
rt-tokio = ["tokio", "tokio-stream"]
rt-tokio-current-thread = ["tokio", "tokio-stream"]
rt-async-std = ["async-std"]
# Enable use_hashbrown to improve hashing performance in Metrics aggregation.
# This feature should be used carefully, especially when the key/value pairs in measurement attributes are derived from external or untrusted sources.
use_hashbrown = ["hashbrown", "ahash"]
cijothomas marked this conversation as resolved.
Show resolved Hide resolved

[[bench]]
name = "context"
Expand Down