Skip to content

Commit 1a11c4a

Browse files
move init to trace context
1 parent c2d6a3f commit 1a11c4a

File tree

12 files changed

+70
-78
lines changed

12 files changed

+70
-78
lines changed

Sentry.xcodeproj/project.pbxproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@
7979
622C08DB29E554B9002571D4 /* SentrySpanContext+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 622C08D929E554B9002571D4 /* SentrySpanContext+Private.h */; };
8080
623C45B02A651D8200D9E88B /* SentryCoreDataTracker+Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 623C45AF2A651D8200D9E88B /* SentryCoreDataTracker+Test.m */; };
8181
627E7589299F6FE40085504D /* SentryInternalDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 627E7588299F6FE40085504D /* SentryInternalDefines.h */; };
82-
62831DB62AF4E2E500B6B854 /* SentryPropagationContextTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62831DB52AF4E2E500B6B854 /* SentryPropagationContextTests.swift */; };
8382
62885DA729E946B100554F38 /* TestConncurrentModifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62885DA629E946B100554F38 /* TestConncurrentModifications.swift */; };
8483
62950F1029E7FE0100A42624 /* SentryTransactionContextTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62950F0F29E7FE0100A42624 /* SentryTransactionContextTests.swift */; };
8584
629690532AD3E060000185FA /* SentryReachabilitySwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 629690522AD3E060000185FA /* SentryReachabilitySwiftTests.swift */; };
@@ -960,7 +959,6 @@
960959
623C45AE2A651C4500D9E88B /* SentryCoreDataTracker+Test.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SentryCoreDataTracker+Test.h"; sourceTree = "<group>"; };
961960
623C45AF2A651D8200D9E88B /* SentryCoreDataTracker+Test.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "SentryCoreDataTracker+Test.m"; sourceTree = "<group>"; };
962961
627E7588299F6FE40085504D /* SentryInternalDefines.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SentryInternalDefines.h; path = include/SentryInternalDefines.h; sourceTree = "<group>"; };
963-
62831DB52AF4E2E500B6B854 /* SentryPropagationContextTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryPropagationContextTests.swift; sourceTree = "<group>"; };
964962
62885DA629E946B100554F38 /* TestConncurrentModifications.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestConncurrentModifications.swift; sourceTree = "<group>"; };
965963
62950F0F29E7FE0100A42624 /* SentryTransactionContextTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryTransactionContextTests.swift; sourceTree = "<group>"; };
966964
629690522AD3E060000185FA /* SentryReachabilitySwiftTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryReachabilitySwiftTests.swift; sourceTree = "<group>"; };
@@ -2700,7 +2698,6 @@
27002698
children = (
27012699
7B944FAD2469B43700A10721 /* TestHub.swift */,
27022700
7B7A30C924B48523005A4C6E /* SentryHub+Test.h */,
2703-
62831DB52AF4E2E500B6B854 /* SentryPropagationContextTests.swift */,
27042701
);
27052702
path = State;
27062703
sourceTree = "<group>";
@@ -4439,7 +4436,6 @@
44394436
63FE721320DA66EC00CDBAE8 /* SentryCrashMonitor_Signal_Tests.m in Sources */,
44404437
7BBD18B32451805500427C76 /* SentryRateLimitsParserTests.swift in Sources */,
44414438
7B82722B27A3220A00F4BFF4 /* SentryFileIoTrackingUnitTests.swift in Sources */,
4442-
62831DB62AF4E2E500B6B854 /* SentryPropagationContextTests.swift in Sources */,
44434439
7BF9EF7A2722B58900B5BBEF /* SentrySubClassFinderTests.swift in Sources */,
44444440
7B59398224AB47650003AAD2 /* SentrySessionTrackerTests.swift in Sources */,
44454441
7B05A61824A4D14A00EF211D /* SentrySessionGeneratorTests.swift in Sources */,

