This package provides OpenTelemetry integration for smithy-swift clients. It bridges the Smithy telemetry API with the OpenTelemetry Swift SDK, allowing you to export traces and metrics.
This project is currently in-development and not yet ready for use.
- OpenTelemetry tracer provider implementation
- Span creation and management
- Attribute conversion between Smithy and OpenTelemetry formats
- Platform support for macOS, iOS, tvOS, and watchOS
Add this package as a dependency when you need OpenTelemetry support for your Smithy Swift clients:
dependencies: [
.package(url: "https://github.com/smithy-lang/smithy-swift-opentelemetry", from: "1.0.0"),
.package(url: "https://github.com/open-telemetry/opentelemetry-swift", from: "1.13.0"),
]import SmithyOpenTelemetry
import InMemoryExporter // Add the exporter you need
// Create a span exporter
let spanExporter = InMemoryExporter()
// Create the OpenTelemetry telemetry provider
let telemetryProvider = OpenTelemetrySwift.provider(spanExporter: spanExporter)
// Use with any smithy-swift based client (e.g., AWS SDK for Swift)
let config = try await YourClient.YourClientConfiguration(
region: "us-west-2",
telemetryProvider: telemetryProvider
)
let client = YourClient(config: config)You'll need to add the exporter package to your dependencies:
.product(name: "InMemoryExporter", package: "opentelemetry-swift")See CONTRIBUTING for more information.
This project is licensed under the Apache-2.0 License.