-
Notifications
You must be signed in to change notification settings - Fork 136
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
61 changed files
with
592 additions
and
413 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
165 changes: 165 additions & 0 deletions
165
Sources/OpenTelemetryApi/Metrics/Stable/DefaultStableMeter.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
// | ||
// Copyright The OpenTelemetry Authors | ||
// SPDX-License-Identifier: Apache-2.0 | ||
// | ||
|
||
import Foundation | ||
|
||
|
||
public class DefaultStableMeter : StableMeter { | ||
|
||
internal init() {} | ||
|
||
public func counterBuilder(name: String) -> LongCounterBuilder { | ||
NoopLongCounterBuilder() | ||
} | ||
|
||
public func upDownCounterBuilder(name: String) -> LongUpDownCounterBuilder { | ||
NoopLongUpDownCounterBuilder() | ||
} | ||
|
||
public func histogramBuilder(name: String) -> DoubleHistogramBuilder { | ||
NoopDoubleHistogramBuilder() | ||
} | ||
|
||
public func gaugeBuilder(name: String) -> DoubleGaugeBuilder { | ||
NoopDoubleGaugeBuilder() | ||
} | ||
|
||
private class NoopLongUpDownCounterBuilder : LongUpDownCounterBuilder { | ||
func ofDoubles() -> DoubleUpDownCounterBuilder { | ||
NoopDoubleUpDownCounterBuilder() | ||
} | ||
|
||
func build() -> LongUpDownCounter { | ||
NoopLongUpDownCounter() | ||
} | ||
|
||
func buildWithCallback(_ callback: @escaping (ObservableLongMeasurement) -> Void) -> ObservableLongUpDownCounter { | ||
NoopObservableLongUpDownCounter() | ||
} | ||
} | ||
|
||
private class NoopDoubleHistogramBuilder : DoubleHistogramBuilder { | ||
func ofLongs() -> LongHistogramBuilder { | ||
NoopLongHistogramBuilder() | ||
} | ||
|
||
func build() -> DoubleHistogram { | ||
NoopDoubleHistogram() | ||
} | ||
} | ||
|
||
private class NoopDoubleGaugeBuilder : DoubleGaugeBuilder { | ||
func ofLongs() -> LongGaugeBuilder { | ||
NoopLongGaugeBuilder() | ||
} | ||
|
||
func buildWithCallback(_ callback: @escaping (ObservableDoubleMeasurement) -> Void) -> ObservableDoubleGauge { | ||
NoopObservableDoubleGauge() | ||
} | ||
} | ||
|
||
private class NoopLongGaugeBuilder : LongGaugeBuilder { | ||
func buildWithCallback(_ callback: @escaping (ObservableLongMeasurement) -> Void) -> ObservableLongGauge { | ||
NoopObservableLongGauge() | ||
} | ||
} | ||
|
||
private struct NoopObservableLongGauge : ObservableLongGauge {} | ||
|
||
private struct NoopObservableDoubleGauge : ObservableDoubleGauge {} | ||
|
||
private class NoopDoubleUpDownCounterBuilder : DoubleUpDownCounterBuilder { | ||
func build() -> DoubleUpDownCounter { | ||
NoopDoubleUpDownCounter() | ||
} | ||
|
||
func buildWithCallback(_ callback: @escaping (ObservableDoubleMeasurement) -> Void) -> ObservableDoubleUpDownCounter { | ||
NoopObservableDoubleUpDownCounter() | ||
} | ||
} | ||
|
||
private struct NoopObservableDoubleUpDownCounter : ObservableDoubleUpDownCounter {} | ||
|
||
private struct NoopDoubleUpDownCounter : DoubleUpDownCounter { | ||
mutating func add(value: Double) {} | ||
mutating func add(value: Double, attributes: [String : AttributeValue]) {} | ||
} | ||
|
||
private class NoopLongUpDownCounter : LongUpDownCounter { | ||
func add(value: Int) {} | ||
func add(value: Int, attributes: [String : AttributeValue]) {} | ||
} | ||
|
||
private class NoopLongHistogramBuilder : LongHistogramBuilder { | ||
func build() -> LongHistogram { | ||
NoopLongHistogram() | ||
} | ||
} | ||
|
||
private struct NoopLongHistogram : LongHistogram { | ||
mutating func record(value: Int) {} | ||
mutating func record(value: Int, attributes: [String : AttributeValue]) {} | ||
} | ||
|
||
private class NoopObservableLongUpDownCounter : ObservableLongUpDownCounter {} | ||
|
||
private class NoopDoubleHistogram : DoubleHistogram { | ||
func record(value: Double) {} | ||
func record(value: Double, attributes: [String : AttributeValue]) {} | ||
} | ||
|
||
private class NoopLongCounter : LongCounter { | ||
func add(value: Int) {} | ||
func add(value: Int, attribute: [String : AttributeValue]) {} | ||
} | ||
|
||
private class NoopLongCounterBuilder : LongCounterBuilder { | ||
func ofDoubles() -> DoubleCounterBuilder { | ||
NoopDoubleCounterBuilder() | ||
} | ||
|
||
func build() -> LongCounter { | ||
NoopLongCounter() | ||
} | ||
|
||
func buildWithCallback(_ callback: @escaping (ObservableLongMeasurement) -> Void) -> ObservableLongCounter { | ||
NoopObservableLongCounter() | ||
} | ||
} | ||
|
||
private class NoopDoubleCounterBuilder : DoubleCounterBuilder { | ||
func build() -> DoubleCounter { | ||
StableNoopDoubleCounter() | ||
} | ||
|
||
func buildWithCallback(_ callback: @escaping (ObservableDoubleMeasurement) -> Void) -> ObservableDoubleCounter { | ||
NoopObservableDoubleCounter() | ||
} | ||
} | ||
|
||
private class NoopObservableLongCounter : ObservableLongCounter {} | ||
private class NoopObservableDoubleCounter: ObservableDoubleCounter {} | ||
|
||
private class StableNoopDoubleCounterBuilder : DoubleCounterBuilder { | ||
func build() -> DoubleCounter { | ||
StableNoopDoubleCounter() | ||
} | ||
|
||
func buildWithCallback(_ callback: @escaping (ObservableDoubleMeasurement) -> Void) -> ObservableDoubleCounter { | ||
NoopObservableDoubleCounter() | ||
} | ||
} | ||
|
||
private class StableNoopDoubleCounter : DoubleCounter { | ||
func add(value: Double) {} | ||
func add(value: Double, attributes: [String : AttributeValue]) {} | ||
} | ||
} | ||
|
||
|
||
|
||
|
||
|
||
|
99 changes: 39 additions & 60 deletions
99
Sources/OpenTelemetryApi/Metrics/Stable/DefaultStableMeterProvider.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,62 +1,41 @@ | ||
//// | ||
//// Copyright The OpenTelemetry Authors | ||
//// SPDX-License-Identifier: Apache-2.0 | ||
//// | ||
// | ||
//import Foundation | ||
// Copyright The OpenTelemetry Authors | ||
// SPDX-License-Identifier: Apache-2.0 | ||
// | ||
//public class DefaultStableMeterProvider: StableMeterProvider { | ||
// static var proxyMeter = StableProxyMeter() | ||
// static var proxyMeterBuilder = ProxyMeterBuilder() | ||
// static var initialized = false | ||
// | ||
// class StableProxyMeter : StableMeter { | ||
// func counterBuilder(name: String) -> LongCounterBuilder { | ||
// } | ||
// | ||
// func upDownCounterBuilder(name: String) -> LongUpDownCounterBuilder { | ||
// } | ||
// | ||
// func histogramBuilder(name: String) -> DoubleHistogramBuilder { | ||
// } | ||
// | ||
// func gaugeBuilder(name: String) -> DoubleGaugeBuilder { | ||
// } | ||
// } | ||
// | ||
// class ProxyMeterBuilder : MeterBuilder { | ||
// func setSchemaUrl(schemaUrl: String) -> Self { | ||
// return self | ||
// } | ||
// | ||
// func setInstrumentationVersion(instrumentationVersion: String) -> Self { | ||
// return self | ||
// } | ||
// | ||
// func build() -> StableMeter { | ||
// return DefaultStableMeterProvider.proxyMeter | ||
// } | ||
// | ||
// | ||
// init() {} | ||
// | ||
// public static func setDefault(meterFactory: StableMeterProvider) { | ||
// guard !initialized else { | ||
// return | ||
// } | ||
// instance = meterFactory | ||
// proxyMeter.updateMeter(realMeter: meterFactory.get(name: "")) | ||
// initialized = true | ||
// } | ||
// | ||
// public func get(name: String) -> StableMeter { | ||
// return Self.initialized ? Self.instance.get(name: name) : Self.proxyMeter | ||
// } | ||
// | ||
// public func meterBuilder(name: String) -> MeterBuilder { | ||
// return Self.initialized ? self.instance.meterBuilder(name: name) : return Self.proxyMeterBuilder | ||
// | ||
// } | ||
// | ||
// public static var instance : StableMeterProvider = DefaultStableMeterProvider() | ||
//} | ||
|
||
import Foundation | ||
|
||
public class DefaultStableMeterProvider: StableMeterProvider { | ||
static let noopMeterBuilder = NoopMeterBuilder() | ||
|
||
public static func noop() -> MeterBuilder { | ||
noopMeterBuilder | ||
} | ||
|
||
public func get(name: String) -> StableMeter { | ||
DefaultStableMeter() | ||
} | ||
|
||
public func meterBuilder(name: String) -> MeterBuilder { | ||
Self.noop() | ||
} | ||
|
||
class NoopMeterBuilder : MeterBuilder { | ||
static let noopMeter = DefaultStableMeter() | ||
|
||
func setSchemaUrl(schemaUrl: String) -> Self { | ||
self | ||
} | ||
|
||
func setInstrumentationVersion(instrumentationVersion: String) -> Self { | ||
self | ||
} | ||
|
||
func build() -> StableMeter { | ||
Self.noopMeter | ||
} | ||
|
||
} | ||
|
||
public static var instance : StableMeterProvider = DefaultStableMeterProvider() | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
16 changes: 0 additions & 16 deletions
16
Sources/OpenTelemetryApi/Metrics/Stable/Instruments/Gauge/ObservableGauge.swift
This file was deleted.
Oops, something went wrong.
22 changes: 0 additions & 22 deletions
22
Sources/OpenTelemetryApi/Metrics/Stable/Instruments/Histogram/Histogram.swift
This file was deleted.
Oops, something went wrong.
12 changes: 0 additions & 12 deletions
12
Sources/OpenTelemetryApi/Metrics/Stable/Instruments/ObservableMeter.swift
This file was deleted.
Oops, something went wrong.
18 changes: 0 additions & 18 deletions
18
Sources/OpenTelemetryApi/Metrics/Stable/Instruments/ObservableResult.swift
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.