iOS SwiftUI Buton Süre Ölçümü — Opentelemetry
1 min readMay 27, 2024
iOS SwiftUI için Sepet Ekle butonu için ölçüm aşağıdaki gibi yapılabilir:
- Projenize OpenTelemetry kütüphanesini ekleyin. Bu genellikle CocoaPods veya Swift Package Manager aracılığıyla yapılır.
dependencies: [
.package(url: "https://github.com/open-telemetry/opentelemetry-swift.git", from: "0.1.0"),
],
2. Sepet ekleme işleminizi ölçeceğiniz kod parçasını belirleyin ve işlemin başlangıç ve bitiş noktalarına OpenTelemetry ölçümlerini ekleyin.
import SwiftUI
import OpenTelemetryApi
import OpenTelemetrySdk
import OpenTelemetryExportersMetricsPrometheus
struct ContentView: View {
// Prometheus exporter'ını yapılandırın
let exporter = PrometheusExporter()
// Ölçümleri metrik sağlayıcısına göndermek için metrik yöneticisini yapılandırın
let metricManager = MeterProviderSdk(metricExporter: exporter) var body: some View {
VStack {
Button(action: {
// OpenTelemetry'in global tracer'ını oluşturun
let tracerProvider = OpenTelemetrySDK.instance.tracerProvider // Tracer'ı alın
let tracer = tracerProvider.get(instrumentationName: "your_instrumentation_name") // "Sepet Ekle" işleminin başlangıç noktasında bir span başlatın
let span = tracer.spanBuilder(spanName: "Sepet Ekle").startSpan() // Sepet ekleme işleminin gerçekleştirildiği kod buraya gelecek
SepeteEkleView() // "Sepet Ekle" işleminin bitiş noktasında span'i kapatın
span.end()
}) {
Text("Sepete Ekle")
}
}
.onAppear {
// Metrik sağlayıcısını başlatın
metricManager.start()
}
}
}struct SepeteEkleView: View {
var body: some View {
// Sepet ekleme işleminin gerçekleştirildiği view buraya gelecek
Text("Ürün sepete eklendi!")
}
}struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Bu kod, OpenTelemetry metriklerini Prometheus formatında sunucuya gönderecek bir exporter oluşturur ve başlatır.