From 5429db445e2c8b6de4ff779f9db497c78b156397 Mon Sep 17 00:00:00 2001 From: Bryce Buchanan <75274611+bryce-b@users.noreply.github.com> Date: Thu, 6 Jun 2024 14:47:54 -0700 Subject: [PATCH 1/3] removed unsafe build flags (#545) --- .github/workflows/BuildAndTest.yml | 3 --- Package@swift-5.9.swift | 3 +-- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/BuildAndTest.yml b/.github/workflows/BuildAndTest.yml index 11c59db7..880c7bdc 100644 --- a/.github/workflows/BuildAndTest.yml +++ b/.github/workflows/BuildAndTest.yml @@ -6,9 +6,6 @@ jobs: macOS: runs-on: macos-14 steps: - - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0 - with: - xcode-version: latest-stable - uses: actions/checkout@v2 - name: Build and Test for macOS run: swift test --enable-code-coverage diff --git a/Package@swift-5.9.swift b/Package@swift-5.9.swift index be119ae6..45e45172 100644 --- a/Package@swift-5.9.swift +++ b/Package@swift-5.9.swift @@ -45,8 +45,7 @@ let package = Package( ], targets: [ .target(name: "OpenTelemetryApi", - dependencies: [], - swiftSettings: [.unsafeFlags(["-enable-library-evolution"])]), + dependencies: []), .target(name: "OpenTelemetrySdk", dependencies: ["OpenTelemetryApi"]), .target(name: "ResourceExtension", From 31d22dc174530d6f207a102b1ccdecb5938a1b08 Mon Sep 17 00:00:00 2001 From: Callum Todd Date: Mon, 1 Jul 2024 16:43:31 +0100 Subject: [PATCH 2/3] Make PrometheusExporterExtensions.writeMetricsCollection public (#551) --- Sources/Exporters/Prometheus/PrometheusExporterExtensions.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/Exporters/Prometheus/PrometheusExporterExtensions.swift b/Sources/Exporters/Prometheus/PrometheusExporterExtensions.swift index dd879dfa..2f89c865 100644 --- a/Sources/Exporters/Prometheus/PrometheusExporterExtensions.swift +++ b/Sources/Exporters/Prometheus/PrometheusExporterExtensions.swift @@ -20,7 +20,7 @@ public enum PrometheusExporterExtensions { static let prometheusHistogramBucketPostFix = "_bucket" static let prometheusHistogramLeLabelName = "le" - static func writeMetricsCollection(exporter: PrometheusExporter) -> String { + public static func writeMetricsCollection(exporter: PrometheusExporter) -> String { var output = "" let metrics = exporter.getAndClearMetrics() let now = String(Int64((Date().timeIntervalSince1970 * 1000.0).rounded())) From 7bad8ae7f230e7a1b9ec697f36dcae91a8debff9 Mon Sep 17 00:00:00 2001 From: mamunto <96148746+mamunto@users.noreply.github.com> Date: Thu, 11 Jul 2024 13:24:22 -0400 Subject: [PATCH 3/3] Fixed concurrency crash (#554) --- .../Metrics/Stable/State/SynchronousMetricStorage.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/OpenTelemetrySdk/Metrics/Stable/State/SynchronousMetricStorage.swift b/Sources/OpenTelemetrySdk/Metrics/Stable/State/SynchronousMetricStorage.swift index 2575808d..1debfb20 100644 --- a/Sources/OpenTelemetrySdk/Metrics/Stable/State/SynchronousMetricStorage.swift +++ b/Sources/OpenTelemetrySdk/Metrics/Stable/State/SynchronousMetricStorage.swift @@ -20,7 +20,7 @@ public class SynchronousMetricStorage: SynchronousMetricStorageProtocol { var aggregatorHandles = [[String: AttributeValue]: AggregatorHandle]() let attributeProcessor: AttributeProcessor var aggregatorHandlePool = [AggregatorHandle]() - private let aggregatorHandlesQueue = DispatchQueue(label: "org.opentelemetry.SynchronousMetricStorage.aggregatorHandlesQueue", attributes: .concurrent) + private let aggregatorHandlesQueue = DispatchQueue(label: "org.opentelemetry.SynchronousMetricStorage.aggregatorHandlesQueue") static func empty() -> SynchronousMetricStorageProtocol { @@ -76,7 +76,7 @@ public class SynchronousMetricStorage: SynchronousMetricStorageProtocol { var points = [PointData]() - aggregatorHandlesQueue.sync(flags: .barrier) { + aggregatorHandlesQueue.sync { aggregatorHandles.forEach { key, value in let point = value.aggregateThenMaybeReset(startEpochNano: start, endEpochNano: epochNanos, attributes: key, reset: reset) if reset {