public typealias AttributeKey = String
public typealias AttributeValue = Encodable
public enum TrackingConsent
 case granted
 case notGranted
 case pending
public struct CarrierInfo: Equatable
 public enum RadioAccessTechnology: String, Codable, CaseIterable
  case GPRS
  case Edge
  case WCDMA
  case HSDPA
  case HSUPA
  case CDMA1x
  case CDMAEVDORev0
  case CDMAEVDORevA
  case CDMAEVDORevB
  case eHRPD
  case LTE
  case unknown
 public let carrierName: String?
 public let carrierISOCountryCode: String?
 public let carrierAllowsVOIP: Bool
 public let radioAccessTechnology: RadioAccessTechnology
public struct NetworkConnectionInfo: Equatable
 public enum Reachability: String, Codable, CaseIterable
  case yes
  case maybe
  case no
 public enum Interface: String, Codable, CaseIterable
  case wifi
  case wiredEthernet
  case cellular
  case loopback
  case other
 public let reachability: Reachability
 public let availableInterfaces: [Interface]?
 public let supportsIPv4: Bool?
 public let supportsIPv6: Bool?
 public let isExpensive: Bool?
 public let isConstrained: Bool?
public class DDCrashReport: NSObject
 public struct Thread: Encodable
  public init(name: String,stack: String,crashed: Bool,state: String?)
 public struct BinaryImage: Encodable
  public init(libraryName: String,uuid: String,architecture: String,isSystemLibrary: Bool,loadAddress: String,maxAddress: String)
 public struct Meta: Encodable
  public init(incidentIdentifier: String?,processName: String?,parentProcess: String?,path: String?,codeType: String?,exceptionType: String?,exceptionCodes: String?)
 public var diagnosticInfo: [String: Encodable] = [:]
 public init(date: Date?,type: String,message: String,stack: String,threads: [Thread],binaryImages: [BinaryImage],meta: Meta,wasTruncated: Bool,context: Data?)
public protocol DDCrashReportingPluginType: AnyObject
 func readPendingCrashReport(completion: (DDCrashReport?) -> Bool)
 func inject(context: Data)
