すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:ミニプログラムからユーザーエクスペリエンスデータを収集する

最終更新日:Sep 04, 2024

このトピックでは、Simple Log Service SDKを使用してミニプログラムからユーザーエクスペリエンスデータを収集する方法について説明します。

前提条件

Full-stack Observabilityインスタンスが作成され、インスタンスのバージョンは1.1.0以降です。 詳細は、インスタンスの作成をご参照ください。

インストールと初期化

このトピックでは、WeChat miniプログラムのデータを収集します。

  1. Simple Log Serviceコンソール.

  2. ログアプリケーション セクションで、インテリジェント O&M タブをクリックします。 次に、フルスタックオブザーバビリティ をクリックします。

  3. インスタンスリストで、インスタンスをクリックします。

    重要

    インスタンスのバージョンは1.1.0以降である必要があります。

  4. 左側のナビゲーションウィンドウで、[ユーザーエクスペリエンスモニタリング] > [データインポート] を選択します。

  5. [データのインポート] ダイアログボックスで、次の操作を実行します。

    1. [WeChat Mini Program] をクリックします。 そして、[次へ] をクリックします。 image

    2. 基本パラメータを設定します。

      パラメーター

      説明

      環境

      環境情報を指定すると、ミニプログラムからインスタンスに収集されたユーザーエクスペリエンスデータに環境情報が追加されます。 開発、テスト、または統合環境を指定できます。 これにより、さまざまな環境のミニプログラムから収集されたユーザーエクスペリエンスデータを区別できます。

      サービス名

      サービス名を指定すると、ミニプログラムからインスタンスに収集されたユーザーエクスペリエンスデータにサービス情報が追加されます。 Webサイト、ワークロード、または部門を指定できます。 これにより、さまざまなサービスのミニプログラムから収集されたユーザーエクスペリエンスデータを区別することができます。

      リクエストデータをレポート

      リクエストデータをレポート をオンにすると、Simple Log Service SDKは、fetchやxhrなどのAPIリクエストデータをアップロードします。

      Tracing Analysis

      Tracing Analysisをオンにすると、Simple Log Service SDKはフロントエンドとバックエンドのトレースデータをアップロードします。

      設定が完了すると、Simple Log Serviceがインストールおよび初期化スクリプトを生成します。

  1. 上記のスクリプトをコピーして、Simple Log Service SDKをインストールおよび初期化します。

    Simple Log Service SDKは、npmを使用してのみインストールできます。

    1. npmパッケージをインストールします。

      npm install @aliyun-sls/web-trace-mini
    2. SDK を初期化します。

      他の設定項目をSLS_TRACERに追加できます。 詳細については、「付録1: SLS_TRACER設定項目」をご参照ください。

      import { SLS_TRACER } from '@aliyun-sls/web-trace-mini';
      
      SLS_TRACER.init({
        host: 'cn-beijing.log.aliyuncs.com',// The endpoint of the project that you specified when you created the instance. 
        project: 'demo-test',// The project that you specified when you created the instance. 
        logstore: 'demo-test-raw', // The name of the Logstore. After the instance is created, Simple Log Service automatically creates a Logstore named {instance}-raw. 
        workspace: 'demo-test',// The name of the workspace. Enter the instance ID. 
        env:  'prod',// The custom environment. 
        service:  'miniprogram',// The name of the service. 
        enableRequest:  true,// Upload API request data. 
        enableTrace:  true // Enable trace monitoring. 
      })
  2. Simple Log Service SDKをインストールして初期化したら、テストミニプログラムにアクセスしてテストデータを生成します。

  3. Simple Log ServiceコンソールでフルスタックのObservabilityアプリケーションに戻ります。

  4. [データのインポート] ダイアログボックスで、次へ をクリックします。

  5. では、データを確認中のステップデータのインポートダイアログボックスで、データを確認中.

  6. データが有効であることを確認したら、完成 をクリックします。

カスタムイベントのアップロード

SLS_TRACER SDKは、特定のイベントの自動モニタリングをサポートし、ログをアップロードできます。

SLS_TRACER.addLog() インターフェイスは、カスタムイベントのアップロードに使用されます。 このインターフェイスはネストされたJSONデータをサポートし、JSON形式でパラメーターを指定できます。 クエリステートメントを使用して、Simple Log Serviceでアップロードされたデータをクエリおよび分析できます。 次のサンプルコードは、SLS_TRACER.addLog() インターフェイスを呼び出す方法の例を示しています。

  SLS_TRACER.addLog({
    key: 'value',
    number: 1,
    array: [],
    json: {
      json: 'json'
    }
  })

パラメータのローリング更新を実行する

シナリオによっては、uidなどの一部のユーザーパラメーターをすぐに取得できない場合があります。 SLS_TRACER SDKでは、SLS_TRACER SDKの初期化後にパラメータを動的に設定できます。 ローリング更新は、uidnicknameenvserviceversion、およびcustomパラメーターで実行できます。 次のサンプルコードは、インターフェイスを呼び出す方法の例を示しています。

SLS_TRACER.setOptions({
  uid: 'uid',
  nickname: 'newnickname',
  env: 'newEnv',
  custom: {
    c: 'newCustom',
  },
  version: 'newVersion',
  service: 'newService',
})

カスタムプラグインの設定

SLS_TRACER SDKでは、データのアップロード中にデータを変更できます。

