Skip to content

A Swift Dogstatsd client built for the Vapor framework

License

Notifications You must be signed in to change notification settings

DataDog/swift-dogstatsd

Repository files navigation

Swift Dogstatsd

Platforms Swift 5.3 Vapor 4

Overview

Swift Dogstatsd is a dogstatsd implementation for the popular Vapor framework.

Installation

To install Swift Dogstatsd, use Swift Package Manager:

.package(name: "dogstatsd", url: "https://github.com/DataDog/swift-dogstatsd.git", from: "1.0.0")),

.target(name: "App", dependencies: [
    .product(name: "Vapor", package: "vapor"),
    .product(name: "Dogstatsd", package: "swift-dogstatsd")
])

Usage

Configuration

In configure.swift:

import Dogstatsd

// Called before your application initializes.
func configure(_ app: Application) throws {

    app.dogstatsd.config = .udp(address: "127.0.0.1", port: 8125)
    // or 
    app.dogstatsd.config = .uds(path: "/tmp/dsd.sock")

}

Usage

dogstatsd is available on both Application and Request.

import Vapor

func routes(_ app: Application) throws {

    app.get { req -> String in

        req.dogstatsd.increment("custom.swift.metric", tags: ["env:prod"])

        return "It works!"
    }
}