[AzureMonitorAutoConfigure] Align customer SDKStats with stable spec - #50056
[AzureMonitorAutoConfigure] Align customer SDKStats with stable spec#50056Jackson Weber (JacksonWeber) wants to merge 9 commits into
Conversation
Align customer-facing SDKStats configuration and dimensions with the stable telemetry contract, keep the feature disabled by default, and report the actual distro version. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8908d3b5-202b-4ce8-b5da-509cbc2a360c
Preserve the existing default-on rollout while retaining stable dimension names, normalized disable and interval configuration, and accurate distro version reporting. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8908d3b5-202b-4ce8-b5da-509cbc2a360c
|
Azure Pipelines: Successfully started running 1 pipeline(s). 34 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
|
Azure Pipelines: Successfully started running 1 pipeline(s). 34 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
Note
This error may be related to your runner configuration. You can now configure runners for Copilot code review separately from Copilot cloud agent by creating a copilot-code-review.yml file with your setup steps. Read the docs for details.
| sdkVersionNumber = componentVersion != null ? componentVersion : UNKNOWN_VERSION_VALUE; | ||
| sdkVersionString = getPrefix() + "java" + getJavaVersion() + getJavaRuntime() + ":" + "otel" | ||
| + getOpenTelemetryApiVersion() + ":" + componentName + componentVersion; | ||
| + getOpenTelemetryApiVersion() + ":" + componentName + sdkVersionNumber; |
There was a problem hiding this comment.
what is the intent behind this specific change?
One thing I'm thinking about is, java agent is dependent on autoconfigure, what will the sdkVersionNumber be for a java agent with this change, was that tested? In the case of java agent, is this supposed to reflect the version of the java agent or the autoconfigure "exporter" that it depends on?
autoconfigure in some rare cases can also be used as a standalone.
| @Test | ||
| public void customerSdkStatsDisabledFalseLeavesEnabled() { | ||
| ConfigProperties config = DefaultConfigProperties | ||
| .createFromMap(Collections.singletonMap("APPLICATIONINSIGHTS_SDKStats_DISABLED_ALL", "false")); |
There was a problem hiding this comment.
question about this deletion as well - I'm reading in the spec that this would have disabled all (customer and internal) sdkstats. Was this deleted because the other var would do the same thing for customer sdkstats? what if someone only set the disabled all - do you see that as a viable usecase?
Description
Aligns the existing customer-facing SDKStats implementation with the stable telemetry specification while preserving its current on-by-default rollout.
Changes
APPLICATIONINSIGHTS_SDKStats_DISABLED_ALLglobal kill switch.telemetryTypetelemetrySuccessdropCode/dropReasonretryCode/retryReasonunknownin theversiondimension.Validation
Item_Success_Countrecords for REQUEST, DEPENDENCY, EXCEPTION, and CUSTOM_METRIC telemetry with stable dimensions and version1.6.0-beta.1.All SDK Contribution checklist