You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The repository contains the Swift [OpenTelemetry](https://opentelemetry.io/) client
7
9
8
-
A swift [OpenTelemetry](https://opentelemetry.io/) client
9
-
10
-
## Installation
10
+
## Getting Started
11
11
12
12
This package includes several libraries. The `OpenTelemetryApi` library includes protocols and no-op implementations that comprise the OpenTelemetry API following the [specification](https://github.com/open-telemetry/opentelemetry-specification). The `OpenTelemetrySdk` library is the reference implementation of the API.
13
13
14
14
Libraries that produce telemetry data should only depend on `OpenTelemetryApi`, and defer the choice of the SDK to the application developer. Applications may depend on `OpenTelemetrySdk` or another package that implements the API.
15
15
16
-
17
-
#### Adding the dependency
16
+
### Adding the dependency
18
17
19
18
opentelemetry-swift is designed for Swift 5. To depend on the opentelemetry-swift package, you need to declare your dependency in your `Package.swift`:
Official documentation for the library can be found in the official opentelemetry [documentation page](https://opentelemetry.io/docs/instrumentation/swift/), including:
40
39
41
-
* Documentation about installation and [manual instrumentation](https://opentelemetry.io/docs/instrumentation/swift/manual/)
42
-
40
+
* Documentation about installation and [manual instrumentation](https://opentelemetry.io/docs/instrumentation/swift/manual/)
41
+
43
42
*[Libraries](https://opentelemetry.io/docs/instrumentation/swift/libraries/) that provide automatic instrumentation
44
43
45
44
## Current status
@@ -55,32 +54,41 @@ Metrics is implemented using an outdated spec, is fully functional but will chan
55
54
### Supported exporters and importers
56
55
57
56
#### Traces
57
+
58
58
* Exporters: Stdout, Jaeger, Zipkin, Datadog and OpenTelemetry (OTLP) collector
59
59
* Importers: OpenTracingShim
60
60
61
-
#### Metrics
61
+
#### Metrics
62
+
62
63
* Exporters: Prometheus, Datadog, and OpenTelemetry (OTLP) collector
63
64
* Importers: SwiftMetricsShim
64
65
65
-
#### Logs
66
+
#### Logs
67
+
66
68
* Exporters: OpenTelemetry (OTLP) collector
67
69
68
70
> **_NOTE:_** OTLP exporters are supported both in GRPC and HTTP, only GRPC is production ready, HTTP is still experimental
69
71
70
72
### Instrumentation libraries
71
-
* URLSession
72
-
* NetworkStatus
73
-
* SDKResourceExtension
74
-
* SignPostIntegration
75
73
74
+
*`URLSession`
75
+
*`NetworkStatus`
76
+
*`SDKResourceExtension`
77
+
*`SignPostIntegration`
76
78
77
79
## Examples
78
80
79
81
The package includes some example projects with basic functionality:
80
82
81
-
-`Datadog Sample` - Shows the Datadog exporter used with a Simple Exporter, showing how to configure for sending.
82
-
-`Logging Tracer` - Simple api implementation of a Tracer that logs every api call
83
-
-`Network Tracer` - Shows how to use the `URLSessionInstrumentation` instrumentation in your application
84
-
-`Simple Exporter` - Shows the Jaeger an Stdout exporters in action using a MultiSpanExporter. Can be easily modified for other exporters
85
-
-`Prometheus Sample` - Shows the Prometheus exporter reporting metrics to a Prometheus instance
86
-
-`OTLP Exporter` - Shows the OTLP exporter reporting traces to Zipkin and metrics to a Prometheus via the otel-collector
83
+
*`Datadog Sample` - Shows the Datadog exporter used with a Simple Exporter, showing how to configure for sending.
84
+
*`Logging Tracer` - Simple api implementation of a Tracer that logs every api call
85
+
*`Network Tracer` - Shows how to use the `URLSessionInstrumentation` instrumentation in your application
86
+
*`Simple Exporter` - Shows the Jaeger an Stdout exporters in action using a MultiSpanExporter. Can be easily modified for other exporters
87
+
*`Prometheus Sample` - Shows the Prometheus exporter reporting metrics to a Prometheus instance
88
+
*`OTLP Exporter` - Shows the OTLP exporter reporting traces to Zipkin and metrics to a Prometheus via the otel-collector
89
+
90
+
## Contributing
91
+
92
+
For an overview of how to contribute, see the contributing guide in [CONTRIBUTING.md](CONTRIBUTING.md).
93
+
94
+
We are also available in the [#otel-swift](https://cloud-native.slack.com/archives/C01NCHR19SB) channel in the [CNCF slack](https://slack.cncf.io/). Please join us there for further discussions.
0 commit comments