-
Notifications
You must be signed in to change notification settings - Fork 467
perf(profiling): initialize code provenance on import #15072
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
base: main
Are you sure you want to change the base?
Conversation
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 323 ± 4 ms. The average import time from base is: 237 ± 2 ms. The import time difference between this PR and base is: 85.4 ± 0.1 ms. Import time breakdownThe following import paths have grown:
|
Performance SLOsComparing candidate taegyunkim/code-provenance-on-import (06e6421) with baseline main (5b6b476) 📈 Performance Regressions (2 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.409µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.5% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ add_inplace_aspectTime: ✅ 0.407µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.5% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ add_inplace_noaspectTime: ✅ 0.315µs (SLO: <10.000µs 📉 -96.8%) vs baseline: ~same Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ add_noaspectTime: ✅ 0.279µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +1.5% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ bytearray_aspectTime: ✅ 1.363µs (SLO: <10.000µs 📉 -86.4%) vs baseline: +0.4% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ bytearray_extend_aspectTime: ✅ 1.514µs (SLO: <10.000µs 📉 -84.9%) vs baseline: +0.8% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ bytearray_extend_noaspectTime: ✅ 0.615µs (SLO: <10.000µs 📉 -93.8%) vs baseline: +0.4% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ bytearray_noaspectTime: ✅ 0.489µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +0.2% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ bytes_aspectTime: ✅ 1.284µs (SLO: <10.000µs 📉 -87.2%) vs baseline: -0.8% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ bytes_noaspectTime: ✅ 0.493µs (SLO: <10.000µs 📉 -95.1%) vs baseline: ~same Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ bytesio_aspectTime: ✅ 1.350µs (SLO: <10.000µs 📉 -86.5%) vs baseline: +0.1% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ bytesio_noaspectTime: ✅ 0.496µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.7% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ capitalize_aspectTime: ✅ 0.738µs (SLO: <10.000µs 📉 -92.6%) vs baseline: ~same Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.2% ✅ capitalize_noaspectTime: ✅ 0.440µs (SLO: <10.000µs 📉 -95.6%) vs baseline: +1.2% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ casefold_aspectTime: ✅ 0.733µs (SLO: <10.000µs 📉 -92.7%) vs baseline: -0.1% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +5.1% ✅ casefold_noaspectTime: ✅ 0.374µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.6% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ decode_aspectTime: ✅ 0.726µs (SLO: <10.000µs 📉 -92.7%) vs baseline: ~same Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ decode_noaspectTime: ✅ 0.421µs (SLO: <10.000µs 📉 -95.8%) vs baseline: -0.6% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ encode_aspectTime: ✅ 0.709µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +0.1% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ encode_noaspectTime: ✅ 0.403µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.6% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ format_aspectTime: ✅ 3.400µs (SLO: <10.000µs 📉 -66.0%) vs baseline: ~same Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ format_map_aspectTime: ✅ 3.696µs (SLO: <10.000µs 📉 -63.0%) vs baseline: +0.5% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ format_map_noaspectTime: ✅ 0.777µs (SLO: <10.000µs 📉 -92.2%) vs baseline: +0.3% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ format_noaspectTime: ✅ 0.597µs (SLO: <10.000µs 📉 -94.0%) vs baseline: +0.2% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ index_aspectTime: ✅ 0.355µs (SLO: <10.000µs 📉 -96.5%) vs baseline: -0.5% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ index_noaspectTime: ✅ 0.277µs (SLO: <10.000µs 📉 -97.2%) vs baseline: ~same Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ join_aspectTime: ✅ 1.367µs (SLO: <10.000µs 📉 -86.3%) vs baseline: +1.1% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ join_noaspectTime: ✅ 0.493µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +0.9% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ ljust_aspectTime: ✅ 2.835µs (SLO: <20.000µs 📉 -85.8%) vs baseline: +9.3% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ ljust_noaspectTime: ✅ 0.407µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.7% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ lower_aspectTime: ✅ 2.200µs (SLO: <10.000µs 📉 -78.0%) vs baseline: +0.6% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ lower_noaspectTime: ✅ 0.372µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +1.1% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ lstrip_aspectTime: ✅ 2.247µs (SLO: <20.000µs 📉 -88.8%) vs baseline: +2.3% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ lstrip_noaspectTime: ✅ 0.382µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.1% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ modulo_aspectTime: ✅ 0.999µs (SLO: <10.000µs 📉 -90.0%) vs baseline: -0.7% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.566µs (SLO: <10.000µs 📉 -84.3%) vs baseline: ~same Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.1% ✅ modulo_aspect_for_bytesTime: ✅ 0.979µs (SLO: <10.000µs 📉 -90.2%) vs baseline: -1.3% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.236µs (SLO: <10.000µs 📉 -87.6%) vs baseline: +0.3% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ modulo_noaspectTime: ✅ 0.625µs (SLO: <10.000µs 📉 -93.7%) vs baseline: -0.6% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ replace_aspectTime: ✅ 5.678µs (SLO: <10.000µs 📉 -43.2%) vs baseline: 📈 +14.9% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ replace_noaspectTime: ✅ 0.461µs (SLO: <10.000µs 📉 -95.4%) vs baseline: -0.7% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ repr_aspectTime: ✅ 0.907µs (SLO: <10.000µs 📉 -90.9%) vs baseline: -0.1% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ repr_noaspectTime: ✅ 0.424µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +2.5% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ rstrip_aspectTime: ✅ 1.907µs (SLO: <20.000µs 📉 -90.5%) vs baseline: -1.2% Memory: ✅ 38.142MB (SLO: <39.000MB -2.2%) vs baseline: +5.0% ✅ rstrip_noaspectTime: ✅ 0.389µs (SLO: <10.000µs 📉 -96.1%) vs baseline: +1.7% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ slice_aspectTime: ✅ 0.493µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.3% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ slice_noaspectTime: ✅ 0.448µs (SLO: <10.000µs 📉 -95.5%) vs baseline: -0.1% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ stringio_aspectTime: ✅ 1.560µs (SLO: <10.000µs 📉 -84.4%) vs baseline: +0.8% Memory: ✅ 38.142MB (SLO: <39.000MB -2.2%) vs baseline: +5.1% ✅ stringio_noaspectTime: ✅ 0.724µs (SLO: <10.000µs 📉 -92.8%) vs baseline: +1.0% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ strip_aspectTime: ✅ 2.203µs (SLO: <20.000µs 📉 -89.0%) vs baseline: -0.5% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.6% ✅ strip_noaspectTime: ✅ 0.385µs (SLO: <10.000µs 📉 -96.2%) vs baseline: +0.8% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ swapcase_aspectTime: ✅ 2.391µs (SLO: <10.000µs 📉 -76.1%) vs baseline: ~same Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ swapcase_noaspectTime: ✅ 0.532µs (SLO: <10.000µs 📉 -94.7%) vs baseline: -0.2% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ title_aspectTime: ✅ 2.322µs (SLO: <10.000µs 📉 -76.8%) vs baseline: +0.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ title_noaspectTime: ✅ 0.500µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.4% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ translate_aspectTime: ✅ 3.234µs (SLO: <10.000µs 📉 -67.7%) vs baseline: +0.6% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ translate_noaspectTime: ✅ 1.049µs (SLO: <10.000µs 📉 -89.5%) vs baseline: +1.0% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ upper_aspectTime: ✅ 2.213µs (SLO: <10.000µs 📉 -77.9%) vs baseline: +1.0% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.8% ✅ upper_noaspectTime: ✅ 0.368µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.6% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.111µs (SLO: <20.000µs 📉 -84.4%) vs baseline: +6.6% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.6% ✅ 1-count-metrics-100-timesTime: ✅ 203.458µs (SLO: <220.000µs -7.5%) vs baseline: +1.5% Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +4.6% ✅ 1-distribution-metric-1-timesTime: ✅ 3.548µs (SLO: <20.000µs 📉 -82.3%) vs baseline: +8.5% Memory: ✅ 32.204MB (SLO: <34.000MB -5.3%) vs baseline: +5.0% ✅ 1-distribution-metrics-100-timesTime: ✅ 215.025µs (SLO: <220.000µs -2.3%) vs baseline: +1.2% Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +4.7% ✅ 1-gauge-metric-1-timesTime: ✅ 2.434µs (SLO: <20.000µs 📉 -87.8%) vs baseline: 📈 +13.3% Memory: ✅ 32.224MB (SLO: <34.000MB -5.2%) vs baseline: +5.0% ✅ 1-gauge-metrics-100-timesTime: ✅ 137.317µs (SLO: <150.000µs -8.5%) vs baseline: +0.8% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.5% ✅ 1-rate-metric-1-timesTime: ✅ 3.468µs (SLO: <20.000µs 📉 -82.7%) vs baseline: 📈 +13.2% Memory: ✅ 32.204MB (SLO: <34.000MB -5.3%) vs baseline: +5.2% ✅ 1-rate-metrics-100-timesTime: ✅ 217.619µs (SLO: <250.000µs 📉 -13.0%) vs baseline: +2.0% Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +4.7% ✅ 100-count-metrics-100-timesTime: ✅ 20.289ms (SLO: <22.000ms -7.8%) vs baseline: +0.8% Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +4.8% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.253ms (SLO: <2.300ms -2.0%) vs baseline: +0.8% Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.6% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.412ms (SLO: <1.550ms -8.9%) vs baseline: +0.9% Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.6% ✅ 100-rate-metrics-100-timesTime: ✅ 2.260ms (SLO: <2.550ms 📉 -11.4%) vs baseline: +3.3% Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +4.6% ✅ flush-1-metricTime: ✅ 4.640µs (SLO: <20.000µs 📉 -76.8%) vs baseline: -0.7% Memory: ✅ 32.086MB (SLO: <34.000MB -5.6%) vs baseline: +4.4% ✅ flush-100-metricsTime: ✅ 175.470µs (SLO: <250.000µs 📉 -29.8%) vs baseline: +0.2% Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +4.8% ✅ flush-1000-metricsTime: ✅ 2.114ms (SLO: <2.500ms 📉 -15.4%) vs baseline: -1.1% Memory: ✅ 32.952MB (SLO: <34.500MB -4.5%) vs baseline: +4.7% 🟡 Near SLO Breach (6 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.450ms (SLO: <22.300ms -8.3%) vs baseline: ~same Memory: ✅ 66.184MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +4.4% ✅ exception-replay-enabledTime: ✅ 1.281ms (SLO: <1.450ms 📉 -11.7%) vs baseline: -4.6% Memory: ✅ 64.737MB (SLO: <67.000MB -3.4%) vs baseline: +5.1% ✅ iastTime: ✅ 20.418ms (SLO: <22.250ms -8.2%) vs baseline: ~same Memory: ✅ 66.204MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +4.4% ✅ profilerTime: ✅ 15.520ms (SLO: <16.550ms -6.2%) vs baseline: +0.2% Memory: ✅ 54.075MB (SLO: <54.500MB 🟡 -0.8%) vs baseline: +4.9% ✅ resource-renamingTime: ✅ 20.555ms (SLO: <21.750ms -5.5%) vs baseline: ~same Memory: ✅ 66.195MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +4.5% ✅ span-code-originTime: ✅ 25.250ms (SLO: <28.200ms 📉 -10.5%) vs baseline: -0.8% Memory: ✅ 67.337MB (SLO: <69.500MB -3.1%) vs baseline: +4.5% ✅ tracerTime: ✅ 20.456ms (SLO: <21.750ms -6.0%) vs baseline: ~same Memory: ✅ 66.215MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +4.5% ✅ tracer-and-profilerTime: ✅ 22.708ms (SLO: <23.500ms -3.4%) vs baseline: +0.2% Memory: ✅ 67.579MB (SLO: <68.000MB 🟡 -0.6%) vs baseline: +4.5% ✅ tracer-dont-create-db-spansTime: ✅ 19.286ms (SLO: <21.500ms 📉 -10.3%) vs baseline: -0.2% Memory: ✅ 66.269MB (SLO: <67.000MB 🟡 -1.1%) vs baseline: +4.6% ✅ tracer-minimalTime: ✅ 16.633ms (SLO: <17.500ms -5.0%) vs baseline: -0.1% Memory: ✅ 66.216MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +4.5% ✅ tracer-nativeTime: ✅ 20.497ms (SLO: <21.750ms -5.8%) vs baseline: +0.5% Memory: ✅ 72.176MB (SLO: <72.500MB 🟡 -0.4%) vs baseline: +4.7% ✅ tracer-no-cachesTime: ✅ 18.474ms (SLO: <19.650ms -6.0%) vs baseline: +0.3% Memory: ✅ 66.169MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +4.5% ✅ tracer-no-databasesTime: ✅ 18.796ms (SLO: <20.100ms -6.5%) vs baseline: +0.3% Memory: ✅ 66.187MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +4.5% ✅ tracer-no-middlewareTime: ✅ 20.142ms (SLO: <21.500ms -6.3%) vs baseline: ~same Memory: ✅ 66.194MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +4.5% ✅ tracer-no-templatesTime: ✅ 20.287ms (SLO: <22.000ms -7.8%) vs baseline: +0.1% Memory: ✅ 66.192MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +4.4% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.057ms (SLO: <19.850ms -9.0%) vs baseline: +0.2% Memory: ✅ 66.303MB (SLO: <66.500MB 🟡 -0.3%) vs baseline: +4.6% ✅ errortracking-enabled-userTime: ✅ 18.031ms (SLO: <19.400ms -7.1%) vs baseline: ~same Memory: ✅ 66.229MB (SLO: <66.500MB 🟡 -0.4%) vs baseline: +4.6% ✅ tracer-enabledTime: ✅ 18.091ms (SLO: <19.450ms -7.0%) vs baseline: +0.2% Memory: ✅ 65.862MB (SLO: <66.500MB 🟡 -1.0%) vs baseline: +4.1% 🟡 errortrackingflasksqli - 6/6✅ errortracking-enabled-allTime: ✅ 2.068ms (SLO: <2.300ms 📉 -10.1%) vs baseline: -0.4% Memory: ✅ 52.593MB (SLO: <53.500MB 🟡 -1.7%) vs baseline: +4.4% ✅ errortracking-enabled-userTime: ✅ 2.065ms (SLO: <2.250ms -8.2%) vs baseline: -0.2% Memory: ✅ 52.632MB (SLO: <53.500MB 🟡 -1.6%) vs baseline: +4.5% ✅ tracer-enabledTime: ✅ 2.069ms (SLO: <2.300ms 📉 -10.0%) vs baseline: -0.7% Memory: ✅ 52.553MB (SLO: <53.500MB 🟡 -1.8%) vs baseline: +4.6% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.581ms (SLO: <4.750ms -3.6%) vs baseline: +0.2% Memory: ✅ 62.325MB (SLO: <65.000MB -4.1%) vs baseline: +4.2% ✅ appsec-postTime: ✅ 6.617ms (SLO: <6.750ms 🟡 -2.0%) vs baseline: -0.6% Memory: ✅ 62.521MB (SLO: <65.000MB -3.8%) vs baseline: +4.5% ✅ appsec-telemetryTime: ✅ 4.580ms (SLO: <4.750ms -3.6%) vs baseline: ~same Memory: ✅ 62.423MB (SLO: <65.000MB -4.0%) vs baseline: +4.3% ✅ debuggerTime: ✅ 1.852ms (SLO: <2.000ms -7.4%) vs baseline: -0.3% Memory: ✅ 45.436MB (SLO: <47.000MB -3.3%) vs baseline: +4.9% ✅ iast-getTime: ✅ 1.857ms (SLO: <2.000ms -7.2%) vs baseline: ~same Memory: ✅ 42.389MB (SLO: <49.000MB 📉 -13.5%) vs baseline: +4.9% ✅ profilerTime: ✅ 1.910ms (SLO: <2.100ms -9.0%) vs baseline: -0.2% Memory: ✅ 46.832MB (SLO: <47.000MB 🟡 -0.4%) vs baseline: +5.0% ✅ resource-renamingTime: ✅ 3.353ms (SLO: <3.650ms -8.1%) vs baseline: ~same Memory: ✅ 52.652MB (SLO: <53.500MB 🟡 -1.6%) vs baseline: +4.2% ✅ tracerTime: ✅ 3.340ms (SLO: <3.650ms -8.5%) vs baseline: -0.2% Memory: ✅ 52.573MB (SLO: <53.500MB 🟡 -1.7%) vs baseline: +4.0% ✅ tracer-nativeTime: ✅ 3.342ms (SLO: <3.650ms -8.4%) vs baseline: -0.1% Memory: ✅ 58.580MB (SLO: <60.000MB -2.4%) vs baseline: +4.1% 🟡 flasksqli - 6/6✅ appsec-enabledTime: ✅ 3.969ms (SLO: <4.200ms -5.5%) vs baseline: ~same Memory: ✅ 62.757MB (SLO: <66.000MB -4.9%) vs baseline: +4.5% ✅ iast-enabledTime: ✅ 2.433ms (SLO: <2.800ms 📉 -13.1%) vs baseline: -0.3% Memory: ✅ 59.376MB (SLO: <60.000MB 🟡 -1.0%) vs baseline: +4.5% ✅ tracer-enabledTime: ✅ 2.056ms (SLO: <2.250ms -8.6%) vs baseline: -0.8% Memory: ✅ 52.534MB (SLO: <54.500MB -3.6%) vs baseline: +4.1% 🟡 recursivecomputation - 8/8✅ deepTime: ✅ 308.393ms (SLO: <320.950ms -3.9%) vs baseline: -0.3% Memory: ✅ 32.873MB (SLO: <34.500MB -4.7%) vs baseline: +4.6% ✅ deep-profiledTime: ✅ 330.766ms (SLO: <359.150ms -7.9%) vs baseline: +0.9% Memory: ✅ 38.398MB (SLO: <39.000MB 🟡 -1.5%) vs baseline: +7.3% ✅ mediumTime: ✅ 7.038ms (SLO: <7.400ms -4.9%) vs baseline: +0.4% Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +5.0% ✅ shallowTime: ✅ 0.945ms (SLO: <1.050ms -10.0%) vs baseline: +0.3% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.8%
|
| # This can add up and show up as a significant overhead, especially in a service | ||
| # with many packages installed, and many short lived child processes serving | ||
| # requests. | ||
| CODE_PROVENANCE_JSON_STR = json.dumps(CodeProvenance().to_dict()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: is it customary to use Hungarian notation for variable names in this repo?
| CODE_PROVENANCE_JSON_STR = json.dumps(CodeProvenance().to_dict()) | |
| CODE_PROVENANCE_JSON = json.dumps(CodeProvenance().to_dict()) |
|
This PR has a noticeable impact on import time. If we want to eagerly create this mapping, perhaps we can do so with a before-in-parent fork hook? |
| # This can add up and show up as a significant overhead, especially in a service | ||
| # with many packages installed, and many short lived child processes serving | ||
| # requests. | ||
| CODE_PROVENANCE_JSON_STR = json.dumps(CodeProvenance().to_dict()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a quick look, I guess that could be fine but
- Are we sure there aren’t risks that we accidentally import that module and end up initialising code provenance (partially, because we run this) even when it is disabled?
- I don’t know at all what the importlib metadata stuff is about, but isn’t there at all some assumption that we build the package mapping after the process has finished importing all the “important/system stuff”? If so, wouldn’t running this logic at startup possibly break that assumption?
Description
Testing
Risks
Additional Notes