Skip to content

TracingActivity provides Apples Activity Tracing as part of Unified Logging for pure Swift applications.

License

Notifications You must be signed in to change notification settings

matis-schotte/TracingActivity

Repository files navigation

TracingActivity

build tests language license

platform Twitter

Ethereum Litecoin

TracingActivity provides Apples Activity Tracing as part of Unified Logging for pure Swift applications. Creation of a tracing activity can fail, but all blocks will always be executed. The return values will inform if the code was executed inside the activity (success = true) or outside (in case the activity could not be created). Nesting of activities is encouraged for sub-tasks.

Requirements

  • Swift >= 4
  • iOS >= 10
  • macOS >= 10.12
  • tvOS >= 10
  • watchOS >= 3.0

Installation

Swift Package Manager

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler.

Add the Package URL https://github.com/matis-schotte/TracingActivity.git in Xcodes project viewer. Adding it to another Package as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
	.package(url: "https://github.com/matis-schotte/TracingActivity.git", from: "0.1.0")
]

Usage

Block-based activity tracing once:

_ = TracingActivity.initiate("Activity") {
	// ... os_log stuff
}

Activity tracing for multiple blocks:

let activity: TracingActivity? = TracingActivity("Activity")
_ = TracingActivity.apply(activity) {
	// ... os_log stuff
}

Scope-based activity tracing:

let activity: TracingActivity? = TracingActivity("Activity2")
var scope = activity?.enter()
// ... os_log stuff
defer {
	scope?.leave()
}

ToDo

  • Add SwiftLint (by adding xcodeproj: swift package generate-xcodeproj, helps support Xcode Server, too)
  • Add Travis CI (without xcodeproj see reddit, medium)
  • Add codecov
  • Add codebeat
  • Add codeclimate
  • Add codetriage
  • Add jazzy docs
  • Add CHANGELOG.md
  • Clean api docs
  • Add Carthage support
  • Add Cocoapods support

License

TracingActivity is available under the Apache-2.0 license. See the LICENSE file for more info.

Author

Matis Schotte, [email protected]

https://github.com/matis-schotte/TracingActivity

About

TracingActivity provides Apples Activity Tracing as part of Unified Logging for pure Swift applications.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages