I can't send my metrics to otel-collector with open-telemetry-swift and Swift - Stack Overflow

I tried to use OpenTelemetry Swift for the first time and I want tosend metrics from my SwiftUI app to

I tried to use OpenTelemetry Swift for the first time and I want tosend metrics from my SwiftUI app to an OpenTelemetry Collector and then Promethius/Grafana.

I use Docker Compose for up my different services: OpenTelemetry Collector/Prometheus/Grafana: I'm 100% sure this part is working.

The problem is my code, I follow the different examples from the official documentation but metrics looks like not really stable. Here's my code actually:

import UIKit
import Foundation
import OpenTelemetryApi
import OpenTelemetrySdk
import OpenTelemetryProtocolExporterGrpc
import GRPC
import NIO

@MainActor
public class BatteryManager {
    
    private var gauge: DoubleGauge?
    
    public init() {}
        
    public func basicConfiguration(host: String, port: Int) {
        
        let group = MultiThreadedEventLoopGroup(numberOfThreads: 1)
        let exporterChannel = ClientConnection.insecure(group: group)
            .connect(host: host, port: port)

        let meterProvider = StableMeterProviderBuilder()
            .registerView(
                selector: InstrumentSelector.builder().setInstrument(name: "Gauge").setMeter(version: "1").build(),
                view: StableView.builder().withName(name: "Niveau de batterie de l'iPhone").withDescription(description: "On récupère le niveau de la batterie afin de suivre son évolution").build()
            )
            .registerMetricReader(
                reader: StablePeriodicMetricReaderBuilder(exporter: StableOtlpMetricExporter(channel: exporterChannel)).setInterval(timeInterval: 1000).build()
            )
            .build()

        OpenTelemetry.registerStableMeterProvider(meterProvider: meterProvider)
        
        let meter = meterProvider.meterBuilder(name: "battery_monitoring").build()
        
        gauge = meter.gaugeBuilder(name: "battery_level_percentage").build()
        
        print("

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744465171a4575476.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信