Package-level declarations

Types

Link copied to clipboard
data class CorrelatedResult<T>(val value: T, val correlationId: String, val durationNanos: Long, val operationName: String)

Result of a correlated operation with timing and correlation metadata.

Link copied to clipboard

Thread-local correlation context for distributed tracing and audit trail linkage.

Link copied to clipboard
class CorrelationContextElement(snapshot: Map<String, String> = CorrelationContext.snapshot()) : CoroutineContext.Element

Coroutine context element for propagating correlation context across dispatchers.

Link copied to clipboard
sealed class LoggingSinkConfig

Configuration for logging sinks.

Link copied to clipboard

Log severity levels for structured logging.

Link copied to clipboard
data class ObservabilityPolicy(val tracingEnabled: Boolean = false, val otlpEndpoint: String? = null, val structuredLoggingEnabled: Boolean = false, val loggingSinks: List<LoggingSinkConfig> = listOf(LoggingSinkConfig.Logcat()), val correlationEnabled: Boolean = true, val metricsEnabled: Boolean = false, val metricsExportIntervalMs: Long, val debugFeaturesEnabled: Boolean = false, val networkLoggingEnabled: Boolean = false, val traceSampleRate: Double = 0.1)

Policy for SDK observability features including logging, tracing, and metrics.

Functions

Link copied to clipboard
inline fun <T> correlatedBlock(operationName: String, attributes: Map<String, String> = emptyMap(), block: () -> T): CorrelatedResult<T>

Execute a blocking operation with correlation context.

Link copied to clipboard
inline suspend fun <T> correlatedOperation(operationName: String, attributes: Map<String, String> = emptyMap(), context: CoroutineContext = EmptyCoroutineContext, crossinline block: suspend () -> T): CorrelatedResult<T>

Execute a suspending operation with automatic correlation context and timing.

Link copied to clipboard
inline suspend fun <T> trackedOperation(operationName: String, attributes: Map<String, String> = emptyMap(), crossinline onSuccess: (T, String, Long) -> Unit = { _, _, _ -> }, crossinline onFailure: (Throwable, String, Long) -> Unit = { _, _, _ -> }, crossinline block: suspend () -> T): T

Execute a suspending operation with correlation, automatically recording success/failure to an optional callback.