Swift Package Index


Lightweight Swift framework for feeding data into Graphite and statsD.


  • The latest stable release is 0.1.1. Released over 1 year ago.
  • The last commit to master was over 1 year ago.

Swift Version Compatibility

  • 0.1.1 and master
    5.3
    5.2
    5.1
    5.0
    4.2
Full build results

Platform Compatibility

  • 0.1.1 and master
    iOS
    macOS(Intel)
    macOS(ARM)
    Linux
    tvOS
    watchOS
Full build results

GraphiteClient

Lightweight Swift framework for feeding data into Graphite and statsD.

Getting Started

Installation

Swift Package Manager

Add the dependency in your Package.swift file:

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

To integrate GraphiteClient into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'GraphiteClient', '~> 0.1'

Usage

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()
)