We just integrated Dynatrace 22.214.171.1243 into our client's application (Swift 3.x project) via cocoapods as we are evaluating the possibility of using this wonderful library. We included the DTXAgentStartupPath Key in the app's info.plist file and assigned a string which relates to the server url in the following format "https://m.testdomain.fr". We inspected the keys in the 'Auto-instrumentation for iOS' documentation' and we deduced that this is the only key required to get the SDK up and running. However upon launching the app the following error is thrown into XCode's console:
[Dynatrace.m:160-1027-1] Dynatrace OneAgent (iOS) auto-startup was not successful, error code = -5
Can you please enlighten us to what's wrong and/or point us to the documentation describing the error code please?
Many thanks in advance
Solved! Go to Solution.
I used to following sources to figure out the what needed to be changed in your configurations.
"To instruct your iOS mobile app to send monitoring data to the correct Dynatrace application, add the generated application and environment IDs to your project’s
Support Ticket: https://support.dynatrace.com/supportportal/browse/SUPDT-34139
Customer needs to add the App ID in their info.plist.
Hope that helps.
Hi @David N.,
Adding the DTXApplicationID in the info.plist file as you have suggested seems to have resolved the error code -5. Many thanks for that!
I just noticed we have other warnings, such as:
- WARNING UIControl[DTXInternalActionManager.m:2380-1027-1] setCollectionViewDelegate_DTX => detected delegate inconsistency
WARNING Communications [DTXSendIntervalManager.m:65-1027-1] removed timed out action 'WebRequest(api.xxxxxxx.com):21'
Should we be worried about these? Can you point us in the right direction to fix these warnings please? I have included DTXLogLevel and set the log level to WARNING for now to resolve any such issues first.
Regarding the first warning (delegate inconsistency):
Since RxSwift does not use the default IOS delegates
instrumenting an application could lead to some of the viewController classes
or UI Controls not propagating correctly and being executed. This actually
results in RxSwift not being officially supported by Dynatrace. Here is how you
can check to see whether your application is being severely affected by this
error. You can check your console to see if you are getting any delegate proxy
errors similar to this: “Delegate proxy
is already implementing `tableView:didSelectRowAtIndexPath:`, a more performant
way of registering might exist.”.
If you are, then you would have to exclude the relevant
viewController classes or UI Controls from instrumentation by the Dynatrace
You can check the following link for information on how to
exclude them: https://support.dynatrace.com/supportportal/browse/SUP-1785
Regarding the second warning (removed timed out action):
That is most likely related to the TCP connection timeout
errors that are thrown when a connection between two processes could not be
established. This is probably just a message saying that the specific user
action timed out and Dynatrace is no longer going to track it.
The top Http requests section of Dynatrace can help you to
see if any requests are consistently failing: https://help.dynatrace.com/user-experience-monitoring/mobile-apps/how-do-i-analyze-http-performance-and-error-rates-for-mobile-apps/
The TCP connection time-out errors section can help you to
track down any wayward processes: https://help.dynatrace.com/infrastructure-monitoring/hosts-and-processes/how-do-i-monitor-network-communication/