Sources/Sentry/SentryClient.m

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -371,8 +371,9 @@ - (nullable SentryTraceContext *)getTraceStateWithEvent:(SentryEvent *)event
371371
}
372372

373373
if (event.error || event.exceptions.count > 0) {
374-
return [scope.propagationContext getTraceContext:self.options
375-
userSegment:scope.userObject.segment];
374+
return [[SentryTraceContext alloc] initWithTraceId:scope.propagationContext.traceId
375+
options:self.options
376+
userSegment:scope.userObject.segment];
376377
}
377378

378379
return nil;

Sources/Sentry/SentryNetworkTracker.m

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,10 @@ - (void)addTraceWithoutTransactionToTask:(NSURLSessionTask *)sessionTask
218218
{
219219
SentryPropagationContext *propagationContext = SentrySDK.currentHub.scope.propagationContext;
220220
SentryTraceContext *traceContext =
221-
[propagationContext getTraceContext:SentrySDK.currentHub.client.options
222-
userSegment:SentrySDK.currentHub.scope.userObject.segment];
221+
[[SentryTraceContext alloc] initWithTraceId:propagationContext.traceId
222+
options:SentrySDK.currentHub.client.options
223+
userSegment:SentrySDK.currentHub.scope.userObject.segment];
224+
223225
[self addBaggageHeader:[traceContext toBaggage]
224226
traceHeader:[propagationContext traceHeader]
225227
toRequest:sessionTask];

Sources/Sentry/SentryPropagationContext.h

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,6 @@ NS_ASSUME_NONNULL_BEGIN
1212

1313
- (NSDictionary<NSString *, NSString *> *)traceContextForEvent;
1414

15-
/**
16-
* We need to pass in the options and the user segment instead of retrieving them from the static
17-
* API cause, for example, the SentryClient can have multiple instances with different options and
18-
* scopes running and in that scenario we need can't retrieve these values from the static API.
19-
*
20-
* @param options The current active options.
21-
* @param userSegment You can retrieve this usually from the `scope.userObject.segment`.
22-
*/
23-
- (SentryTraceContext *)getTraceContext:(SentryOptions *)options
24-
userSegment:(nullable NSString *)userSegment
25-
NS_SWIFT_NAME(getTraceContext(options:userSegment:));
26-
2715
@end
2816

2917
NS_ASSUME_NONNULL_END

Sources/Sentry/SentryPropagationContext.m

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,6 @@ - (SentryTraceHeader *)traceHeader
2828
sampled:kSentrySampleDecisionNo];
2929
}
3030

31-
- (SentryTraceContext *)getTraceContext:(SentryOptions *)options
32-
userSegment:(nullable NSString *)userSegment
33-
{
34-
35-
return [[SentryTraceContext alloc] initWithTraceId:self.traceId
36-
publicKey:options.parsedDsn.url.user
37-
releaseName:options.releaseName
38-
environment:options.environment
39-
transaction:nil
40-
userSegment:userSegment
41-
sampleRate:nil
42-
sampled:nil];
43-
}
44-
4531
- (NSDictionary<NSString *, NSString *> *)traceContextForEvent
4632
{
4733
return

Sources/Sentry/SentryTraceContext.m

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,20 @@ - (nullable instancetype)initWithTracer:(SentryTracer *)tracer
8383
sampled:sampled];
8484
}
8585

