Repository navigation
ADRs for the OpenTelemetry decisions on the otel branch - #7962
Draft
ramonsmits wants to merge 8 commits into
Draft
ramonsmits wants to merge 8 commits into
ramonsmits wants to merge 8 commits into
Conversation
Records why the MessagePayloadAsTag option and its behaviors were removed from the otel branch before merge, the conditions a future implementation has to meet, and the variants raised in review.
Records why handler spans move to NServiceBus.Core.Handler and recoverability spans get NServiceBus.Core.Recoverability, how source subscription gives the flat trace of #7284 without a flatten option, and the rejected alternatives.
Records the Logs and SpanAndLogs modes, why OTEL_SEMCONV_EXCEPTION_SIGNAL_OPT_IN wins over code, the record-once rule through Exception.Data, and the legacy tags that go away with the v11 behavior.
…arent Records why NServiceBus writes its own trace parent header next to the W3C one, the receive-side precedence, why an ambient transport SDK span becomes the parent under the v11 behavior, and the removed ContextBag path.
Records why PropagateContextToHeaders moved out of the shared routing stage, which forwarding paths it protected, and the rule that control messages entering at IRoutingContext propagate explicitly.
Records the seven behaviors behind NServiceBus.Core.OpenTelemetry.UseV11Behavior, the scope rule that leaves PublishTraceMode out, the obsoletes-vN.cs file convention, the test attribute, and the per-feature toggles, the UseExisting trace mode and the JIT-foldable switch that were tried and dropped.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Seven architecture decision records (ADRs) extracted from the merged history of the
otelbranch. They followdocs/decisions/README.md, which is identical onmaster. One commit per ADR.ADRs
docs/README.md: the #7825 and #7845 index entries are removed, the ADRs cover them. Entries for #7912 and #7936 are added. The metric tag decisions stay in those pull requests.Where a record has no rationale, the ADR says so instead of inventing one.
TODO
PublishTraceMode = ContinueExistingand record the reason. Provide discriminator and queueName tags to the outgoing pipeline instruments #7936 records the default only.MoveToErrorTraceModein Allow changing trace continuation behavior for delayed messages #7845, or keep "to simplify the options".UseExistingtrace mode and the JIT-foldable switch exist only in unmerged local work. Keep the passages as written, or add a public record for them.StartNewTraceheader omitted whenFalse, and array-valued span tags against delimited metric tags.