Splunk RUM 用 iOS RUM ライブラリをインストールする 🔗
iOS RUM ライブラリを使用して iOS アプリケーションをインストルメンテーションし、Splunk RUM にデータを取り込むには、このページの手順に従ってください。Swift Package Manager、CocoaPods、または XCFramework をビルドすることでライブラリをインストールできます。
注釈
Splunk RUM for iOS のインストルメンテーションに Splunk APM は必要ありません。
使用環境で実行するバージョンを決める 🔗
最新版は、Splunk RUM が新しいバージョンをリリースするたびに自動的に更新されます。プリプロダクション環境では、latest を使用して Splunk RUM の最新バージョンを試用します。本番環境では、事前に本番環境でテストした固定バージョンを使用し、毎月のサイクルで本番バージョンを更新します。
互換性と必要条件をチェック 🔗
Splunk RUM for Mobile は以下のバージョンをサポートしています:
iOS 11以上
iPadOS 13以上
Splunk RUM は Apple Silicon をサポートしています。
ガイド付きセットアップを使用してカスタマイズされた指示を生成する 🔗
iOS アプリケーションに Splunk RUM をインストルメンテーションして設定する前に、RUM がアプリケーションについて収集するデータを理解し、監視する範囲を決定してください。Splunk RUM が収集したデータ を参照してください。
ヒント: 環境とアプリケーションの基本的なインストールコマンドをすべて生成するには、iOS Instrumentation ガイド付きセットアップを使用します。iOS Instrumentationガイド付きセットアップにアクセスするには、以下の手順に従います:
Splunk Observability Cloud にログインします。
ナビゲーションメニューで、
を選択します。Available integrations タブにアクセスするか、Deployed integrations タブで Add Integration を選択します。
インテグレーションフィルターメニューで、By Use Case を選択します。
Monitor user experience ユースケースを選択します。
iOS Instrumentation タイルを選択し、iOS Instrumentation ガイド付きセットアップを開きます。
iOS RUMライブラリを手動でインストールする 🔗
iOS RUMライブラリを手動でインストールするには、以下の手順に従ってください:
Xcodeで依存関係を追加する 🔗
iOS RUMパッケージをプロジェクトに追加するには、依存関係マネージャの手順に従ってください。XCFrameworkをビルドするには、XCFrameworkの構築 を参照してください。
Swift Package Manager (SPM) 🔗
Swift Package Manager (SPM) を使って iOS RUM ライブラリをインストールするには、以下の手順に従ってください:
Xcode で、 File を選択し、Add Packages… または File を選択し、Swift Packages を選択し、Add Package Dependency を選択し、検索バーに以下の URL を入力します:
https://github.com/signalfx/splunk-otel-ios
Add Package を選択してパッケージをインストールします。
注釈
CocoaPodsも使用している場合は、ワークスペースのPodsプロジェクトではなく、アプリのプロジェクトにSPMパッケージを追加します。
CocoaPods 🔗
CocoaPodsを使用してiOS RUMライブラリをインストールするには、以下の手順に従ってください:
プロジェクトがCocoaPodsを使用していることを確認してください。
Podfile に
pod 'SplunkOtel
を追加します。Podfileがあるディレクトリで
pod install --repo-update
を実行します。ポッドをインストールしたら、.xcodeprojファイルではなく、.xcworkspaceファイルを開くようにしてください。
iOS RUMパッケージを初期化する 🔗
以下の手順に従って、iOS RUMパッケージを初期化してください。
iOS RUMライブラリを設定パラメータで初期化します:
import SplunkOtel //.. SplunkRumBuilder(realm: "<realm>", rumAuth: "<rum-token>") // Call functions to configure additional options .deploymentEnvironment(environment: "<environment>") .setApplicationName("<your_app_name>") .build()
@import SplunkOtel; SplunkRumBuilder *builder = [[SplunkRumBuilder alloc] initWithRealm:@"<realm>" rumAuth: @"<rum-token>"]]; [builder deploymentEnvironmentWithEnvironment:@"<environment-name>"]; [builder setApplicationName:@"<your_app_name>"]; [builder build];
realm
は Splunk Observability Cloud レルムで、例えばus0
です。Splunk レルムを見つけるには、レルムに関する注意 を参照してください。RUM アクセストークンを生成するには、Generate your RUM access token in Splunk Observability Cloud を参照してください。
変更をアプリケーションにデプロイします。
クラッシュレポートの有効化 🔗
Splunk iOS クラッシュレポートモジュールは、PLCrashReporter を使用して iOS RUM ライブラリにクラッシュレポートを追加します。
注意
iOS RUM ライブラリのクラッシュレポートを有効にする前に、アプリケーション内の他のクラッシュレポートパッケージまたはライブラリを無効にしてください。既存のクラッシュレポート機能は、ビルドの失敗を含む予期しない結果を生成する可能性があります。
iOS RUMライブラリでクラッシュレポートを有効にするには、以下の手順に従ってください。
依存関係を追加する 🔗
iOS Crash Reportingパッケージをプロジェクトに追加するには、パッケージ・マネージャーの手順に従ってください。
Swift Package Manager (SPM) 🔗
Swift Package Manager (SPM) を使って iOS RUM ライブラリをインストールするには、以下の手順に従ってください:
Xcode で、 File を選択し、Add Packages… または File を選択し、Swift Packages を選択し、Add Package Dependency を選択し、検索バーに以下の URL を入力します:
https://github.com/signalfx/splunk-otel-ios-crashreporting
Add Package を選択してパッケージをインストールします。
CocoaPods 🔗
CocoaPodsを使用してiOS Crash Reportingパッケージをインストールするには、以下の手順に従います:
プロジェクトがCocoaPodsを使用していることを確認してください。
Podfile に
pod 'SplunkOtelCrashReporting
を追加します。Podfileがあるディレクトリで
pod install --repo-update
を実行します。ポッドをインストールしたら、.xcodeprojファイルではなく、.xcworkspaceファイルを開くようにしてください。
クラッシュレポートの初期化 🔗
設定パラメータでクラッシュレポートモジュールを初期化します:
import SplunkOtel
import SplunkOtelCrashReporting
import SplunkOtel
//..
SplunkRumBuilder(realm: "<realm>", rumAuth: "<rum-token>")
.deploymentEnvironment(environment: "<environment>")
.setApplicationName("<your_app_name>")
.build()
// Initialize crash reporting module after the iOS agent
SplunkRumCrashReporting.start()
@import SplunkOtel;
@import SplunkOtelCrashReporting;
//...
SplunkRumBuilder *builder = [[SplunkRumBuilder alloc] initWithRealm:@"<realm>" rumAuth: @"<rum-token>"]];
[builder deploymentEnvironmentWithEnvironment:@"<environment-name>"];
[builder setApplicationName:@"<your_app_name>"];
[builder build];
// Initialize crash reporting module after the iOS agent
[SplunkRumCrashReporting start]
realm
は Splunk Observability Cloud レルムで、例えばus0
です。Splunk レルムを見つけるには、レルムに関する注意 を参照してください。RUM アクセストークンを生成するには、Generate your RUM access token in Splunk Observability Cloud を参照してください。
注釈
シンボリケーションには対応していません。
XCFrameworkの構築 🔗
iOS RUM Agentをフレームワークとしてプロジェクトにインポートしたい場合は、以下の手順に従ってください:
ビルド設定を確認する
splunk-otel-ios リポジトリをクローンし、Xcode で SplunkRumWorkspace.xcworkspace ファイルを開きます。
SplunkOtel
ターゲットの Build Settings タブに移動し、以下の設定があることを確認します:
インストールをスキップ :いいえ
配布用ライブラリのビルド :はい
新しいアーカイブディレクトリを作成する
ターミナルを開き、SplunkRum.xcodeproj ファイルがあるディレクトリに移動します。例、SplunkRumWorkspace/SplunkRum
。
以下のコマンドを実行して、SplunkRum-iOS.xcarchive
ファイルを含む新しいアーカイブ ディレクトリを作成します:
xcodebuild archive -project SplunkRum.xcodeproj -scheme SplunkOtel -destination "generic/platform=iOS" -archivePath "archives/SplunkRum-iOS"
シミュレーターのプラットフォームでもこのプロセスを繰り返します:
xcodebuild archive -project SplunkRum.xcodeproj -scheme SplunkOtel -destination "generic/platform=iOS Simulator" -archivePath "archives/SplunkRum-iOS_Simulator"
新しいXCFrameworkを作成します。
以下のコマンドを実行し、XCFrameworkを作成します:
xcodebuild -create-xcframework -archive archives/SplunkRum-iOS.xcarchive -framework SplunkOtel.framework -archive archives/SplunkRum-iOS_Simulator.xcarchive -framework SplunkOtel.framework -output xcframeworks/SplunkOtel.xcframework
プロジェクトにXCFrameworkをインポートします。
Xcode でプロジェクトを開き、SplunkOtel.xcframework ファイルをプロジェクトナビゲーターにドラッグします。これで自動的にフレームワークがインポートされます。フレームワークを使用しているターゲットの General タブを開き、Embed プロパティを Embed & Sign に設定します。
RUM と Splunk APM をリンクする 🔗
Splunk RUM は、サーバータイミングを使用してアプリケーションのフロントエンドとバックエンド間の応答時間を計算し、フロントエンドとバックエンドのトレースを結合してエンドツーエンドを可視化します。
デフォルトでは、OpenTelemetry の Splunk ディストリビューションはすでに Server-Timing
ヘッダーを送信しています。このヘッダーはブラウザからのスパンとバックエンドのスパンおよびトレースをリンクします。
Server-Timing
ヘッダーを制御するための APM 環境変数は SPLUNK_TRACE_RESPONSE_HEADER_ENABLED
です。Splunk APM にリンクするには SPLUNK_TRACE_RESPONSE_HEADER_ENABLED=true
を設定します。
ブラウザ RUMライブラリを使用したiOS WebViewのインストルメンテーション 🔗
モバイルRUMインストルメンテーションとブラウザRUMインストルメンテーションを同時に使用して、RUMデータを1つのストリームにまとめて見ることができます。これは、両方のインストルメンテーション間で splunk.rumSessionId
を共有することで実現できます。
次の Swift のスニペットは、iOS RUM を Splunk ブラウザ RUM と統合する方法を示しています:
import WebKit
import SplunkOtel
...
/*
Make sure that the WebView instance only loads pages under
your control and instrumented with Splunk Browser RUM. The
integrateWithBrowserRum() method can expose the splunk.rumSessionId
of your user to every site/page loaded in the WebView instance.
*/
let webview: WKWebView = ...
SplunkRum.integrateWithBrowserRum(webview)
収集前に属性を変更する 🔗
個人を特定できる情報(PII)など、スパンの属性を削除または変更するには、スパンをフィルターする を参照してください。
貢献する方法 🔗
Splunk OpenTelemetry Instrumentation for iOS はオープンソースソフトウェアです。GitHub でプルリクエストを作成することで、その改善に貢献することができます。詳細については、GitHub の 貢献ガイドライン を参照してください。
次のステップ 🔗
カスタム属性の追加、環境やアプリケーションに合わせたインストルメンテーション、サンプリングのカスタマイズなどについては、Splunk iOS RUM インストルメンテーションを設定する を参照してください。
データが Splunk RUM for Mobile インスタンスにあることを確認するには、データが入力されていることを確認する を参照してください。
トラブルシューティングするには、Splunk Observability Cloud の iOS インストルメンテーションのトラブルシューティング を参照してください。