Skip to content

Commit e3a9dc4

Browse files
authored
feat: Add jemalloc (#736)
Jemalloc seems to help in cases where do many small/fragmented allocs Before (many spans): <img width="725" alt="image" src="https://github.com/user-attachments/assets/f270d9dd-02e9-4db5-904f-fc25ec17bdc2" /> After: <img width="699" alt="image" src="https://github.com/user-attachments/assets/17887462-4302-4a78-a049-1cdf052999da" />
1 parent 5be732d commit e3a9dc4

5 files changed

Lines changed: 33403 additions & 5 deletions

File tree

.gitlab/datasources/flavors.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ flavors:
66
needs_layer_publish: true
77
suffix: amd64
88
layer_name_base_suffix: ""
9-
max_layer_compressed_size_mb: 25
9+
max_layer_compressed_size_mb: 26
1010
max_layer_uncompressed_size_mb: 54
1111

1212
- name: arm64
@@ -16,7 +16,7 @@ flavors:
1616
needs_layer_publish: true
1717
suffix: arm64
1818
layer_name_base_suffix: "-ARM"
19-
max_layer_compressed_size_mb: 22
19+
max_layer_compressed_size_mb: 23
2020
max_layer_uncompressed_size_mb: 50
2121

2222
- name: amd64, alpine
@@ -40,7 +40,7 @@ flavors:
4040
needs_layer_publish: true
4141
suffix: amd64-fips
4242
layer_name_base_suffix: "-FIPS"
43-
max_layer_compressed_size_mb: 25
43+
max_layer_compressed_size_mb: 26
4444
max_layer_uncompressed_size_mb: 56
4545

4646
- name: arm64, fips
@@ -50,7 +50,7 @@ flavors:
5050
needs_layer_publish: true
5151
suffix: arm64-fips
5252
layer_name_base_suffix: "-ARM-FIPS"
53-
max_layer_compressed_size_mb: 22
53+
max_layer_compressed_size_mb: 23
5454
max_layer_uncompressed_size_mb: 52
5555

5656
- name: amd64, fips, alpine

LICENSE-3rdparty.csv

Lines changed: 33368 additions & 0 deletions
Large diffs are not rendered by default.

bottlecap/Cargo.lock

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bottlecap/Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,16 @@ name = "bottlecap"
7878
opt-level = "z" # Optimize for size.
7979
lto = true
8080
codegen-units = 1
81-
strip = true
8281

8382
[profile.release-alpine-arm64-fips]
8483
inherits = "release"
8584
# Unfortunately opt-level "z" does not work for building aws-lc-fips-sys on
8685
# Alpine for ARM with FIPS enabled.
8786
opt-level = 3
8887

88+
[target.'cfg(not(target_env = "msvc"))'.dependencies]
89+
tikv-jemallocator = "0.5"
90+
8991
[features]
9092
default = ["reqwest/rustls-tls", "dogstatsd/default", "datadog-fips/default" ]
9193
fips = [

bottlecap/src/bin/bottlecap/main.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@
99
#![deny(missing_copy_implementations)]
1010
#![deny(missing_debug_implementations)]
1111

12+
#[cfg(not(target_env = "msvc"))]
13+
use tikv_jemallocator::Jemalloc;
14+
15+
#[cfg(not(target_env = "msvc"))]
16+
#[global_allocator]
17+
static GLOBAL: Jemalloc = Jemalloc;
18+
1219
use bottlecap::{
1320
base_url,
1421
config::{

0 commit comments

Comments
 (0)