Troubleshoot iOS instrumentation for Splunk Observability Cloud 🔗
When you instrument an iOS application using the Splunk OpenTelemetry Instrumentation for iOS and you don’t see your data in Splunk Observability Cloud, follow these troubleshooting steps.
Steps for troubleshooting iOS OpenTelemetry issues 🔗
The following steps can help you troubleshoot iOS RUM library issues:
Check compatibility and requirements 🔗
See Check compatibility and requirements for a complete list of compatible versions and requirements.
Make sure you’re not using multiple tools 🔗
Some development and observability tools include functionality similar to Splunk RUM. Using multiple tools for the same purpose, for example crash reporting, might result in undefined behavior. Use only one tool for each purpose.
Activate debug logging 🔗
Activating debug logging can help you troubleshoot iOS instrumentation issues.
To activate logging, add the debug(enabled: true)
method to SplunkRumBuilder
. For example:
import SplunkOtel
//..
SplunkRumBuilder(realm: "<realm>", rumAuth: "<rum-token>")
// Call functions to configure additional options
.debug(enabled: true)
.build()
Note
Activate debug logging only when needed. Debug mode requires more resources.
iOS metrics don’t appear in Splunk RUM 🔗
If you can’t find telemetry for your iOS app in Splunk RUM, try the following:
Activate debug logging to search for simulator debug logs. See Activate debug logging.
- Make sure that the values of
rumAuth
andrealm
are defined and correct. The RUM token must be active and part of the org you are trying to send data to.
The realm must be the same as your organization’s realm.
- Make sure that the values of
To find your Splunk realm, see Note about realms.
If you’ve defined a custom beaconUrl
, make sure the value is correct.
HTTP requests don’t appear in Splunk RUM 🔗
If HTTP requests don’t appear in Splunk RUM, try the following:
Check which library you’re using. Splunk RUM doesn’t support the deprecated Apple NSURLConnection API. Splunk RUM for iOS supports libraries based on Apple URLSession, which includes other libraries like AFNetworking and AlamoFire.
Use the
ignoreUrls
setting if you already have another telemetry library or SDK configured. See General settings.Consider using Splunk RUM only for capturing network calls. More than one library or tool capturing network calls might cause issues and undefined behavior.
Crashes don’t appear in Splunk RUM 🔗
If crash information doesn’t appear in Splunk RUM, try the following:
Make sure that the crash reporting feature of Splunk RUM is the only active crash reporter. For example, if you’re also using Crashlytics, deactivate it and try again.
Make sure that you’re opening the application after a crash, so that the RUM library can send the report.
Avoid naming collisions 🔗
If your code causes a naming collision, add the module that contains the symbol you want to use. For example, if you declare a type that SplunkOtel also declares, you can add its module name as a prefix.
import SplunkOtel
//..
var a = MyModule.MyConflictingType()
Xcode can’t resolve package dependencies 🔗
If you use any of the dependencies that Splunk RUM already uses, check whether their versions can be resolved to their versioning rules. See the dependencies.txt file in the GitHub repository.
Xcode might inform you that a dependency failed to resolve. If you don’t see any versioning rule issue, close and reopen Xcode and try adding the package again.
Avoid SQLite redefinition errors 🔗
If you’re using another tool that uses SQLite, like WCDB, try replacing the use_frameworks!
line in your Podfile with use_modular_headers!
.
If you are a Splunk Observability Cloud customer and are not able to see your data in Splunk Observability Cloud, you can get help in the following ways.
Available to Splunk Observability Cloud customers
Submit a case in the Splunk Support Portal .
Contact Splunk Support .
Available to prospective customers and free trial users
Ask a question and get answers through community support at Splunk Answers .
Join the Splunk #observability user group Slack channel to communicate with customers, partners, and Splunk employees worldwide. To join, see Chat groups in the Get Started with Splunk Community manual.