Closed tobz closed 2 weeks ago
Run ID: 59e2f935-bf1d-4409-bfb8-d0d8d7b80348
Baseline: 7.55.2 Comparison: 7.55.3
Performance changes are noted in the perf column of each table:
Confidence level: 90.00% Effect size tolerance: |Δ mean %| ≥ 5.00%
There were no significant changes in experiment optimization goals at this confidence level and effect size tolerance.
Run ID: 48366763-6585-4409-989e-3a34738db22f
Baseline: 439b8fde23576ae5a93d87860729283fe481e6f9 Comparison: 953934a5d770b7d71b4a7ba368bed48a1c81b5b6
Performance changes are noted in the perf column of each table:
Confidence level: 90.00% Effect size tolerance: |Δ mean %| ≥ 5.00%
perf | experiment | goal | Δ mean % | Δ mean % CI | links |
---|---|---|---|---|---|
✅ | dsd_uds_1mb_50k_contexts_memlimit | ingress throughput | +5.21 | [+1.88, +8.54] |
experiment | link(s) |
---|---|
dsd_uds_100mb_250k_contexts | [Profiling (ADP)] [Profiling (DSD)] [SMP Dashboard] |
dsd_uds_100mb_3k_contexts | [Profiling (ADP)] [Profiling (DSD)] [SMP Dashboard] |
dsd_uds_100mb_3k_contexts_distributions_only | [Profiling (ADP)] [Profiling (DSD)] [SMP Dashboard] |
dsd_uds_10mb_3k_contexts | [Profiling (ADP)] [Profiling (DSD)] [SMP Dashboard] |
dsd_uds_1mb_3k_contexts | [Profiling (ADP)] [Profiling (DSD)] [SMP Dashboard] |
dsd_uds_1mb_50k_contexts | [Profiling (ADP)] [Profiling (DSD)] [SMP Dashboard] |
dsd_uds_1mb_50k_contexts_memlimit | [Profiling (ADP)] [Profiling (DSD)] [SMP Dashboard] |
dsd_uds_500mb_3k_contexts | [Profiling (ADP)] [Profiling (DSD)] [SMP Dashboard] |
dsd_uds_512kb_3k_contexts | [Profiling (ADP)] [Profiling (DSD)] [SMP Dashboard] |
dsd_uds_50mb_10k_contexts_no_inlining (ADP only) | [Profiling (ADP)] [SMP Dashboard] |
dsd_uds_50mb_10k_contexts_no_inlining_no_allocs (ADP only) | [Profiling (ADP)] [SMP Dashboard] |
Context
In #223, we detailed the state of the size of the
MetricMetadata
struct in memory, and the contribution of string fields, in particular the cardinality field onOriginEntity
, towards the overall size ofMetricMetadata
.Every metric that flows through the system must be allocated at a certain size, regardless of whether or not many of these fields are set, which means larger allocations, more bytes to copy around, and so on.
Solution
This PR makes the cardinality field use an enum now instead of a raw string. As noted in #223, the original point of using a string was to allow for separation between
saluki-event
andsaluki-env
... but I no longer believe the trade-off is worth it, and we can slim down things today by shifting the enum fromsaluki-env
tosaluki-event
, which is what this PR does.Fixes #223.