Skip to content

Commit 84c92b7

Browse files
authored
Remove timestamp, kind and status getters from Span (#127)
1 parent be1c632 commit 84c92b7

File tree

5 files changed

+29
-47
lines changed

5 files changed

+29
-47
lines changed

Sources/TracingInstrumentation/NoOpTracingInstrument.swift

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,12 @@ public struct NoOpTracingInstrument: TracingInstrument {
4646
Carrier == Extractor.Carrier {}
4747

4848
public struct NoOpSpan: Span {
49-
public var operationName: String = ""
50-
public var status: SpanStatus?
51-
public let kind: SpanKind = .internal
52-
53-
public var startTimestamp: Timestamp {
54-
return .now()
55-
}
56-
57-
public var endTimestamp: Timestamp?
58-
5949
public var context: BaggageContext {
6050
return .init()
6151
}
6252

53+
public mutating func setStatus(_ status: SpanStatus) {}
54+
6355
public mutating func addLink(_ link: SpanLink) {}
6456

6557
public mutating func addEvent(_ event: SpanEvent) {}

Sources/TracingInstrumentation/Span.swift

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,13 @@ import Baggage
1919
///
2020
/// - SeeAlso: [OpenTelemetry Specification: Span](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#span).
2121
public protocol Span {
22-
/// The operation name is a human-readable string which concisely identifies the work represented by the `Span`.
23-
var operationName: String { get }
24-
25-
/// The kind of this span.
26-
var kind: SpanKind { get }
27-
28-
/// The status of this span.
29-
var status: SpanStatus? { get set }
30-
31-
/// The `Timestamp` of when the `Span` was started.
32-
var startTimestamp: Timestamp { get }
33-
34-
/// The `Timestamp` of when the `Span` has ended.
35-
var endTimestamp: Timestamp? { get }
36-
3722
/// The read-only `BaggageContext` of this `Span`, set when starting this `Span`.
3823
var context: BaggageContext { get }
3924

25+
/// Set the status.
26+
/// - Parameter status: The status of this `Span`.
27+
mutating func setStatus(_ status: SpanStatus)
28+
4029
/// Add a `SpanEvent` in place.
4130
/// - Parameter event: The `SpanEvent` to add to this `Span`.
4231
mutating func addEvent(_ event: SpanEvent)

Tests/TracingInstrumentationTests/TracedLockTests.swift

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,16 +89,12 @@ private final class TracedLockPrintlnTracer: TracingInstrument {
8989
Carrier == Extractor.Carrier {}
9090

9191
struct TracedLockPrintlnSpan: Span {
92-
let operationName: String
93-
let kind: SpanKind
92+
private let operationName: String
93+
private let kind: SpanKind
9494

95-
var status: SpanStatus? {
96-
didSet {
97-
self.isRecording = self.status != nil
98-
}
99-
}
95+
private var status: SpanStatus?
10096

101-
let startTimestamp: Timestamp
97+
private let startTimestamp: Timestamp
10298
private(set) var endTimestamp: Timestamp?
10399

104100
let context: BaggageContext
@@ -133,6 +129,11 @@ private final class TracedLockPrintlnTracer: TracingInstrument {
133129
print(" span [\(self.operationName): \(self.context[TaskIDKey.self] ?? "no-name")] @ \(self.startTimestamp): start")
134130
}
135131

132+
mutating func setStatus(_ status: SpanStatus) {
133+
self.status = status
134+
self.isRecording = true
135+
}
136+
136137
mutating func addLink(_ link: SpanLink) {
137138
self.links.append(link)
138139
}

Tests/TracingInstrumentationTests/TracingInstrumentTests.swift

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,16 +108,12 @@ extension TestTracer {
108108
// MARK: - TestSpan
109109

110110
struct TestSpan: Span {
111-
let operationName: String
112-
let kind: SpanKind
111+
private let operationName: String
112+
private let kind: SpanKind
113113

114-
var status: SpanStatus? {
115-
didSet {
116-
self.isRecording = self.status != nil
117-
}
118-
}
114+
private var status: SpanStatus?
119115

120-
let startTimestamp: Timestamp
116+
private let startTimestamp: Timestamp
121117
private(set) var endTimestamp: Timestamp?
122118

123119
let context: BaggageContext
@@ -154,6 +150,11 @@ struct TestSpan: Span {
154150
self.kind = kind
155151
}
156152

153+
mutating func setStatus(_ status: SpanStatus) {
154+
self.status = status
155+
self.isRecording = true
156+
}
157+
157158
mutating func addLink(_ link: SpanLink) {
158159
self.links.append(link)
159160
}

UseCases/Sources/InstrumentsAppTracing/OSSignpostTracing.swift

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public struct OSSignpostTracingInstrument: TracingInstrument {
8181
@available(tvOS 10.0, *)
8282
@available(watchOS 3.0, *)
8383
final class OSSignpostSpan: Span {
84-
let operationName: String
84+
private let operationName: String
8585
var context: BaggageContext
8686

8787
private let log: OSLog
@@ -95,11 +95,8 @@ final class OSSignpostSpan: Span {
9595

9696
public let isRecording: Bool
9797

98-
public let startTimestamp: Timestamp
99-
public var endTimestamp: Timestamp?
100-
101-
public var status: SpanStatus?
102-
public let kind: SpanKind = .internal
98+
private let startTimestamp: Timestamp
99+
private var endTimestamp: Timestamp?
103100

104101
public var baggage: BaggageContext {
105102
self.context
@@ -194,6 +191,8 @@ final class OSSignpostSpan: Span {
194191
self.context.signpostTraceParentIDs += [id]
195192
}
196193

194+
func setStatus(_ status: SpanStatus) {}
195+
197196
public func addEvent(_ event: SpanEvent) {
198197
guard self.isRecording else { return }
199198

0 commit comments

Comments
 (0)