move apm language detection config under apm_config.instrumentation#23232
move apm language detection config under apm_config.instrumentation#23232
Conversation
786cb78 to
e756063
Compare
Bloop Bleep... Dogbot HereRegression Detector ResultsRun ID: da519242-f00c-464f-8444-ba51ac83e295 Performance changes are noted in the perf column of each table:
Experiments with missing or malformed data
Usually, this warning means that there is no usable optimization goal data for that experiment, which could be a result of misconfiguration. No significant changes in experiment optimization goalsConfidence level: 90.00% There were no significant changes in experiment optimization goals at this confidence level and effect size tolerance.
|
| perf | experiment | goal | Δ mean % | Δ mean % CI |
|---|---|---|---|---|
| ➖ | file_to_blackhole | % cpu utilization | +0.24 | [-6.31, +6.79] |
Fine details of change detection per experiment
| perf | experiment | goal | Δ mean % | Δ mean % CI |
|---|---|---|---|---|
| ➖ | otel_to_otel_logs | ingress throughput | +0.94 | [+0.30, +1.57] |
| ➖ | file_tree | memory utilization | +0.76 | [+0.63, +0.88] |
| ➖ | process_agent_real_time_mode | memory utilization | +0.35 | [+0.30, +0.39] |
| ➖ | tcp_syslog_to_blackhole | ingress throughput | +0.28 | [+0.22, +0.35] |
| ➖ | file_to_blackhole | % cpu utilization | +0.24 | [-6.31, +6.79] |
| ➖ | process_agent_standard_check_with_stats | memory utilization | +0.18 | [+0.13, +0.22] |
| ➖ | uds_dogstatsd_to_api | ingress throughput | +0.00 | [-0.00, +0.00] |
| ➖ | tcp_dd_logs_filter_exclude | ingress throughput | +0.00 | [-0.00, +0.00] |
| ➖ | trace_agent_json | ingress throughput | -0.03 | [-0.07, +0.00] |
| ➖ | trace_agent_msgpack | ingress throughput | -0.05 | [-0.06, -0.03] |
| ➖ | process_agent_standard_check | memory utilization | -0.23 | [-0.27, -0.20] |
| ➖ | idle | memory utilization | -0.34 | [-0.38, -0.30] |
| ➖ | uds_dogstatsd_to_api_cpu | % cpu utilization | -2.08 | [-3.48, -0.68] |
Explanation
A regression test is an A/B test of target performance in a repeatable rig, where "performance" is measured as "comparison variant minus baseline variant" for an optimization goal (e.g., ingress throughput). Due to intrinsic variability in measuring that goal, we can only estimate its mean value for each experiment; we report uncertainty in that value as a 90.00% confidence interval denoted "Δ mean % CI".
For each experiment, we decide whether a change in performance is a "regression" -- a change worth investigating further -- if all of the following criteria are true:
-
Its estimated |Δ mean %| ≥ 5.00%, indicating the change is big enough to merit a closer look.
-
Its 90.00% confidence interval "Δ mean % CI" does not contain zero, indicating that if our statistical model is accurate, there is at least a 90.00% chance there is a difference in performance between baseline and comparison variants.
-
Its configuration does not mark it "erratic".
| ownersLanguages = *newOwnersLanguages() | ||
| languageTTL = config.Datadog.GetDuration("language_detection.cleanup.language_ttl") | ||
| cleanupPeriod := config.Datadog.GetDuration("language_detection.cleanup.period") | ||
| languageTTL = config.Datadog.GetDuration("apm_config.instrumentation.language_detection.language_ttl") |
There was a problem hiding this comment.
I though apm_config was limited to the trace-agent configuration.
if we use it in the cluster-agent it means that we need to load the trace-agent config
| config.BindEnvAndSetDefault("apm_config.instrumentation.language_detection.client_period", "10s", "DD_APM_INSTRUMENTATION_LANGUAGE_DETECTION_CLIENT_PERIOD") | ||
| // cleanup period represents how frequently we check for expired languages and remove them | ||
| config.BindEnvAndSetDefault("apm_config.instrumentation.language_detection.cleanup_period", "10m", "DD_APM_INSTRUMENTATION_LANGUAGE_DETECTION_CLEANUP_PERIOD") | ||
| // TTL refresh period represents how frequently we refresh the TTL of detected languages | ||
| config.BindEnvAndSetDefault("apm_config.instrumentation.language_detection.ttl_refresh_period", "20m", "DD_APM_INSTRUMENTATION_LANGUAGE_DETECTION_TTL_REFRESH_PERIOD") | ||
| // language TTL represents the TTL that is set for each language when it is detected | ||
| // it is also used when refreshing the expiration timestamp of the language | ||
| config.BindEnvAndSetDefault("apm_config.instrumentation.language_detection.language_ttl", "30m", "DD_APM_INSTRUMENTATION_LANGUAGE_DETECTION_LANGUAGE_TTL") |
There was a problem hiding this comment.
I think this parameters are not specific to APM. since we can imagine we have other usage of the langage information stored on top of the Deployment
I would suggestion to have a dedicated config section for it.
language_detection.resources_configuration.client_period
|
close in favour of this PR |
What does this PR do?
Move APM language detection configurations under apm_config in config package.
Motivation
Achieve separation between:
This change has no impact on the functional aspects of the feature.
Additional Notes
7.52.0because it is related to a new feature and changing feature configuration in the future in this manner will break existing deployments with old configurations.Possible Drawbacks / Trade-offs
Describe how to test/QA your changes
Same QA as this PR.