-
Notifications
You must be signed in to change notification settings - Fork 469
chore: migrate os env call to new package 2/3 #15429
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: ben.db/APMAPI-1612-migrate-environ-calls
Are you sure you want to change the base?
chore: migrate os env call to new package 2/3 #15429
Conversation
|
|
ddtrace/profiling/collector/_lock.py
Outdated
| from ddtrace.profiling.collector import _task | ||
| from ddtrace.profiling.collector import _traceback | ||
| from ddtrace.profiling.event import DDFrame | ||
| from ddtrace.settings._env import environ as _environ |
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.
❓ Why the as _environ? Couldn't we just import it as _environ or just env?
ddtrace/settings/profiling.py
Outdated
| # - Is profiling enabled ("profiler" in the list) | ||
| if os.environ.get("DD_INJECTION_ENABLED") is not None: | ||
| for tok in os.environ.get("DD_INJECTION_ENABLED", "").split(","): | ||
| if _get_env("DD_INJECTION_ENABLED") is not None: |
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.
What's the difference between _environ.get and _get_env? I see in the files owned by Profiling we have (post-change) two different patterns
4853755 to
dce3336
Compare
7444b87 to
5611775
Compare
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 235 ± 2 ms. The average import time from base is: 237 ± 2 ms. The import time difference between this PR and base is: -2.26 ± 0.08 ms. Import time breakdownThe following import paths have appeared:
|
Performance SLOsComparing candidate ben.db/APMAPI-1612-migrate-environ-calls-2 (5611775) with baseline ben.db/APMAPI-1612-migrate-environ-calls (dce3336) 🟡 Near SLO Breach (5 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.482ms (SLO: <22.300ms -8.2%) vs baseline: -0.2% Memory: ✅ 66.139MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +4.9% ✅ exception-replay-enabledTime: ✅ 1.337ms (SLO: <1.450ms -7.8%) vs baseline: ~same Memory: ✅ 64.228MB (SLO: <67.000MB -4.1%) vs baseline: +4.9% ✅ iastTime: ✅ 20.442ms (SLO: <22.250ms -8.1%) vs baseline: -0.4% Memory: ✅ 66.159MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +4.9% ✅ profilerTime: ✅ 15.598ms (SLO: <16.550ms -5.8%) vs baseline: +0.4% Memory: ✅ 53.846MB (SLO: <54.500MB 🟡 -1.2%) vs baseline: +4.9% ✅ resource-renamingTime: ✅ 20.544ms (SLO: <21.750ms -5.5%) vs baseline: ~same Memory: ✅ 66.139MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +4.8% ✅ span-code-originTime: ✅ 25.326ms (SLO: <28.200ms 📉 -10.2%) vs baseline: -0.6% Memory: ✅ 67.274MB (SLO: <69.500MB -3.2%) vs baseline: +4.9% ✅ tracerTime: ✅ 20.504ms (SLO: <21.750ms -5.7%) vs baseline: +0.2% Memory: ✅ 66.159MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +4.9% ✅ tracer-and-profilerTime: ✅ 22.646ms (SLO: <23.500ms -3.6%) vs baseline: -0.3% Memory: ✅ 67.672MB (SLO: <68.000MB 🟡 -0.5%) vs baseline: +4.9% ✅ tracer-dont-create-db-spansTime: ✅ 19.286ms (SLO: <21.500ms 📉 -10.3%) vs baseline: -0.2% Memory: ✅ 66.060MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +4.7% ✅ tracer-minimalTime: ✅ 16.643ms (SLO: <17.500ms -4.9%) vs baseline: ~same Memory: ✅ 65.785MB (SLO: <67.000MB 🟡 -1.8%) vs baseline: +4.8% ✅ tracer-nativeTime: ✅ 20.426ms (SLO: <21.750ms -6.1%) vs baseline: +0.1% Memory: ✅ 67.555MB (SLO: <72.500MB -6.8%) vs baseline: +4.8% ✅ tracer-no-cachesTime: ✅ 18.471ms (SLO: <19.650ms -6.0%) vs baseline: ~same Memory: ✅ 65.765MB (SLO: <67.000MB 🟡 -1.8%) vs baseline: +4.7% ✅ tracer-no-databasesTime: ✅ 18.783ms (SLO: <20.100ms -6.6%) vs baseline: +0.2% Memory: ✅ 65.726MB (SLO: <67.000MB 🟡 -1.9%) vs baseline: +4.6% ✅ tracer-no-middlewareTime: ✅ 20.180ms (SLO: <21.500ms -6.1%) vs baseline: ~same Memory: ✅ 65.982MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.8% ✅ tracer-no-templatesTime: ✅ 20.341ms (SLO: <22.000ms -7.5%) vs baseline: +0.2% Memory: ✅ 66.218MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +5.0% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.068ms (SLO: <19.850ms -9.0%) vs baseline: -0.2% Memory: ✅ 65.739MB (SLO: <66.500MB 🟡 -1.1%) vs baseline: +4.8% ✅ errortracking-enabled-userTime: ✅ 18.188ms (SLO: <19.400ms -6.2%) vs baseline: +0.4% Memory: ✅ 65.765MB (SLO: <66.500MB 🟡 -1.1%) vs baseline: +4.9% ✅ tracer-enabledTime: ✅ 18.034ms (SLO: <19.450ms -7.3%) vs baseline: -0.5% Memory: ✅ 65.706MB (SLO: <66.500MB 🟡 -1.2%) vs baseline: +4.8% 🟡 errortrackingflasksqli - 6/6✅ errortracking-enabled-allTime: ✅ 2.073ms (SLO: <2.300ms -9.9%) vs baseline: +0.3% Memory: ✅ 52.632MB (SLO: <53.500MB 🟡 -1.6%) vs baseline: +4.9% ✅ errortracking-enabled-userTime: ✅ 2.067ms (SLO: <2.250ms -8.1%) vs baseline: +0.2% Memory: ✅ 52.671MB (SLO: <53.500MB 🟡 -1.5%) vs baseline: +4.9% ✅ tracer-enabledTime: ✅ 2.072ms (SLO: <2.300ms -9.9%) vs baseline: -0.1% Memory: ✅ 52.612MB (SLO: <53.500MB 🟡 -1.7%) vs baseline: +4.9% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.585ms (SLO: <4.750ms -3.5%) vs baseline: -0.3% Memory: ✅ 62.106MB (SLO: <65.000MB -4.5%) vs baseline: +4.9% ✅ appsec-postTime: ✅ 6.610ms (SLO: <6.750ms -2.1%) vs baseline: -0.1% Memory: ✅ 62.187MB (SLO: <65.000MB -4.3%) vs baseline: +4.7% ✅ appsec-telemetryTime: ✅ 4.608ms (SLO: <4.750ms -3.0%) vs baseline: +0.8% Memory: ✅ 62.148MB (SLO: <65.000MB -4.4%) vs baseline: +5.0% ✅ debuggerTime: ✅ 1.856ms (SLO: <2.000ms -7.2%) vs baseline: -0.1% Memory: ✅ 45.160MB (SLO: <47.000MB -3.9%) vs baseline: +4.7% ✅ iast-getTime: ✅ 1.853ms (SLO: <2.000ms -7.3%) vs baseline: -0.2% Memory: ✅ 41.954MB (SLO: <49.000MB 📉 -14.4%) vs baseline: +4.9% ✅ profilerTime: ✅ 1.908ms (SLO: <2.100ms -9.2%) vs baseline: -0.5% Memory: ✅ 46.399MB (SLO: <47.000MB 🟡 -1.3%) vs baseline: +4.9% ✅ resource-renamingTime: ✅ 3.363ms (SLO: <3.650ms -7.9%) vs baseline: -0.6% Memory: ✅ 52.671MB (SLO: <53.500MB 🟡 -1.5%) vs baseline: +4.9% ✅ tracerTime: ✅ 3.360ms (SLO: <3.650ms -7.9%) vs baseline: +0.5% Memory: ✅ 52.690MB (SLO: <53.500MB 🟡 -1.5%) vs baseline: +4.9% ✅ tracer-nativeTime: ✅ 3.355ms (SLO: <3.650ms -8.1%) vs baseline: +0.1% Memory: ✅ 54.265MB (SLO: <60.000MB -9.6%) vs baseline: +4.8% 🟡 span - 26/26✅ add-eventTime: ✅ 19.740ms (SLO: <22.500ms 📉 -12.3%) vs baseline: -0.7% Memory: ✅ 48.298MB (SLO: <53.000MB -8.9%) vs baseline: +4.9% ✅ add-metricsTime: ✅ 90.140ms (SLO: <93.500ms -3.6%) vs baseline: ~same Memory: ✅ 735.928MB (SLO: <961.000MB 📉 -23.4%) vs baseline: +4.9% ✅ add-tagsTime: ✅ 147.565ms (SLO: <155.000ms -4.8%) vs baseline: +1.3% Memory: ✅ 735.869MB (SLO: <962.500MB 📉 -23.5%) vs baseline: +4.8% ✅ get-contextTime: ✅ 18.167ms (SLO: <20.500ms 📉 -11.4%) vs baseline: -0.4% Memory: ✅ 47.085MB (SLO: <53.000MB 📉 -11.2%) vs baseline: +4.8% ✅ is-recordingTime: ✅ 18.650ms (SLO: <20.500ms -9.0%) vs baseline: +0.6% Memory: ✅ 47.190MB (SLO: <53.000MB 📉 -11.0%) vs baseline: +5.0% ✅ record-exceptionTime: ✅ 37.939ms (SLO: <40.000ms -5.2%) vs baseline: +1.9% Memory: ✅ 41.585MB (SLO: <53.000MB 📉 -21.5%) vs baseline: +5.0% ✅ set-statusTime: ✅ 20.043ms (SLO: <22.000ms -8.9%) vs baseline: ~same Memory: ✅ 47.111MB (SLO: <53.000MB 📉 -11.1%) vs baseline: +4.7% ✅ startTime: ✅ 18.518ms (SLO: <20.500ms -9.7%) vs baseline: +2.1% Memory: ✅ 47.223MB (SLO: <53.000MB 📉 -10.9%) vs baseline: +5.0% ✅ start-finishTime: ✅ 51.497ms (SLO: <52.500ms 🟡 -1.9%) vs baseline: +1.5% Memory: ✅ 31.497MB (SLO: <34.000MB -7.4%) vs baseline: +5.1% ✅ start-finish-telemetryTime: ✅ 52.337ms (SLO: <54.500ms -4.0%) vs baseline: +1.0% Memory: ✅ 31.438MB (SLO: <34.000MB -7.5%) vs baseline: +4.8% ✅ start-finish-traceid128Time: ✅ 54.316ms (SLO: <57.000ms -4.7%) vs baseline: +1.1% Memory: ✅ 31.438MB (SLO: <34.000MB -7.5%) vs baseline: +4.7% ✅ start-traceid128Time: ✅ 18.631ms (SLO: <22.500ms 📉 -17.2%) vs baseline: +0.8% Memory: ✅ 47.189MB (SLO: <53.000MB 📉 -11.0%) vs baseline: +5.1% ✅ update-nameTime: ✅ 18.686ms (SLO: <22.000ms 📉 -15.1%) vs baseline: ~same Memory: ✅ 47.746MB (SLO: <53.000MB -9.9%) vs baseline: +4.9% 📉 Performance Improvements (1 suite)📉 iastaspectssplit - 12/12✅ rsplit_aspectTime: ✅ 1.445µs (SLO: <10.000µs 📉 -85.6%) vs baseline: +0.9% Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: +5.0% ✅ rsplit_noaspectTime: ✅ 0.583µs (SLO: <10.000µs 📉 -94.2%) vs baseline: +0.7% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.8% ✅ split_aspectTime: ✅ 1.421µs (SLO: <10.000µs 📉 -85.8%) vs baseline: -4.8% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ split_noaspectTime: ✅ 0.573µs (SLO: <10.000µs 📉 -94.3%) vs baseline: +0.6% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ splitlines_aspectTime: ✅ 1.414µs (SLO: <10.000µs 📉 -85.9%) vs baseline: 📉 -11.4% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ splitlines_noaspectTime: ✅ 0.585µs (SLO: <10.000µs 📉 -94.2%) vs baseline: +0.7% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.8%
|
Description
This PR migrates some of the os.environ (and equivalent) calls to the new
settings._envpackage.Additional Notes
merging into #15428