add missing func - #5
Merged
Merged
Conversation
… sample The simulator suite enabled Trace and stopped there: EnablesTrace constructed the three header writers and never started a span, so the tracing path was configured and never driven. That is the gap the trace-id defect slipped through. Four checks close it, taking the suite from 17 to 21: - a span started, tagged, errored, logged and finished, with its ids asserted by shape rather than for non-emptiness: 32 lowercase hex characters and not all zeros for the trace, decimal for the span. "Not empty" is what was asserted before, and why the wrong rendering shipped - injection in all three formats, cross-checked against traceparent across all 128 bits - derived independently of GetTraceId, so a second opinion rather than a restatement - and against the low 64 bits the Datadog header carries in decimal. Selecting no formats must produce nothing rather than throw - the single-value attribute overloads on RUM, view attributes, feature flags and a logger, with ToNSObject asserted to map null to NSNull: an explicitly empty attribute and an unset one are different things in a RUM event - the session id through GetCurrentSessionIdAsync, asserted non-null The harness gained async support for the last of those. Writing these turned up a papercut: Info(message, attributes) is generated without [NullAllowed] on the dictionary, so passing null throws rather than reaching the SDK, where Objective-C accepts nil. The single-argument overload and the ergonomic Log both handle it, so this is documented rather than changed. The sample enabled Trace and never demonstrated it. It gains a Trace section - one button traces an outgoing HttpRequestMessage end to end, another records a failed span through SetError and Log - and a button showing the session id. 21/21 on the simulator; 127/127 package tests. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The e2e ran against net10.0-ios26.0 only. It is now a matrix over the two extremes: net8, the oldest asset set and the one nothing else exercises, and net10, whose assets come out of the merge step in BuildNugets.sh and so are the only ones that could be grafted in wrong. net9 sits between them and comes out of the same pack pass as net8, so testing it too would buy little for the runner minutes. fail-fast is off, because "net8 only" and "both" point at very different causes, and the log artifact is named per leg so the two do not collide. Unlike the Android side this needed no project changes: run-simulator-tests.sh already picked the SDK band from the target framework, and every iOS package ships net8 assets. 21/21 on both legs, verified on a simulator. The net8 leg takes appreciably longer - a Release build for the simulator AOT-compiles - which is why the job timeout is worth leaving where it is. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This branch was previously deployed
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.
No description provided.