NautilusTelemetry is an iOS-oriented Swift package to collect OpenTelemetry data and submit it in OTLP-JSON format to an OpenTelemetry Collector instance. gRPC is not currently supported in order to keep the package size as small as possible. Not all features of OpenTelemetry are supported, and this package should be considered experimental.
Additional utilities include an Swift wrapper for os_unfair_lock, and a wrapper for mach_continuous_time to provide precision timing.
import NautilusTelemetry
InstrumentationSystem.bootstrap(reporter: ExampleReporter())
func logResponseComplete() {
let tracer = InstrumentationSystem.tracer
tracer.withSpan(name: #function) {
self.populateLogContext()
self.loggers.forEach { logger in
logger.logResponseComplete()
}
}
}
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.