public class DDRUMMonitor
 public func startView(viewController: UIViewController,path: String?,attributes: [AttributeKey: AttributeValue] = [:])
 public func startView(viewController: UIViewController,name: String? = nil,attributes: [AttributeKey: AttributeValue] = [:])
 public func stopView(viewController: UIViewController,attributes: [AttributeKey: AttributeValue] = [:])
 public func startView(key: String,name: String? = nil,attributes: [AttributeKey: AttributeValue] = [:])
 public func stopView(key: String,attributes: [AttributeKey: AttributeValue] = [:])
 public func addTiming(name: String)
 public func addError(message: String,source: RUMErrorSource = .custom,stack: String? = nil,attributes: [AttributeKey: AttributeValue] = [:],file: StaticString? = #file,line: UInt? = #line)
 public func addError(error: Error,source: RUMErrorSource = .custom,attributes: [AttributeKey: AttributeValue] = [:])
 public func startResourceLoading(resourceKey: String,request: URLRequest,attributes: [AttributeKey: AttributeValue] = [:])
 public func startResourceLoading(resourceKey: String,url: URL,attributes: [AttributeKey: AttributeValue] = [:])
 public func startResourceLoading(resourceKey: String,httpMethod: RUMMethod,urlString: String,attributes: [AttributeKey: AttributeValue] = [:])
 public func addResourceMetrics(resourceKey: String,metrics: URLSessionTaskMetrics,attributes: [AttributeKey: AttributeValue] = [:])
 public func addResourceMetrics(resourceKey: String,fetch: (start: Date, end: Date),redirection: (start: Date, end: Date)?,dns: (start: Date, end: Date)?,connect: (start: Date, end: Date)?,ssl: (start: Date, end: Date)?,firstByte: (start: Date, end: Date)?,download: (start: Date, end: Date)?,responseSize: Int64?,attributes: [AttributeKey: AttributeValue] = [:])
 public func stopResourceLoading(resourceKey: String,response: URLResponse,size: Int64? = nil,attributes: [AttributeKey: AttributeValue] = [:])
 public func stopResourceLoading(resourceKey: String,statusCode: Int?,kind: RUMResourceType,size: Int64? = nil,attributes: [AttributeKey: AttributeValue] = [:])
 public func stopResourceLoadingWithError(resourceKey: String,error: Error,response: URLResponse? = nil,attributes: [AttributeKey: AttributeValue] = [:])
 public func stopResourceLoadingWithError(resourceKey: String,errorMessage: String,response: URLResponse? = nil,attributes: [AttributeKey: AttributeValue] = [:])
 public func startUserAction(type: RUMUserActionType,name: String,attributes: [AttributeKey: AttributeValue] = [:])
 public func stopUserAction(type: RUMUserActionType,name: String? = nil,attributes: [AttributeKey: AttributeValue] = [:])
 public func addUserAction(type: RUMUserActionType,name: String,attributes: [AttributeKey: AttributeValue] = [:])
 public func addAttribute(forKey key: AttributeKey, value: AttributeValue)
 public func removeAttribute(forKey key: AttributeKey)
public class Datadog
 public struct AppContext
  public init(mainBundle: Bundle = Bundle.main)
 public static func initialize(appContext: AppContext, configuration: Configuration)
 public static func initialize(appContext: AppContext,trackingConsent: TrackingConsent,configuration: Configuration)
 public static var verbosityLevel: LogLevel? = nil
 public static var debugRUM = false
 public static var isInitialized: Bool
 public static func setUserInfo(id: String? = nil,name: String? = nil,email: String? = nil,extraInfo: [AttributeKey: AttributeValue] = [:])
 public static func set(trackingConsent: TrackingConsent)
 public static func flushAndDeinitialize()
 public struct Configuration
  public enum BatchSize
   case small
   case medium
   case large
  public enum UploadFrequency
   case frequent
   case average
   case rare
  public enum DatadogEndpoint
   case us1
   case us3
   case eu1
   case us1_fed
   public static let us: DatadogEndpoint = .us1
   public static let eu: DatadogEndpoint = .eu1
   public static let gov: DatadogEndpoint = .us1_fed
  public enum LogsEndpoint
   case us1
   case us3
   case eu1
   case us1_fed
   case us
   case eu
   case gov
   case custom(url: String)
  public enum TracesEndpoint
   case us1
   case us3
   case eu1
   case us1_fed
   case us
   case eu
   case gov
   case custom(url: String)
  public enum RUMEndpoint
   case us1
   case us3
   case eu1
   case us1_fed
   case us
   case eu
   case gov
   case custom(url: String)
  public static func builderUsing(rumApplicationID: String, clientToken: String, environment: String) -> Builder
  public static func builderUsing(clientToken: String, environment: String) -> Builder
  public class Builder
   public func set(endpoint: DatadogEndpoint) -> Builder
   public func set(customLogsEndpoint: URL) -> Builder
   public func set(customTracesEndpoint: URL) -> Builder
   public func set(customRUMEndpoint: URL) -> Builder
   public func enableLogging(_ enabled: Bool) -> Builder
   public func set(logsEndpoint: LogsEndpoint) -> Builder
   public func enableTracing(_ enabled: Bool) -> Builder
   public func set(tracesEndpoint: TracesEndpoint) -> Builder
   public func set(tracedHosts: Set<String>) -> Builder
   public func track(firstPartyHosts: Set<String>) -> Builder
   public func trackURLSession(firstPartyHosts: Set<String> = []) -> Builder
   public func setSpanEventMapper(_ mapper: @escaping (SpanEvent) -> SpanEvent) -> Builder
   public func enableRUM(_ enabled: Bool) -> Builder
   public func set(rumEndpoint: RUMEndpoint) -> Builder
   public func set(rumSessionsSamplingRate: Float) -> Builder
   public func onRUMSessionStart(_ handler: @escaping (String, Bool) -> Void) -> Builder
   public func trackUIKitRUMViews(using predicate: UIKitRUMViewsPredicate = DefaultUIKitRUMViewsPredicate()) -> Builder
   public func trackUIKitActions(_ enabled: Bool = true) -> Builder
   public func trackUIKitRUMActions(using predicate: UIKitRUMUserActionsPredicate = DefaultUIKitRUMUserActionsPredicate()) -> Builder
   public func setRUMViewEventMapper(_ mapper: @escaping (RUMViewEvent) -> RUMViewEvent) -> Builder
   public func setRUMResourceEventMapper(_ mapper: @escaping (RUMResourceEvent) -> RUMResourceEvent?) -> Builder
   public func setRUMActionEventMapper(_ mapper: @escaping (RUMActionEvent) -> RUMActionEvent?) -> Builder
   public func setRUMErrorEventMapper(_ mapper: @escaping (RUMErrorEvent) -> RUMErrorEvent?) -> Builder
   public func setRUMResourceAttributesProvider(_ provider: @escaping (URLRequest, URLResponse?, Data?, Error?) -> [AttributeKey: AttributeValue]?) -> Builder
   public func trackBackgroundEvents(_ enabled: Bool = true) -> Builder
   public func enableCrashReporting(using crashReportingPlugin: DDCrashReportingPluginType) -> Builder
   public func enableInternalMonitoring(clientToken: String) -> Builder
   public func set(serviceName: String) -> Builder
   public func set(batchSize: BatchSize) -> Builder
   public func set(uploadFrequency: UploadFrequency) -> Builder
   public func set(proxyConfiguration: [AnyHashable: Any]?) -> Builder
   public func set(additionalConfiguration: [String: Any]) -> Builder
   public func build() -> Configuration
public typealias DDGlobal = Global
public struct Global
 public static var sharedTracer: OTTracer = DDNoopGlobals.tracer
 public static var rum: DDRUMMonitor = DDNoopRUMMonitor()
public enum LogLevel: Int, Codable
 case debug
 case info
 case notice
 case warn
 case error
 case critical
public typealias DDLogger = Logger
public class Logger
 public func debug(_ message: String, error: Error? = nil, attributes: [AttributeKey: AttributeValue]? = nil)
 public func info(_ message: String, error: Error? = nil, attributes: [AttributeKey: AttributeValue]? = nil)
 public func notice(_ message: String, error: Error? = nil, attributes: [AttributeKey: AttributeValue]? = nil)
 public func warn(_ message: String, error: Error? = nil, attributes: [AttributeKey: AttributeValue]? = nil)
 public func error(_ message: String, error: Error? = nil, attributes: [AttributeKey: AttributeValue]? = nil)
 public func critical(_ message: String, error: Error? = nil, attributes: [AttributeKey: AttributeValue]? = nil)
 public func addAttribute(forKey key: AttributeKey, value: AttributeValue)
 public func removeAttribute(forKey key: AttributeKey)
 public func addTag(withKey key: String, value: String)
 public func removeTag(withKey key: String)
 public func add(tag: String)
 public func remove(tag: String)
 public static var builder: Builder
 public class Builder
  public func set(serviceName: String) -> Builder
  public func set(loggerName: String) -> Builder
  public func sendNetworkInfo(_ enabled: Bool) -> Builder
  public func bundleWithRUM(_ enabled: Bool) -> Builder
  public func bundleWithTrace(_ enabled: Bool) -> Builder
  public func sendLogsToDatadog(_ enabled: Bool) -> Builder
  public enum ConsoleLogFormat
   case short
   case shortWith(prefix: String)
   case json
   case jsonWith(prefix: String)
  public func printLogsToConsole(_ enabled: Bool, usingFormat format: ConsoleLogFormat = .short) -> Builder
  public func build() -> Logger
public struct OTTags
 public static let component = "component"
 public static let dbInstance = "db.instance"
 public static let dbStatement = "db.statement"
 public static let dbType = "db.type"
 public static let dbUser = "db.user"
 public static let error = "error"
 public static let httpMethod = "http.method"
 public static let httpStatusCode = "http.status_code"
 public static let httpUrl = "http.url"
 public static let messageBusDestination = "message_bus.destination"
 public static let peerAddress = "peer.address"
 public static let peerHostname = "peer.hostname"
 public static let peerIPv4 = "peer.ipv4"
 public static let peerIPv6 = "peer.ipv6"
 public static let peerPort = "peer.port"
 public static let peerService = "peer.service"
 public static let samplingPriority = "sampling.priority"
 public static let spanKind = "span.kind"
public struct OTLogFields
 public static let errorKind = "error.kind"
 public static let event = "event"
 public static let message = "message"
 public static let stack = "stack"
public protocol OTFormatReader: OTCustomFormatReader
public protocol OTFormatWriter: OTCustomFormatWriter
public protocol OTTextMapReader: OTFormatReader
public protocol OTTextMapWriter: OTFormatWriter
public protocol OTHTTPHeadersReader: OTTextMapReader
public protocol OTHTTPHeadersWriter: OTTextMapWriter
public protocol OTCustomFormatReader
 func extract() -> OTSpanContext?
public protocol OTCustomFormatWriter
 func inject(spanContext: OTSpanContext)
public struct OTReference
 public let type: OTReferenceType
 public let context: OTSpanContext
 public static func child(of parent: OTSpanContext) -> OTReference
 public static func follows(from precedingContext: OTSpanContext) -> OTReference
public enum OTReferenceType: String
 case childOf = "CHILD_OF"
 case followsFrom = "FOLLOWS_FROM"
public protocol OTSpan
 var context: OTSpanContext
 func tracer() -> OTTracer
 func setOperationName(_ operationName: String)
 func setTag(key: String, value: Encodable)
 func log(fields: [String: Encodable], timestamp: Date)
 func setBaggageItem(key: String, value: String)
 func baggageItem(withKey key: String) -> String?
 func finish(at time: Date)
 func setActive() -> OTSpan
public extension OTSpan
 func log(fields: [String: Encodable])
 func finish()
public extension OTSpan
 func setError(_ error: Error,file: StaticString = #fileID,line: UInt = #line)
 func setError(kind: String,message: String,stack: String = "",file: StaticString = #fileID,line: UInt = #line)
public protocol OTSpanContext
 func forEachBaggageItem(callback: (_ key: String, _ value: String) -> Bool)
public protocol OTTracer
 func startSpan(operationName: String,references: [OTReference]?,tags: [String: Encodable]?,startTime: Date?) -> OTSpan
 func startRootSpan(operationName: String,tags: [String: Encodable]?,startTime: Date?) -> OTSpan
 func inject(spanContext: OTSpanContext, writer: OTFormatWriter)
 func extract(reader: OTFormatReader) -> OTSpanContext?
 var activeSpan: OTSpan?
public extension OTTracer
 func startSpan(operationName: String,childOf parent: OTSpanContext? = nil,tags: [String: Encodable]? = nil,startTime: Date? = nil) -> OTSpan
 func startRootSpan(operationName: String,tags: [String: Encodable]? = nil,startTime: Date? = nil) -> OTSpan
public struct RUMAction
 public var name: String
 public var attributes: [AttributeKey: AttributeValue]
 public init(name: String, attributes: [AttributeKey: AttributeValue] = [:])
public protocol UIKitRUMUserActionsPredicate
 func rumAction(targetView: UIView) -> RUMAction?
public struct DefaultUIKitRUMUserActionsPredicate: UIKitRUMUserActionsPredicate
 public init ()
 public func rumAction(targetView: UIView) -> RUMAction?
public struct RUMView
 public var name: String
 public var path: String?
 public var attributes: [AttributeKey: AttributeValue]
 public init(path: String, attributes: [AttributeKey: AttributeValue] = [:])
 public init(name: String, attributes: [AttributeKey: AttributeValue] = [:])
public protocol UIKitRUMViewsPredicate
 func rumView(for viewController: UIViewController) -> RUMView?
public struct DefaultUIKitRUMViewsPredicate: UIKitRUMViewsPredicate
 public init ()
 public func rumView(for viewController: UIViewController) -> RUMView?
public struct RUMViewEvent: RUMDataModel
 public let dd: DD
 public let application: Application
 public let connectivity: RUMConnectivity?
 public internal(set) var context: RUMEventAttributes?
 public let date: Int64
 public let service: String?
 public let session: Session
 public let type: String = "view"
 public internal(set) var usr: RUMUser?
 public var view: View
 public struct DD: Codable
  public let documentVersion: Int64
  public let formatVersion: Int64 = 2
  public let session: Session?
  public struct Session: Codable
   public let plan: Plan
   public enum Plan: Int, Codable
    case plan1 = 1
    case plan2 = 2
 public struct Application: Codable
  public let id: String
 public struct Session: Codable
  public let hasReplay: Bool?
  public let id: String
  public let type: SessionType
  public enum SessionType: String, Codable
   case user = "user"
   case synthetics = "synthetics"
 public struct View: Codable
  public let action: Action
  public let cpuTicksCount: Double?
  public let cpuTicksPerSecond: Double?
  public let crash: Crash?
  public let cumulativeLayoutShift: Double?
  public let customTimings: [String: Int64]?
  public let domComplete: Int64?
  public let domContentLoaded: Int64?
  public let domInteractive: Int64?
  public let error: Error
  public let firstContentfulPaint: Int64?
  public let firstInputDelay: Int64?
  public let firstInputTime: Int64?
  public let id: String
  public let inForegroundPeriods: [InForegroundPeriods]?
  public let isActive: Bool?
  public let largestContentfulPaint: Int64?
  public let loadEvent: Int64?
  public let loadingTime: Int64?
  public let loadingType: LoadingType?
  public let longTask: LongTask?
  public let memoryAverage: Double?
  public let memoryMax: Double?
  public var name: String?
  public var referrer: String?
  public let refreshRateAverage: Double?
  public let refreshRateMin: Double?
  public let resource: Resource
  public let timeSpent: Int64
  public var url: String
  public struct Action: Codable
   public let count: Int64
  public struct Crash: Codable
   public let count: Int64
  public struct Error: Codable
   public let count: Int64
  public struct InForegroundPeriods: Codable
   public let duration: Int64
   public let start: Int64
  public enum LoadingType: String, Codable
   case initialLoad = "initial_load"
   case routeChange = "route_change"
   case activityDisplay = "activity_display"
   case activityRedisplay = "activity_redisplay"
   case fragmentDisplay = "fragment_display"
   case fragmentRedisplay = "fragment_redisplay"
   case viewControllerDisplay = "view_controller_display"
   case viewControllerRedisplay = "view_controller_redisplay"
  public struct LongTask: Codable
   public let count: Int64
  public struct Resource: Codable
   public let count: Int64
public struct RUMResourceEvent: RUMDataModel
 public let dd: DD
 public let action: Action?
 public let application: Application
 public let connectivity: RUMConnectivity?
 public internal(set) var context: RUMEventAttributes?
 public let date: Int64
 public var resource: Resource
 public let service: String?
 public let session: Session
 public let type: String = "resource"
 public internal(set) var usr: RUMUser?
 public var view: View
 public struct DD: Codable
  public let formatVersion: Int64 = 2
  public let session: Session?
  public let spanId: String?
  public let traceId: String?
  public struct Session: Codable
   public let plan: Plan
   public enum Plan: Int, Codable
    case plan1 = 1
    case plan2 = 2
 public struct Action: Codable
  public let id: String
 public struct Application: Codable
  public let id: String
 public struct Resource: Codable
  public let connect: Connect?
  public let dns: DNS?
  public let download: Download?
  public let duration: Int64
  public let firstByte: FirstByte?
  public let id: String?
  public let method: RUMMethod?
  public let provider: Provider?
  public let redirect: Redirect?
  public let size: Int64?
  public let ssl: SSL?
  public let statusCode: Int64?
  public let type: ResourceType
  public var url: String
  public struct Connect: Codable
   public let duration: Int64
   public let start: Int64
  public struct DNS: Codable
   public let duration: Int64
   public let start: Int64
  public struct Download: Codable
   public let duration: Int64
   public let start: Int64
  public struct FirstByte: Codable
   public let duration: Int64
   public let start: Int64
  public struct Provider: Codable
   public let domain: String?
   public let name: String?
   public let type: ProviderType?
   public enum ProviderType: String, Codable
    case ad = "ad"
    case advertising = "advertising"
    case analytics = "analytics"
    case cdn = "cdn"
    case content = "content"
    case customerSuccess = "customer-success"
    case firstParty = "first party"
    case hosting = "hosting"
    case marketing = "marketing"
    case other = "other"
    case social = "social"
    case tagManager = "tag-manager"
    case utility = "utility"
    case video = "video"
  public struct Redirect: Codable
   public let duration: Int64
   public let start: Int64
  public struct SSL: Codable
   public let duration: Int64
   public let start: Int64
  public enum ResourceType: String, Codable
   case document = "document"
   case xhr = "xhr"
   case beacon = "beacon"
   case fetch = "fetch"
   case css = "css"
   case js = "js"
   case image = "image"
   case font = "font"
   case media = "media"
   case other = "other"
 public struct Session: Codable
  public let hasReplay: Bool?
  public let id: String
  public let type: SessionType
  public enum SessionType: String, Codable
   case user = "user"
   case synthetics = "synthetics"
 public struct View: Codable
  public let id: String
  public var name: String?
  public var referrer: String?
  public var url: String
public struct RUMActionEvent: RUMDataModel
 public let dd: DD
 public var action: Action
 public let application: Application
 public let connectivity: RUMConnectivity?
 public internal(set) var context: RUMEventAttributes?
 public let date: Int64
 public let service: String?
 public let session: Session
 public let type: String = "action"
 public internal(set) var usr: RUMUser?
 public var view: View
 public struct DD: Codable
  public let formatVersion: Int64 = 2
  public let session: Session?
  public struct Session: Codable
   public let plan: Plan
   public enum Plan: Int, Codable
    case plan1 = 1
    case plan2 = 2
 public struct Action: Codable
  public let crash: Crash?
  public let error: Error?
  public let id: String?
  public let loadingTime: Int64?
  public let longTask: LongTask?
  public let resource: Resource?
  public var target: Target?
  public let type: ActionType
  public struct Crash: Codable
   public let count: Int64
  public struct Error: Codable
   public let count: Int64
  public struct LongTask: Codable
   public let count: Int64
  public struct Resource: Codable
   public let count: Int64
  public struct Target: Codable
   public var name: String
  public enum ActionType: String, Codable
   case custom = "custom"
   case click = "click"
   case tap = "tap"
   case scroll = "scroll"
   case swipe = "swipe"
   case applicationStart = "application_start"
   case back = "back"
 public struct Application: Codable
  public let id: String
 public struct Session: Codable
  public let hasReplay: Bool?
  public let id: String
  public let type: SessionType
  public enum SessionType: String, Codable
   case user = "user"
   case synthetics = "synthetics"
 public struct View: Codable
  public let id: String
  public let inForeground: Bool?
  public var name: String?
  public var referrer: String?
  public var url: String
public struct RUMErrorEvent: RUMDataModel
 public let dd: DD
 public let action: Action?
 public let application: Application
 public let connectivity: RUMConnectivity?
 public internal(set) var context: RUMEventAttributes?
 public let date: Int64
 public var error: Error
 public let service: String?
 public let session: Session
 public let type: String = "error"
 public internal(set) var usr: RUMUser?
 public var view: View
 public struct DD: Codable
  public let formatVersion: Int64 = 2
  public let session: Session?
  public struct Session: Codable
   public let plan: Plan
   public enum Plan: Int, Codable
    case plan1 = 1
    case plan2 = 2
 public struct Action: Codable
  public let id: String
 public struct Application: Codable
  public let id: String
 public struct Error: Codable
  public let handling: Handling?
  public let handlingStack: String?
  public let id: String?
  public let isCrash: Bool?
  public var message: String
  public var resource: Resource?
  public let source: Source
  public var stack: String?
  public let type: String?
  public enum Handling: String, Codable
   case handled = "handled"
   case unhandled = "unhandled"
  public struct Resource: Codable
   public let method: RUMMethod
   public let provider: Provider?
   public let statusCode: Int64
   public var url: String
   public struct Provider: Codable
    public let domain: String?
    public let name: String?
    public let type: ProviderType?
    public enum ProviderType: String, Codable
     case ad = "ad"
     case advertising = "advertising"
     case analytics = "analytics"
     case cdn = "cdn"
     case content = "content"
     case customerSuccess = "customer-success"
     case firstParty = "first party"
     case hosting = "hosting"
     case marketing = "marketing"
     case other = "other"
     case social = "social"
     case tagManager = "tag-manager"
     case utility = "utility"
     case video = "video"
  public enum Source: String, Codable
   case network = "network"
   case source = "source"
   case console = "console"
   case logger = "logger"
   case agent = "agent"
   case webview = "webview"
   case custom = "custom"
 public struct Session: Codable
  public let hasReplay: Bool?
  public let id: String
  public let type: SessionType
  public enum SessionType: String, Codable
   case user = "user"
   case synthetics = "synthetics"
 public struct View: Codable
  public let id: String
  public let inForeground: Bool?
  public var name: String?
  public var referrer: String?
  public var url: String
public struct RUMConnectivity: Codable
 public let cellular: Cellular?
 public let interfaces: [Interfaces]
 public let status: Status
 public struct Cellular: Codable
  public let carrierName: String?
  public let technology: String?
 public enum Interfaces: String, Codable
  case bluetooth = "bluetooth"
  case cellular = "cellular"
  case ethernet = "ethernet"
  case wifi = "wifi"
  case wimax = "wimax"
  case mixed = "mixed"
  case other = "other"
  case unknown = "unknown"
  case none = "none"
 public enum Status: String, Codable
  case connected = "connected"
  case notConnected = "not_connected"
  case maybe = "maybe"
public struct RUMEventAttributes: Codable
 public internal(set) var contextInfo: [String: Encodable]
 public func encode(to encoder: Encoder) throws
 public init(from decoder: Decoder) throws
public struct RUMUser: Codable
 public let email: String?
 public let id: String?
 public let name: String?
 public internal(set) var usrInfo: [String: Encodable]
 public func encode(to encoder: Encoder) throws
 public init(from decoder: Decoder) throws
public enum RUMMethod: String, Codable
 case post = "POST"
 case get = "GET"
 case head = "HEAD"
 case put = "PUT"
 case delete = "DELETE"
 case patch = "PATCH"
public typealias RUMResourceType = RUMResourceEvent.Resource.ResourceType
public enum RUMUserActionType
 case tap
 case scroll
 case swipe
 case custom
public enum RUMErrorSource
 case source
 case network
 case webview
 case console
 case custom
public class RUMMonitor: DDRUMMonitor, RUMCommandSubscriber
 public static func initialize() -> DDRUMMonitor
 override public func startView(viewController: UIViewController,path: String?,attributes: [AttributeKey: AttributeValue])
 override public func startView(viewController: UIViewController,name: String? = nil,attributes: [AttributeKey: AttributeValue] = [:])
 override public func stopView(viewController: UIViewController,attributes: [AttributeKey: AttributeValue])
 override public func startView(key: String,name: String?,attributes: [AttributeKey: AttributeValue])
 override public func stopView(key: String,attributes: [AttributeKey: AttributeValue])
 override public func addTiming(name: String)
 override public func addError(message: String,source: RUMErrorSource,stack: String?,attributes: [AttributeKey: AttributeValue],file: StaticString?,line: UInt?)
 override public func addError(error: Error,source: RUMErrorSource,attributes: [AttributeKey: AttributeValue])
 override public func startResourceLoading(resourceKey: String,request: URLRequest,attributes: [AttributeKey: AttributeValue])
 override public func startResourceLoading(resourceKey: String,url: URL,attributes: [AttributeKey: AttributeValue])
 override public func startResourceLoading(resourceKey: String,httpMethod: RUMMethod,urlString: String,attributes: [AttributeKey: AttributeValue] = [:])
 override public func addResourceMetrics(resourceKey: String,metrics: URLSessionTaskMetrics,attributes: [AttributeKey: AttributeValue])
 override public func addResourceMetrics(resourceKey: String,fetch: (start: Date, end: Date),redirection: (start: Date, end: Date)?,dns: (start: Date, end: Date)?,connect: (start: Date, end: Date)?,ssl: (start: Date, end: Date)?,firstByte: (start: Date, end: Date)?,download: (start: Date, end: Date)?,responseSize: Int64?,attributes: [AttributeKey: AttributeValue])
 override public func stopResourceLoading(resourceKey: String,response: URLResponse,size: Int64?,attributes: [AttributeKey: AttributeValue])
 override public func stopResourceLoading(resourceKey: String,statusCode: Int?,kind: RUMResourceType,size: Int64? = nil,attributes: [AttributeKey: AttributeValue] = [:])
 override public func stopResourceLoadingWithError(resourceKey: String,error: Error,response: URLResponse?,attributes: [AttributeKey: AttributeValue])
 override public func stopResourceLoadingWithError(resourceKey: String,errorMessage: String,response: URLResponse?,attributes: [AttributeKey: AttributeValue])
 override public func startUserAction(type: RUMUserActionType, name: String, attributes: [AttributeKey: AttributeValue])
 override public func stopUserAction(type: RUMUserActionType, name: String?, attributes: [AttributeKey: AttributeValue])
 override public func addUserAction(type: RUMUserActionType, name: String, attributes: [AttributeKey: AttributeValue])
 override public func addAttribute(forKey key: AttributeKey, value: AttributeValue)
 override public func removeAttribute(forKey key: AttributeKey)
 public func flush()
public struct DDTags
 public static let resource = "resource.name"
public typealias DDTracer = Tracer
public class Tracer: OTTracer
 public static func initialize(configuration: Configuration) -> OTTracer
 public func startSpan(operationName: String, references: [OTReference]? = nil, tags: [String: Encodable]? = nil, startTime: Date? = nil) -> OTSpan
 public func startRootSpan(operationName: String, tags: [String: Encodable]? = nil, startTime: Date? = nil) -> OTSpan
 public func inject(spanContext: OTSpanContext, writer: OTFormatWriter)
 public func extract(reader: OTFormatReader) -> OTSpanContext?
 public var activeSpan: OTSpan?
 public struct Configuration
  public var serviceName: String?
  public var sendNetworkInfo: Bool
  public var globalTags: [String: Encodable]?
  public var bundleWithRUM: Bool
  public init(serviceName: String? = nil,sendNetworkInfo: Bool = false,bundleWithRUM: Bool = true,globalTags: [String: Encodable]? = nil)
public class HTTPHeadersWriter: OTHTTPHeadersWriter
 public private(set) var tracePropagationHTTPHeaders: [String: String] = [:]
 public init()
 public func inject(spanContext: OTSpanContext)
public struct SpanEvent: Encodable
 public var operationName: String
 public let serviceName: String
 public var resource: String
 public let startTime: Date
 public let duration: TimeInterval
 public let isError: Bool
 public let tracerVersion: String
 public let applicationVersion: String
 public let networkConnectionInfo: NetworkConnectionInfo?
 public let mobileCarrierInfo: CarrierInfo?
 public struct UserInfo
  public let id: String?
  public let name: String?
  public let email: String?
  public var extraInfo: [String: String]
 public var userInfo: UserInfo
 public var tags: [String: String]
 public func encode(to encoder: Encoder) throws
public protocol __URLSessionDelegateProviding: URLSessionDelegate
 var ddURLSessionDelegate: DDURLSessionDelegate
 public var ddURLSessionDelegate: DDURLSessionDelegate
 override public init()
 public init(additionalFirstPartyHosts: Set<String>)
 public func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data)
public class URLSessionInterceptor: URLSessionInterceptorType
 public static var shared: URLSessionInterceptor?
 public func modify(request: URLRequest, session: URLSession? = nil) -> URLRequest
 public func taskCreated(task: URLSessionTask, session: URLSession? = nil)
 public func taskMetricsCollected(task: URLSessionTask, metrics: URLSessionTaskMetrics)
 public func taskReceivedData(task: URLSessionTask, data: Data)
 public func taskCompleted(task: URLSessionTask, error: Error?)
