File tree Expand file tree Collapse file tree 5 files changed +29
-47
lines changed
Sources/TracingInstrumentation
Tests/TracingInstrumentationTests
UseCases/Sources/InstrumentsAppTracing Expand file tree Collapse file tree 5 files changed +29
-47
lines changed Original file line number Diff line number Diff line change @@ -46,20 +46,12 @@ public struct NoOpTracingInstrument: TracingInstrument {
46
46
Carrier == Extractor . Carrier { }
47
47
48
48
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
-
59
49
public var context : BaggageContext {
60
50
return . init( )
61
51
}
62
52
53
+ public mutating func setStatus( _ status: SpanStatus ) { }
54
+
63
55
public mutating func addLink( _ link: SpanLink ) { }
64
56
65
57
public mutating func addEvent( _ event: SpanEvent ) { }
Original file line number Diff line number Diff line change @@ -19,24 +19,13 @@ import Baggage
19
19
///
20
20
/// - SeeAlso: [OpenTelemetry Specification: Span](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#span).
21
21
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
-
37
22
/// The read-only `BaggageContext` of this `Span`, set when starting this `Span`.
38
23
var context : BaggageContext { get }
39
24
25
+ /// Set the status.
26
+ /// - Parameter status: The status of this `Span`.
27
+ mutating func setStatus( _ status: SpanStatus )
28
+
40
29
/// Add a `SpanEvent` in place.
41
30
/// - Parameter event: The `SpanEvent` to add to this `Span`.
42
31
mutating func addEvent( _ event: SpanEvent )
Original file line number Diff line number Diff line change @@ -89,16 +89,12 @@ private final class TracedLockPrintlnTracer: TracingInstrument {
89
89
Carrier == Extractor . Carrier { }
90
90
91
91
struct TracedLockPrintlnSpan : Span {
92
- let operationName : String
93
- let kind : SpanKind
92
+ private let operationName : String
93
+ private let kind : SpanKind
94
94
95
- var status : SpanStatus ? {
96
- didSet {
97
- self . isRecording = self . status != nil
98
- }
99
- }
95
+ private var status : SpanStatus ?
100
96
101
- let startTimestamp : Timestamp
97
+ private let startTimestamp : Timestamp
102
98
private( set) var endTimestamp : Timestamp ?
103
99
104
100
let context : BaggageContext
@@ -133,6 +129,11 @@ private final class TracedLockPrintlnTracer: TracingInstrument {
133
129
print ( " span [ \( self . operationName) : \( self . context [ TaskIDKey . self] ?? " no-name " ) ] @ \( self . startTimestamp) : start " )
134
130
}
135
131
132
+ mutating func setStatus( _ status: SpanStatus ) {
133
+ self . status = status
134
+ self . isRecording = true
135
+ }
136
+
136
137
mutating func addLink( _ link: SpanLink ) {
137
138
self . links. append ( link)
138
139
}
Original file line number Diff line number Diff line change @@ -108,16 +108,12 @@ extension TestTracer {
108
108
// MARK: - TestSpan
109
109
110
110
struct TestSpan : Span {
111
- let operationName : String
112
- let kind : SpanKind
111
+ private let operationName : String
112
+ private let kind : SpanKind
113
113
114
- var status : SpanStatus ? {
115
- didSet {
116
- self . isRecording = self . status != nil
117
- }
118
- }
114
+ private var status : SpanStatus ?
119
115
120
- let startTimestamp : Timestamp
116
+ private let startTimestamp : Timestamp
121
117
private( set) var endTimestamp : Timestamp ?
122
118
123
119
let context : BaggageContext
@@ -154,6 +150,11 @@ struct TestSpan: Span {
154
150
self . kind = kind
155
151
}
156
152
153
+ mutating func setStatus( _ status: SpanStatus ) {
154
+ self . status = status
155
+ self . isRecording = true
156
+ }
157
+
157
158
mutating func addLink( _ link: SpanLink ) {
158
159
self . links. append ( link)
159
160
}
Original file line number Diff line number Diff line change @@ -81,7 +81,7 @@ public struct OSSignpostTracingInstrument: TracingInstrument {
81
81
@available ( tvOS 10 . 0 , * )
82
82
@available ( watchOS 3 . 0 , * )
83
83
final class OSSignpostSpan : Span {
84
- let operationName : String
84
+ private let operationName : String
85
85
var context : BaggageContext
86
86
87
87
private let log : OSLog
@@ -95,11 +95,8 @@ final class OSSignpostSpan: Span {
95
95
96
96
public let isRecording : Bool
97
97
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 ?
103
100
104
101
public var baggage : BaggageContext {
105
102
self . context
@@ -194,6 +191,8 @@ final class OSSignpostSpan: Span {
194
191
self . context. signpostTraceParentIDs += [ id]
195
192
}
196
193
194
+ func setStatus( _ status: SpanStatus ) { }
195
+
197
196
public func addEvent( _ event: SpanEvent ) {
198
197
guard self . isRecording else { return }
199
198
You can’t perform that action at this time.
0 commit comments