When you instrument your application using the Honeycomb OpenTelemetry Swift SDK, spans automatically include a standard set of attributes. These attributes provide essential context about the environment, runtime, device, and SDK versions–helping you understand where and how telemetry is being generated.
Every span includes some core attributes.
honeycomb.distro.runtime_version
: Operating system version on the device.honeycomb.distro.version
: Version of the Honeycomb SDK in use.os.description
: String describing the OS version, build ID, and SDK level.os.name
: OS name. Always iOS
for iOS devices.os.type
: OS type. Always darwin
on Apple platforms.os.version
: Current OS Version.service.name
: Name of your application. Set via setServiceName()
or inferred from your bundle.service.version
: Version of your application. Set via setServiceVersion()
. Defaults to being inferred from your bundle.telemetry.distro.name
: Name of the Honeycomb SDK in use. Always honeycomb-opentelemetry-swift
for the Honeycomb OpenTelemetry Swift SDK.telemetry.distro.version
: Version of the Honeycomb SDK in use.telemetry.sdk.language
: Coding language for the Honeycomb SDK in use. Always swift
for the Honeycomb OpenTelemetry Swift SDK.telemetry.sdk.name
: Name of the telemetry SDK used to generate telemetry data. Always opentelemetry
for the Honeycomb OpenTelemetry Swift SDK.telemetry.sdk.version
: Version of the OpenTelemetry SDK in use.If your application uses UIKit, the SDK also includes device-level attributes from UIDevice. These give insight into the physical device running your application.
device.id
: Vendor-specific device identifier. (UIDevice.identifierForVendor)device.name
: Name of the device. (UIDevice.name)device.systemName
: Operating system (OS) name. (UIDevice.systemName)device.systemVersion
: OS version string. (UIDevice.systemVersion)device.model
: Device model name. (UIDevice.model)device.localizedModel
: Localized version of the device model. (UIDevice.localizedModel)device.userInterfaceIdiom
: Type of interface the device uses. (UIDevice.userInterfaceIdiom)device.isMultitaskingSupported
: Indicates whether the device supports multitasking. (UIDevice.isMultitaskingSupported)device.orientation
: Current device orientation. (UIDevice.orientationdevice.isLowPowerModeEnabled
: Indicates whether Low Power Mode is currently active. (UIDevice.isLowPowerModeEnabled)device.isBatteryMonitoringEnabled
: Indicates whether battery monitoring is turned on. (UIDevice.isBatteryMonitoringEnabled)device.batteryLevel
: Battery level. Included only if UIDevice.current.batteryStateAttributesEnabled
is set to true
. (UIDevice.batteryLevel)device.batteryState
: Battery state. Included only if UIDevice.current.batteryStateAttributesEnabled
is set to true
. (UIDevice.batteryState)If MetricKit is available and you’ve enabled MetricKit instrumentation, the SDK adds system performance and behavior metrics. These help identify performance bottlenecks, power usage trends, and device conditions.
metrickit.metadata.app_build_version
: (String) Application bundle version. (MXMetaData.applicationBuildVersion)
metrickit.metadata.device_type
: (String) Hardware identifier for the device. (MXMetaData.deviceType)
metrickit.metadata.is_test_flight_app
: (Bool) Indicates whether the application is registered with TestFlight. (MXMetaData.isTestFlightA)
metrickit.metadata.low_power_mode_enabled
: (Bool) Indicates whether low power mode is enabled. (MXMetaData.lowPowerModeEnabled)
metrickit.metadata.os_version
: (String) OS version, version number, and build number. (MXMetaData.osVersion)
metrickit.metadata.platform_arch
: (String) Name of the processor architecture. (MXMetaData.platformArchitecture)
metrickit.metadata.region_format
: (String) Short country code for the region format setting. (MXMetaData.regionFormat)
metrickit.metadata.pid
: (Int) Process ID of the running application. (MXMetaData.pid)
metrickit.includes_multiple_application_versions
: (Bool) Indicates whether the application version changed during the reporting window. (MXMetricPayload.includesMultipleApplicationVersions)
metrickit.latest_application_version
: (String) Application version at the end of the reporting window. (MXMetricPayload.latestApplicationVersion)
metrickit.cpu.cpu_time
: (Double) Total amount of CPU time used by the application. (MXCPUMetric.cumulativeCPUTime)
metrickit.cpu.instruction_count
: Total number of CPU instructions executed during the reporting window. (MXCPUMetric.cumulativeCPUInstructions)
metrickit.gpu.time
: (Double) Total amount of GPU time used by the application. (MXGPUMetric.cumulativeGPUTime)
metrickit.cellular_condition.bars_average
: (Double) Average cellular signal strength. (MXCellularConditionMetric.histogrammedCellularConditionTime)metrickit.app_time.foreground_time
: (Double) Total time the application spent in the foreground. (MXAppRunTimeMetric.cumulativeForegroundTime)
metrickit.app_time.background_time
: (Double) Total time the application spent in the background. (MXAppRunTimeMetric.cumulativeBackgroundTime)
metrickit.app_time.background_audio_time
: (Double) Total time playing audio while in the background. (MXAppRunTimeMetric.cumulativeBackgroundAudioTime)
metrickit.app_time.background_location_time
: (Double) Total time using location services in the background. (MXAppRunTimeMetric.cumulativeBackgroundLocationTime)
metrickit.location_activity.best_accuracy_for_nav_time
: (Double) Total time spent tracking the current location at the best accuracy for navigation. (MXLocationActivityMetric.cumulativeBestAccuracyForNavigationTime)
metrickit.location_activity.best_accuracy_time
: (Double) Total time spent tracking the current location at the best general accuracy. (MXLocationActivityMetric.cumulativeBestAccuracyTime)
metrickit.location_activity.accuracy_10m_time
: (Double) Total time spent tracking the current location to an accuracy of 10 meters. (MXLocationActivityMetric.cumulativeNearestTenMetersAccuracyTime)
metrickit.location_activity.accuracy_100m_time
: (Double) Total time spent tracking the current location to an accuracy of 100 meters. (MXLocationActivityMetric.cumulativeHundredMetersAccuracyTime)
metrickit.location_activity.accuracy_1km_time
: (Double) Total time spent tracking the current location to an accuracy of 1 kilometer. (MXLocationActivityMetric.cumulativeKilometerAccuracyTime)
metrickit.location_activity.accuracy_3km_time
: (Double) Total time spent tracking the current location to an accuracy of 3 kilometers. (MXLocationActivityMetric.cumulativeThreeKilometersAccuracyTime)
metrickit.network_transfer.wifi_upload
: (Double) Total amount of data uploaded over WiFi connection. (MXNetworkTransferMetric.cumulativeWifiUpload)
metrickit.network_transfer.wifi_download
: (Double) Total amount of data downloaded over WiFi connection. (MXNetworkTransferMetric..cumulativeWifiDownload)
metrickit.network_transfer.cellular_upload
: (Double) Total amount of data uploaded over cellular connection. (MXNetworkTransferMetric.cumulativeCellularUpload)
metrickit.network_transfer.cellular_download
: (Double) Total amount of data downloaded over cellular connection. (MXNetworkTransferMetric.cumulativeCellularDownload)
metrickit.app_launch.time_to_first_draw_average
: (Double) Average time taken to launch the application. (MXAppLaunchMetric.histogrammedTimeToFirstDraw)
metrickit.app_launch.app_resume_time_average
: (Double) Average time taken to resume the application from the background. (MXAppLaunchMetric.histogrammedApplicationResumeTime)
metrickit.app_launch.optimized_time_to_first_draw_average
: (Double) Average time for prewarmed launches. (MXAppLaunchMetric.histogrammedOptimizedTimeToFirstDraw)
metrickit.app_launch.extended_launch_average
: (Double) Average time taken to launch, including extended launch tasks. (MXAppLaunchMetric.histogrammedExtendedLaunch)
metrickit.app_responsiveness.hang_time_average
: (Double) Average amount of time the application is too busy to handle user interaction responsively. (MXAppResponsivenessMetric.histogrammedApplicationHangTime)metrickit.diskio.logical_write_count
: (Double) Total amount of data written to disk. (MXDiskIOMetric.cumulativeLogicalWrites)metrickit.memory.peak_memory_usage
: (Double) Largest amount of memory used by the application. (MXMemoryMetric.peakMemoryUsage)
metrickit.memory.suspended_memory_average
: (Double) Average amount of memory used by the application when it’s suspended. (MXMemoryMetric.averageSuspendedMemory)
metrickit.display.pixel_luminance_average
: (Double) Average amount of pixel luminosity on an OLED display. (MXDisplayMetric.averagePixelLuminance)metrickit.animation.scroll_hitch_time_ratio
: (Double) Ratio of time spent hitching while scrolling (UIScrollView). (MXAnimationMetric.scrollHitchTimeRatio)metrickit.app_exit.foreground.normal_app_exit_count
: (Int) Number of times the application exited normally from the foreground. (MXForegroundExitData.cumulativeNormalAppExitCount)
metrickit.app_exit.foreground.memory_resource_limit_exit_count
: (Int) Number of times the application was terminated from the foreground for using too much memory. (MXForegroundExitData.cumulativeMemoryResourceLimitExitCount)
metrickit.app_exit.foreground.bad_access_exit_count
: (Int) Number of times the application was terminated from the foreground for attempting an invalid memory access. (MXForegroundExitData.cumulativeBadAccessExitCount)
metrickit.app_exit.foreground.abnormal_exit_count
: (Int) Number of times the application exited abnormally from the foreground. (MXForegroundExitData.cumulativeAbnormalExitCount)
metrickit.app_exit.foreground.illegal_instruction_exit_count
: (Int) Number of times the application was terminated from the foreground for attempting to execute an illegal or undefined instruction. (MXForegroundExitData.cumulativeIllegalInstructionExitCount)
metrickit.app_exit.foreground.app_watchdog_exit_count
: (Int) Number of times the system watchdog terminated the application from the foreground. (MXForegroundExitData.cumulativeAppWatchdogExitCount)
metrickit.app_exit.background.normal_app_exit_count
: (Int) Number of times the application exited normally from the background. (MXBackgroundExitData.cumulativeNormalAppExitCount)
metrickit.app_exit.background.memory_resource_limit_exit_count
: (Int) Number of times the application was terminated from the background for using too much memory. (MXBackgroundExitData.cumulativeMemoryResourceLimitExitCount)
metrickit.app_exit.background.cpu_resource_limit_exit_count
: (Int) Number of times the application was terminated from the background for using too much CPU time. (MXBackgroundExitData.cumulativeCPUResourceLimitExitCount)
metrickit.app_exit.background.memory_pressure_exit_count
: (Int) Number of times the application was terminated from the background to free up memory. (MXBackgroundExitData.cumulativeMemoryPressureExitCount)
metrickit.app_exit.background.bad_access_exit_count
: (Int) Number of times the application was terminated from the background for attempting an invalid memory access. (MXBackgroundExitData.cumulativeBadAccessExitCount)
metrickit.app_exit.background.abnormal_exit_count
: (Int) Number of times the application exited abnormally from the background. (MXBackgroundExitData.cumulativeAbnormalExitCount)
metrickit.app_exit.background.illegal_instruction_exit_count
: (Int) Number of times the application was terminated from the background for attempting to execute an illegal or undefined instruction. (MXBackgroundExitData.cumulativeIllegalInstructionExitCount)
metrickit.app_exit.background.app_watchdog_exit_count
: (Int) Number of times the system watchdog terminated the application from the background. (MXBackgroundExitData.cumulativeAppWatchdogExitCount)
metrickit.app_exit.background.suspended_with_locked_file_exit_count
: (Int) Number of times the application was terminated from the background while being suspended and having file locks. (MXBackgroundExitData.cumulativeSuspendedWithLockedFileExitCount)
metrickit.app_exit.background.background_task_assertion_timeout_exit_count
: (Int) Number of times the application was terminated from the background for exceeding the allocated time for a background task. (MXBackgroundExitData.cumulativeBackgroundTaskAssertionTimeoutExitCount)
metrickit.diagnostic.cpu_exception.total_cpu_time
: (Double) Total CPU time used during the exception. (MXCPUExceptionDiagnostic.totalCPUTime)
metrickit.diagnostic.cpu_exception.total_sampled_time
: (Double) Total time the application was sampled during the exception. (MXCPUExceptionDiagnostic.totalSampledTime)
metrickit.diagnostic.disk_write_exception.total_writes_caused
: (Double) Total amount of data written to disk during the disk write exception. (MXDiskWriteExceptionDiagnostic.totalWritesCaused)
metrickit.diagnostic.hang.hang_duration
: (Double) Amount of time the app is busy and unable to respond to user interaction. (MXHangDiagnostic.hangDuration)
metrickit.diagnostic.crash.exception.mach_exception_type
: (Int) Mach exception type of the crash. (MXCrashDiagnostic.exceptionType)
metrickit.diagnostic.crash.exception.code
: (Int) Encoded processor-specific information for the crash. (MXCrashDiagnostic.exceptionCode)
metrickit.diagnostic.crash.exception.signal
: (Int) Signal associated with the crash. (MXCrashDiagnostic.exceptionSignal)
metrickit.diagnostic.crash.exception.objc.message
: (String) Exception message string that explains the reason for the Objective-C exception. (MXCrashDiagnosticObjectiveCExceptionReason)
metrickit.diagnostic.crash.exception.objc.type
: (String) Type of the Objective-C exception. (MXCrashDiagnosticObjectiveCExceptionReason)
metrickit.diagnostic.crash.exception.termination_reason
: (String) Reason the application was terminated as a human-readable string. (MXCrashDiagnostic.terminationReason)
metrickit.diagnostic.crash.exception.objc.name
: (String) Name of the Objective-C exception that triggered the crash. (MXCrashDiagnosticObjectiveCExceptionReason)
metrickit.diagnostic.crash.exception.objc.classname
: (String) Name of the Objective-C class in which the exception occurred. (MXCrashDiagnosticObjectiveCExceptionReason)
metrickit.diagnostic.app_launch.launch_duration
: (Double) Total duration of the application launch, measured from process start until the application is responsive. (MXAppLaunchDiagnostic.launchDuration)