IO 0.1.0

IO 0.1.0

Vadim SmalCognitiveDissonVladislav AlekseevTim Yusipov 维护。



IO 0.1.0

  • 作者:
  • 来自 Avito 的程序员聚集地

GraphiteClient

轻量级 Swift 框架,用于向 GraphitestatsD 提供数据。

入门指南

安装

Swift 包管理器

在您的 Package.swift 文件中添加依赖项

let package = Package(
    name: "project",
    dependencies: [
        .package(
            url: "https://github.com/avito-tech/GraphiteClient.git", 
            .upToNextMajor(from: "0.1.0")
        ),
    ],
    targets: [
        .target(
            name: "YourProjectName",
            dependencies: [
                "GraphiteClient"
            ]
        )
    ]
)

CocoaPods

要使用 CocoaPods 将 GraphiteClient 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

pod 'GraphiteClient', '~> 0.1'

使用方法

import GraphiteClient

let streamProvider = NetworkSocketOutputStreamProvider(
    host: host,
    port: port
)
let easyOutputStream = EasyOutputStream(
    outputStreamProvider: streamProvider,
    errorHandler: { stream, error in
        debugPrint("Graphite stream error: \(error)")
    },
    streamEndHandler: { stream in
        debugPrint("Graphite stream has been closed")
    }
)
try easyOutputStream.open()
let client = GraphiteClient(
    easyOutputStream: easyOutputStream
)
try client.send(
    path: [
        "some",
        "metric",
        "path"
    ],
    value: 42.0,
    timestamp: Date()
)