Skip to content

Commit 4d62d7b

Browse files
authored
Merge pull request #1 from ConsultingMD/joshua/resolve-apollo-latencies
Resolve Latencies / Hangs in Apollo + OTel Integration
2 parents 3f5dceb + 40d0d27 commit 4d62d7b

File tree

5 files changed

+95
-12
lines changed

5 files changed

+95
-12
lines changed

Package.swift

Lines changed: 89 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ let package = Package(name: "opentelemetry-swift",
2323
.library(name: "PersistenceExporter", targets: ["PersistenceExporter"]),
2424
.library(name: "InMemoryExporter", targets: ["InMemoryExporter"]),
2525
.library(name: "OTelSwiftLog", targets: ["OTelSwiftLog"]),
26-
.library(name: "DataCompression", type: .static, targets: ["DataCompression"]),
26+
.library(name: "OTelDataCompression", type: .static, targets: ["OTelDataCompression"]),
2727
.library(name: "BaggagePropagationProcessor", targets: ["BaggagePropagationProcessor"]),
2828
.executable(name: "ConcurrencyContext", targets: ["ConcurrencyContext"]),
2929
.executable(name: "loggingTracer", targets: ["LoggingTracer"]),
@@ -69,14 +69,14 @@ let package = Package(name: "opentelemetry-swift",
6969
.target(name: "OpenTelemetryProtocolExporterHttp",
7070
dependencies: ["OpenTelemetrySdk",
7171
"OpenTelemetryProtocolExporterCommon",
72-
"DataCompression"],
72+
"OTelDataCompression"],
7373
path: "Sources/Exporters/OpenTelemetryProtocolHttp"),
7474
.target(name: "OpenTelemetryProtocolExporterGrpc",
7575
dependencies: ["OpenTelemetrySdk",
7676
"OpenTelemetryProtocolExporterCommon",
7777
.product(name: "GRPC", package: "grpc-swift")],
7878
path: "Sources/Exporters/OpenTelemetryProtocolGrpc"),
79-
.target(name: "DataCompression",
79+
.target(name: "OTelDataCompression",
8080
dependencies: [],
8181
path: "Sources/Exporters/DataCompression"),
8282
.target(name: "StdoutExporter",
@@ -113,7 +113,7 @@ let package = Package(name: "opentelemetry-swift",
113113
.testTarget(name: "OpenTelemetryProtocolExporterTests",
114114
dependencies: ["OpenTelemetryProtocolExporterGrpc",
115115
"OpenTelemetryProtocolExporterHttp",
116-
"DataCompression",
116+
"OTelDataCompression",
117117
.product(name: "NIO", package: "swift-nio"),
118118
.product(name: "NIOHTTP1", package: "swift-nio"),
119119
.product(name: "NIOTestUtils", package: "swift-nio")],
@@ -169,6 +169,7 @@ extension Package {
169169
)
170170
products.append(contentsOf: [
171171
.library(name: "JaegerExporter", targets: ["JaegerExporter"]),
172+
>>>>>>> main
172173
.executable(name: "simpleExporter", targets: ["SimpleExporter"]),
173174
.library(name: "NetworkStatus", targets: ["NetworkStatus"]),
174175
.library(name: "URLSessionInstrumentation", targets: ["URLSessionInstrumentation"]),
@@ -207,6 +208,89 @@ extension Package {
207208
dependencies: ["OpenTelemetrySdk", "NetworkStatus"],
208209
path: "Sources/Instrumentation/URLSession",
209210
exclude: ["README.md"]),
211+
<<<<<<< HEAD
212+
.target(name: "NetworkStatus",
213+
dependencies: [
214+
"OpenTelemetryApi",
215+
.product(name: "Reachability", package: "Reachability.swift")
216+
],
217+
path: "Sources/Instrumentation/NetworkStatus",
218+
linkerSettings: [.linkedFramework("CoreTelephony", .when(platforms: [.iOS]))]),
219+
.target(name: "SignPostIntegration",
220+
dependencies: ["OpenTelemetrySdk"],
221+
path: "Sources/Instrumentation/SignPostIntegration",
222+
exclude: ["README.md"]),
223+
.target(name: "OpenTracingShim",
224+
dependencies: ["OpenTelemetrySdk",
225+
"Opentracing"],
226+
path: "Sources/Importers/OpenTracingShim",
227+
exclude: ["README.md"]),
228+
.target(name: "SwiftMetricsShim",
229+
dependencies: ["OpenTelemetrySdk",
230+
.product(name: "CoreMetrics", package: "swift-metrics")],
231+
path: "Sources/Importers/SwiftMetricsShim",
232+
exclude: ["README.md"]),
233+
.target(name: "JaegerExporter",
234+
dependencies: ["OpenTelemetrySdk",
235+
.product(name: "Thrift", package: "Thrift")],
236+
path: "Sources/Exporters/Jaeger"),
237+
.target(name: "ZipkinExporter",
238+
dependencies: ["OpenTelemetrySdk"],
239+
path: "Sources/Exporters/Zipkin"),
240+
.target(name: "PrometheusExporter",
241+
dependencies: ["OpenTelemetrySdk",
242+
.product(name: "NIO", package: "swift-nio"),
243+
.product(name: "NIOHTTP1", package: "swift-nio")],
244+
path: "Sources/Exporters/Prometheus"),
245+
.target(name: "OpenTelemetryProtocolExporterCommon",
246+
dependencies: ["OpenTelemetrySdk",
247+
.product(name: "Logging", package: "swift-log"),
248+
.product(name: "SwiftProtobuf", package: "swift-protobuf")],
249+
path: "Sources/Exporters/OpenTelemetryProtocolCommon"),
250+
.target(name: "OpenTelemetryProtocolExporterHttp",
251+
dependencies: ["OpenTelemetrySdk",
252+
"OpenTelemetryProtocolExporterCommon",
253+
"OTelDataCompression"],
254+
path: "Sources/Exporters/OpenTelemetryProtocolHttp"),
255+
.target(name: "OpenTelemetryProtocolExporterGrpc",
256+
dependencies: ["OpenTelemetrySdk",
257+
"OpenTelemetryProtocolExporterCommon",
258+
.product(name: "GRPC", package: "grpc-swift")],
259+
path: "Sources/Exporters/OpenTelemetryProtocolGrpc"),
260+
.target(name: "OTelDataCompression",
261+
dependencies: [],
262+
path: "Sources/Exporters/DataCompression"),
263+
.target(name: "StdoutExporter",
264+
dependencies: ["OpenTelemetrySdk"],
265+
path: "Sources/Exporters/Stdout"),
266+
.target(name: "InMemoryExporter",
267+
dependencies: ["OpenTelemetrySdk"],
268+
path: "Sources/Exporters/InMemory"),
269+
.target(name: "DatadogExporter",
270+
dependencies: ["OpenTelemetrySdk",
271+
"OTelDataCompression"],
272+
path: "Sources/Exporters/DatadogExporter",
273+
exclude: ["NOTICE", "README.md"]),
274+
.target(name: "PersistenceExporter",
275+
dependencies: ["OpenTelemetrySdk"],
276+
path: "Sources/Exporters/Persistence"),
277+
.testTarget(name: "OTelSwiftLogTests",
278+
dependencies: ["OTelSwiftLog"],
279+
path: "Tests/BridgesTests/OTelSwiftLog"),
280+
.testTarget(name: "NetworkStatusTests",
281+
dependencies: ["NetworkStatus", .product(name: "Reachability", package: "Reachability.swift")],
282+
path: "Tests/InstrumentationTests/NetworkStatusTests"),
283+
.testTarget(name: "OpenTelemetryApiTests",
284+
dependencies: ["OpenTelemetryApi", "OpenTelemetryTestUtils"],
285+
path: "Tests/OpenTelemetryApiTests"),
286+
.testTarget(name: "OpenTelemetrySdkTests",
287+
dependencies: ["OpenTelemetrySdk"],
288+
path: "Tests/OpenTelemetrySdkTests"),
289+
.testTarget(name: "ResourceExtensionTests",
290+
dependencies: ["ResourceExtension", "OpenTelemetrySdk"],
291+
path: "Tests/InstrumentationTests/SDKResourceExtensionTests"),
292+
=======
293+
>>>>>>> main
210294
.testTarget(name: "URLSessionInstrumentationTests",
211295
dependencies: ["URLSessionInstrumentation",
212296
.product(name: "NIO", package: "swift-nio"),
@@ -227,7 +311,7 @@ extension Package {
227311
path: "Examples/OTLP Exporter",
228312
exclude: ["README.md"]),
229313
.executableTarget(name: "OTLPHTTPExporter",
230-
dependencies: ["OpenTelemetrySdk", "OpenTelemetryProtocolExporterHttp", "StdoutExporter", "ZipkinExporter", "ResourceExtension", "SignPostIntegration", "DataCompression"],
314+
dependencies: ["OpenTelemetrySdk", "OpenTelemetryProtocolExporterHttp", "StdoutExporter", "ZipkinExporter", "ResourceExtension", "SignPostIntegration", "OTelDataCompression"],
231315
path: "Examples/OTLP HTTP Exporter",
232316
exclude: ["README.md"]),
233317
.target(name: "SignPostIntegration",

Sources/Exporters/OpenTelemetryProtocolHttp/OtlpHttpExporterBase.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
//
55

66
#if canImport(Compression)
7-
import DataCompression
7+
import OTelDataCompression
88
#endif
99
import Foundation
1010
import SwiftProtobuf

Sources/Exporters/OpenTelemetryProtocolHttp/StableOtlpHTTPExporterBase.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
//
55

66
#if canImport(Compression)
7-
import DataCompression
7+
import OTelDataCompression
88
#endif
99
import Foundation
1010
import OpenTelemetryProtocolExporterCommon

Sources/Instrumentation/URLSession/URLSessionInstrumentation.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -730,10 +730,6 @@ public class URLSessionInstrumentation {
730730
task.setValue(instrumentedRequest, forKey: "currentRequest")
731731
}
732732
self.setIdKey(value: taskId, for: task)
733-
734-
if task.delegate == nil, task.state != .running, (task.value(forKey: "session") as? URLSession)?.delegate == nil {
735-
task.delegate = FakeDelegate()
736-
}
737733
}
738734
}
739735
}
@@ -760,8 +756,11 @@ public class URLSessionInstrumentation {
760756
}
761757
}
762758
}
759+
<<<<<<< HEAD
760+
=======
763761

764762
class FakeDelegate: NSObject, URLSessionTaskDelegate {
765763
func urlSession(_ session: URLSession, task: URLSessionTask,
766764
didCompleteWithError error: Error?) {}
767765
}
766+
>>>>>>> main

Tests/ExportersTests/OpenTelemetryProtocol/StableOtlpHTTPExporterBaseTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
//
55

66
#if canImport(Compression)
7-
import DataCompression
7+
import OTelDataCompression
88

99
import Foundation
1010
#if canImport(FoundationNetworking)

0 commit comments

Comments
 (0)