// You must call the following interface before you initialize the SDK. 
SLS_TRACER.use({
  name: 'myPlugin',
  run: function () {
    this.subscribe(
      '*', // Subscribe to all data sources. If you want to subscribe to custom events, set the value to an asterisk (*). 
      (data, next) => {
        //
        //
        // Determine the data type based on data.otBase.t. 
        //
        //
        
        next(data) // When new data is passed to the next processor, the next(data) method must be called. Otherwise, the system stops uploading the data. 
      },
      0, // Specify the priority of custom plug-ins. The priority range is 0 to 99. 
    )
  },
})

// The data type of the data. 
export interface NotifyData<OT extends Partial<OTTrace>, Extra = Record<string, any> | undefined> {
  otBase: OT
  extra: Extra
}

付録1: SLS_TRACER設定項目

パラメーター

タイプ

必須

の説明

project

String

課金されます

「私のプロジェクト」

インスタンスの作成時に指定したプロジェクト。

host

String

課金されます

'cn -hangzhou.log.aliyuncs.com'

インスタンスの作成時に指定したプロジェクトのエンドポイント。 詳細については、「エンドポイント」をご参照ください。

logstore

String

課金されます

「my-logstore-raw」

インスタンスの作成後、Simple Log Serviceは {instance}-rawという名前のLogstoreを自動的に作成します。 {instance} はインスタンスIDを指定します。

このパラメーターをLogstoreの名前に設定する必要があります。

ワークスペース

String

課金されます

「私のワークスペース」

ワークスペースの名前を設定します。 インスタンスIDを入力します。

uid

String

課金されません

「1234556」

ユーザー ID。

ニックネーム

String

課金されません

「アリス」

ユーザーのニックネーム。

env

String

課金されません

「製品」

カスタム環境。

service

String

課金されません

「ミニプログラム」

サービスの名前です。

version

String

課金されません

'1.0.0'

バージョン番号。

custom

レコード <string, any>

課金されません

{key: 'value'}

カスタムパラメーター。

このパラメータは、ミニプログラムのカスタム情報を格納するために使用されます。 任意のタイプのJSONオブジェクトを指定できます。

trackTimeThreshold

数値

課金されません

5

データが送信される間隔。 単位は秒です。 デフォルト値:2

値0は、データが直ちに送信されることを指定する。

trackCountThreshold

数値

課金されません

20

一度に送信できるデータエントリの数。 デフォルト値は 10 です。

enableTrace

Boolean

課金されません

true

トレース機能を有効にするかどうかを指定します。

enableTraceRequestConfig

((((value: string) => boolean) | string | RegExp)[]

なし

トレース機能を有効にするリクエスト。

このパラメーターは、トレース機能を有効にする要求のタイプとURLを含む配列です。

customTraceHeaders

<string, string> を記録する

なし

トレースヘッダー。 このパラメーターは、リクエストを送信するときにカスタムトレースヘッダーを設定するために使用されます。

enableRequest

Boolean

課金されません

true

リクエストデータをアップロードするかどうかを指定します。

ignoreRequestConfig

((((value: string, status: number) => boolean) | string | RegExp)[]

なし

アップロードする必要のないリクエスト。

このパラメーターは、アップロードする必要のないリクエストのタイプとURLを含む配列です。

enableRequestBodyConfig

IEnableTrackRequestBody

なし

ボディを記録する必要があるリクエスト。 このパラメーターは、本文を記録する必要があるリクエストのタイプとURLを含むオブジェクトです。

enableRuntimeError

Boolean

課金されません

true

JavaScriptエラーのデータをアップロードするかどうかを指定します。

ignoreRuntimeErrorConfig

((((value: string) => boolean) | string | RegExp)[]

なし

ランタイム中に無視するエラー。

このパラメーターは、無視するエラーの型を含む配列です。

enableResourceError

Boolean

課金されません

true

JavaScriptリソースエラーのデータをアップロードするかどうかを指定します。

enableResourcePerf

Boolean

課金されません

true

js、css、image、audio、videoなどのリソースのパフォーマンスデータをアップロードするかどうかを指定します。

ignoreResourceConfig

((((value: string) => boolean) | string | RegExp)[]

なし

リソースを無視するリクエスト。

このパラメーターは、無視するリソースの型とURLを含む配列です。

enablePerf

Boolean

課金されません

true

ページ読み込みのパフォーマンスデータをアップロードするかどうかを指定します。

enableConsoleLog

enum

課金されません

「警告」

ログレベル。 有効な値: error、warn、log、info、debug、およびfalse。

値をinfoに設定すると、エラー、warn、およびinfoレベルのログのみが記録されます。

platformSDK

任意

課金されません

wx

小型プログラムプラットホームのためのSDK。

サポートされているプラットフォームでは、このパラメーターを空のままにします。 次のプラットフォームがサポートされています。

  • wx: WeChatミニプログラムとWeChatミニゲーム

  • my: Alipayミニプログラム

  • tt: ByteDanceミニプログラム

  • dd: DingTalkミニプログラム

  • QQ: QQミニプログラムとQQミニゲーム

  • 白鳥: Baiduミニプログラム

platformRequestName

String

課金されません

request

ミニプログラムプラットフォーム用にSDKによって送信されるリクエスト名。 WeChat miniプログラム用のSDKを使用する場合は、パラメーターをrequestに設定します。

デフォルト値: requestまたはhttpRequest。

付録2: ログフィールドの詳細

ミニプログラムのユーザ体験データ内のログフィールドは、ウェブページのユーザ体験データ内のログフィールドと同様である。 詳細については、「付録2: ログフィールドの詳細」をご参照ください。