Troubleshooting Guide Document

After setting up tracking within your app, there are several methods that you can use to help monitor collection of event data or troubleshoot anomalies in the data stream. The following list is a set of options that may help you troubleshoot at various stages of your development process, and are recommendations by Oracle. Naturally, there are other software than the recommended if your organization is familiar with something else, these are just the tools we are most familiar with:

  1. Use ORALogger class setLogLevel: method to enable the logs. The default is Debug, you can also set Verbose, Info, Warn etc. This sends lots of information to the log within the IDE (Xcode). Every time an event is sent to the server, we display it in the log. You can see exactly what data is being sent.
  2. Use Fiddler to monitor events: See the Oracle support forums for more details.
  3. Set up Charles Proxy. Charles is a $40 OS X software package similar to Wireshark or Fiddler. With it, you can inspect HTTP requests and responses, looking exactly at what each contain. This only works if the app is configured to send via HTTP. If the default HTTPS is used, the data is encrypted. For testing, configure the app to hit our servers via HTTP. Charles can also be configured to stand in as a proxy server for a physical device, not just for simulators.

    Note: To use HTTP (as opposed to HTTPS) in an iOS app, you must configure your Xcode target's App Transport Security Settings to Allow Arbitrary Loads=YES. This can be changed by editing the info.plist file or setting it in the Xcode UI project settings.

  4. Alternative way; You can also set up Oracle Infinity Streams to watch events come through. If you have access to Oracle Infinity Streams, you can watch as events come through in real time and are processed by the data collection network. This can help you monitor the end result of collection tests on your SDK.