86+
- (instancetype)initWithTraceId:(SentryId *)traceId
87+
options:(SentryOptions *)options
88+
userSegment:(nullable NSString *)userSegment
89+
{
90+
return [[SentryTraceContext alloc] initWithTraceId:traceId
91+
publicKey:options.parsedDsn.url.user
92+
releaseName:options.releaseName
93+
environment:options.environment
94+
transaction:nil
95+
userSegment:userSegment
96+
sampleRate:nil
97+
sampled:nil];
98+
}
99+
86100
- (nullable instancetype)initWithDict:(NSDictionary<NSString *, id> *)dictionary
87101
{
88102
SentryId *traceId = [[SentryId alloc] initWithUUIDString:dictionary[@"trace_id"]];

Sources/Sentry/include/SentryTraceContext.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,17 @@ NS_ASSUME_NONNULL_BEGIN
8686
scope:(nullable SentryScope *)scope
8787
options:(SentryOptions *)options;
8888

89+
/**
90+
* Initializes a SentryTraceContext with data from a traceID, options and userSegment.
91+
*
92+
* @param traceId The current tracer.
93+
* @param options The current active options.
94+
* @param userSegment You can retrieve this usually from the `scope.userObject.segment`.
95+
*/
96+
- (instancetype)initWithTraceId:(SentryId *)traceId
97+
options:(SentryOptions *)options
98+
userSegment:(nullable NSString *)userSegment;
99+
89100
/**
90101
* Create a SentryBaggage with the information of this SentryTraceContext.
91102
*/

Tests/SentryTests/Integrations/Performance/Network/SentryNetworkTrackerTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,7 @@ class SentryNetworkTrackerTests: XCTestCase {
590590
sut.urlSessionTaskResume(task)
591591

592592
let expectedTraceHeader = SentrySDK.currentHub().scope.propagationContext.traceHeader.value()
593-
let traceContext = SentrySDK.currentHub().scope.propagationContext.getTraceContext(options: self.fixture.options, userSegment: self.fixture.scope.userObject?.segment)
593+
let traceContext = SentryTraceContext(trace: SentrySDK.currentHub().scope.propagationContext.traceId, options: self.fixture.options, userSegment: self.fixture.scope.userObject?.segment)
594594
let expectedBaggageHeader = traceContext.toBaggage().toHTTPHeader()
595595
XCTAssertEqual(task.currentRequest?.allHTTPHeaderFields?["baggage"] ?? "", expectedBaggageHeader)
596596
XCTAssertEqual(task.currentRequest?.allHTTPHeaderFields?["sentry-trace"] ?? "", expectedTraceHeader)
@@ -602,7 +602,7 @@ class SentryNetworkTrackerTests: XCTestCase {
602602
sut.urlSessionTaskResume(task)
603603

604604
let expectedTraceHeader = SentrySDK.currentHub().scope.propagationContext.traceHeader.value()
605-
let traceContext = SentrySDK.currentHub().scope.propagationContext.getTraceContext(options: self.fixture.options, userSegment: self.fixture.scope.userObject?.segment)
605+
let traceContext = SentryTraceContext(trace: SentrySDK.currentHub().scope.propagationContext.traceId, options: self.fixture.options, userSegment: self.fixture.scope.userObject?.segment)
606606
let expectedBaggageHeader = traceContext.toBaggage().toHTTPHeader()
607607
XCTAssertEqual(task.currentRequest?.allHTTPHeaderFields?["baggage"] ?? "", expectedBaggageHeader)
608608
XCTAssertEqual(task.currentRequest?.allHTTPHeaderFields?["sentry-trace"] ?? "", expectedTraceHeader)

Tests/SentryTests/SentryClientTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ class SentryClientTest: XCTestCase {
555555
try assertValidErrorEvent(eventWithSessionArguments.event, error)
556556
XCTAssertEqual(fixture.session, eventWithSessionArguments.session)
557557

558-
let expectedTraceContext = scope.propagationContext.getTraceContext(options: Options(), userSegment: "segment")
558+
let expectedTraceContext = SentryTraceContext(trace: scope.propagationContext.traceId, options: Options(), userSegment: "segment")
559559
XCTAssertEqual(eventWithSessionArguments.traceContext?.traceId,
560560
expectedTraceContext.traceId)
561561
}

Tests/SentryTests/State/SentryPropagationContextTests.swift

Lines changed: 0 additions & 40 deletions
This file was deleted.

0 commit comments

Comments
 (0)