既存の手動インストルメンテーションの移行 🔗
テレメトリデータを Splunk RUM に送信するために、別のベンダー用に追加した手動インストルメンテーションを移行することができます。インストルメンテーションを移行するには、OpenTelemetry の規約を使用するようにインストルメンテーションコードを編集する必要があります。
以下の例では、Splunk RUM でさまざまなデータソースをインストルメンテーションする方法を示しています:
アクションやイベントのインストルメンテーションを移行する 🔗
アプリ内のアクティビティのカスタム・タイムスタンプや時間範囲を収集するインストルメンテーションがある可能性があります。たとえば、CPU負荷の高い calculateEstateTax
関数を手動でインストルメンテーションして、そのパフォーマンスがユーザーにどのような影響を与えているかを知ることができます。
OpenTelemetry を使って同じ関数をインストルメンテーションする場合、スパン内の開始時刻と終了時刻をキャプチャするだけでなく、属性を使ってさらに詳細を含めることができます:
import {trace} from '@opentelemetry/api'
function calculateEstateTax(estate) {
const span = trace.getTracer('estate').startSpan('calculateEstateTax');
span.setAttribute('estate.jurisdictionCount', estate.jurisdictions.length);
var taxOwed = 0;
// ...
span.setAttribute('isTaxOwed', taxOwed > 0);
span.end();
return taxOwed;
}
エラーインストルメンテーションの移行 🔗
コード内で収集または処理されたエラーを報告する手動インストルメンテーションがある可能性があります。エラーを収集して Splunk RUM に報告するには、SplunkRum.error
関数を使用します:
try {
doSomething();
} catch (e) {
SplunkRum.error(e);
}
SplunkRum.error
関数は、文字列と文字列の配列、Error
と ErrorEvent
オブジェクトを受け付けます。詳しくは ブラウザRUMエージェントが収集したエラー を参照してください。