- Notifications
You must be signed in to change notification settings - Fork50
Instrumentation library for Swift server applications
License
apple/swift-distributed-tracing
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A Distributed Tracing API for Swift.
This is a collection of Swift types enabling the instrumentation of server side applications using tools such as tracers. Our goal is to provide a common foundation that allows to freely choose how to instrument systems with minimal changes to your actual code.
While Swift Distributed Tracing allows building all kinds ofinstruments, which can co-exist in applications transparently, its primary use is instrumenting multi-threaded and distributed systems with Distributed Traces.
This project uses the context propagation type defined independently in:
- swift-service-context --
ServiceContext
(zero dependencies)
This project is designed in a very open and extensible manner, such that various instrumentation and tracing systems can be built on top of it.
The purpose of the tracing package is to serve as common API for all tracer and instrumentation implementations. Thanks to this, libraries may only need to be instrumented once, and then be used with any tracer which conforms to this API.
CompatibleTracer
implementations:
Library | Status | Description |
---|---|---|
@swift-otel /SwiftOTel | 🟢 Updated for 1.0 | Exports spans toOpenTelemetry Collector; Compatible withZipkin,X-RayJaeger, and more. |
Your library? | ... | Get in touch! |
If you know of any other library please send in apull request to add it to the list, thank you!
The following is a, non-complete, list of a few libraries and frameworks which provide built-in support for distributed tracing.This list is not complete, however if you'd like to feature your library in the list below, feel free to open a pull request adding it.
HTTP Servers/Frameworks | Integrates | Status |
---|---|---|
Hummingbird | Tracing | 🟢 Built-in support |
Vapor | Tracing | 🟢 Built-in support |
Valkey Swift | Tracing | 🟢 Built-in support |
gRPC Swift 2 | Tracing | 🟢grpc-swift-extras middleware |
Your library? | ... | Get in touch! |
If you know of any other library please send in apull request to add it to the list, thank you!
Please refer to thereference documentation for detailed guides about adopting distributed tracing in your applications, libraries and frameworks.
About
Instrumentation library for Swift server applications
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.