最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

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

programmeradmin0浏览0评论

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("
发布评论

评论列表(0)

  1. 暂无评论