Telemetry
The Kotlin SDK records one span per API call in OpenTelemetry’s terms and reports nothing on its own. You decide where those spans go: an OpenTelemetry provider, Sentry on mobile, or nowhere. The TypeScript package records no spans; use routeTemplate() for span names in your own instrumentation.
What is recorded
Every call produces a client span named {method} {route template} with attributes from the HTTP semantic conventions:
| Attribute | Example |
|---|---|
http.request.method | GET |
url.template | /companies/{companyId}/documents |
url.path | /companies/42/documents |
http.response.status_code | 200 |
error.type | the exception class when the call fails |
solibo.correlation_id | on failed calls, the X-Correlation-Id the backend returned, which finds the same call in Solibo’s logs |
solibo.failure.kind | the SDK’s own read of whether a failure needs attention |
url.full is deliberately absent: a full URL carries identifiers and query values, and a span is not the place for them.
OpenTelemetry (Kotlin, all platforms)
The SDK bundles only the OpenTelemetry api and noop artifacts, which is what OpenTelemetry prescribes for libraries. Install the provider your application already has:
import no.solibo.oss.sdk.telemetry.SoliboOpenTelemetry
SoliboOpenTelemetry.install(openTelemetry) // io.opentelemetry.kotlin.OpenTelemetry
Pass null to stop recording. The instrumentation scope is no.solibo.oss.sdk, versioned with the SDK.
Sentry (Android and iOS)
Sentry’s mobile SDKs do not read OpenTelemetry, so a separate artifact bridges the spans into the host application’s Sentry: a breadcrumb per call, and tags on any report you make. It reports nothing by itself; failures still reach your code as SoliboSDKError, and what to do with them stays your decision.
dependencies {
implementation("no.solibo.oss:sdk-sentry:1.26.12")
}
import no.solibo.oss.sdk.sentry.installSoliboSentryTelemetry
installSoliboSentryTelemetry() // safe before Sentry.init and safe to call again
A host whose telemetry already speaks OpenTelemetry needs none of this and should install its own provider instead. The artifact is published for Android and iOS only; JVM hosts use the OpenTelemetry route above.
Correlating with Solibo support
Quote the X-Correlation-Id response header when you report a problem; see the developer portal.