全部产品
Search
文档中心

Application Real-Time Monitoring Service:Contoh konfigurasi SDK RUM untuk aplikasi web dan HTML5

更新时间:Nov 11, 2025

Real User Monitoring (RUM) SDK untuk web dan HTML5 dari Application Real-Time Monitoring Service (ARMS) menyediakan berbagai konfigurasi kustom untuk memenuhi kebutuhan bisnis Anda. Topik ini menjelaskan konfigurasi SDK umum untuk aplikasi web dan HTML5 sebagai referensi.

Parameter SDK

Parameter

Tipe

Deskripsi

Diperlukan

Nilai default

pid

String

ID aplikasi.

Ya

-

endpoint

String

Alamat ke mana data pemantauan dilaporkan.

Ya

-

env

String

Lingkungan aplikasi. Nilai yang valid:

  • prod: lingkungan produksi

  • gray: lingkungan rilis canary

  • pre: lingkungan pra-rilis

  • daily: lingkungan harian

  • local: lingkungan lokal

Tidak

prod

version

String

Versi aplikasi.

Tidak

-

user

Object

Pengaturan pengguna. Secara default, ID pengguna (user.id) dibuat oleh RUM SDK.

Tidak

-

spaMode

String

Menentukan apakah akan memantau peristiwa halaman dan melaporkan tampilan halaman lagi. Parameter ini berlaku untuk aplikasi satu halaman (SPA). Nilai yang valid:

  • hash

  • history

  • auto

  • false

Tidak

false

beforeReport

Fungsi

Fungsi yang dipanggil sebelum melaporkan data untuk memodifikasi atau memblokir data yang dilaporkan.

Tidak

-

reportConfig

Object

Pengaturan pelaporan data. Untuk informasi lebih lanjut, lihat bagian parameter reportConfig.

Tidak

-

sessionConfig

Object

Untuk informasi lebih lanjut tentang konfigurasi sesi, seperti pengambilan sampel dan penyimpanan, lihat bagian SessionConfig.

Tidak

-

collectors

Object

Pengaturan Collector.

Tidak

-

parseViewName

Fungsi

Fungsi yang digunakan untuk mengurai nama tampilan (view.name). Parameter input adalah URL halaman.

Tidak

-

parseResourceName

Fungsi

Fungsi yang digunakan untuk mengurai nama sumber daya (resource.name). Parameter input adalah URL sumber daya.

Tidak

-

evaluateApi

Fungsi

Fungsi yang digunakan untuk mengurai peristiwa API. Untuk informasi lebih lanjut, lihat bagian parameter EvaluateApi.

Tidak

-

filters

Object

Pengaturan filter peristiwa. Untuk informasi lebih lanjut, lihat bagian parameter filters.

Tidak

-

whiteScreen

Object

Fungsi yang digunakan untuk mengonfigurasi pemantauan layar putih. Untuk informasi lebih lanjut, lihat bagian parameter WhiteScreen.

Tidak

-

properties

Object

Properti kustom yang berlaku untuk semua peristiwa. Untuk informasi lebih lanjut, lihat bagian parameter properties.

Tidak

-

remoteConfig

Object

Konfigurasi dinamis. Untuk informasi lebih lanjut, lihat bagian Konfigurasi Dinamis.

Tidak

-

Jika Anda menggunakan Content Delivery Network (CDN) Alibaba Cloud untuk mengakses aplikasi, pastikan bahwa aplikasi berada di namespace global RumSDK.default.

const ArmsRum = window.RumSDK.default;
// Sebelum menggunakan RUM SDK, pastikan bahwa SDK telah dimuat.
// Jika konfigurasi __rum tidak didefinisikan sebelum SDK dimuat, Anda dapat menginisialisasi konfigurasi di sini.
ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
});
// Inisialisasi melalui paket NPM atau pemuatan CDN adalah sama.
ArmsRum.setConfig('env', 'pre');

Parameter Pengguna

Parameter

Tipe

Deskripsi

Diperlukan

Nilai default

id

String

ID pengguna, yang dibuat oleh SDK dan tidak dapat diubah.

Tidak

-

tags

String

Tag.

Tidak

-

name

String

Nama pengguna.

Tidak

-

Contoh

Catatan

Untuk mengaitkan pengguna dengan sistem akun bisnis Anda, gunakan user.name atau user.tags. Nilai user.id dihasilkan secara otomatis oleh SDK dan tidak dapat diubah. Menimpa user.id akan memengaruhi perhitungan UV.

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  user: {
    name: 'your user.name',
    tags: 'your user.tags',
  },
});

parameter reportConfig

Parameter

Tipe

Deskripsi

Diperlukan

Nilai default

flushTime

Number

Interval waktu pelaporan data.

Nilai valid: 0 hingga 10000.

Tidak

3000

maxEventCount

Number

Jumlah maksimum entri data yang dilaporkan dalam satu waktu.

Nilai valid: 1 hingga 100.

Tidak

20

Contoh

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  reportConfig: {
    flushTime: 0, // Tentukan bahwa data dilaporkan secara langsung.
    maxEventCount: 50, // Tentukan jumlah maksimum entri data yang dilaporkan dalam satu waktu.
  },
});

parameter sessionConfig

Parameter

Tipe

Deskripsi

Diperlukan

Nilai default

sampleRate

Number

Tingkat pengambilan sampel. Nilai valid: 0 hingga 1.

Nilai 0,5 menentukan tingkat pengambilan sampel 50%.

Tidak

1

maxDuration

Number

Durasi maksimum sesi. Satuan: milidetik. Nilai default: 86400000 (24 jam).

Tidak

86400000

overtime

Number

Periode timeout sesi. Satuan: milidetik. Nilai default: 3600000 (1 jam).

Tidak

3600000

storage

String

Lokasi penyimpanan data terkait sesi. Nilai valid:

  • cookie

  • localStorage

Tidak

localStorage

Parameter storage menyimpan user.id dan informasi sesi:

  • _arms_uid: ID pengguna unik (user.id).

  • _arms_session: informasi sesi semantik.

    • sessionId: ID sesi unik.

    • sampled: menentukan apakah pengambilan sampel dipicu.

    • startTime: timestamp awal sesi.

    • lastTime: timestamp ketika sesi terakhir aktif.

`${sessionId}-${sampled}-${startTime}-${lastTime}`

Contoh

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  sessionConfig: {
    sampleRate: 0.5, // Tingkat pengambilan sampel adalah 50%.
    maxDuration: 86400000,
    overtime: 3600000,
    storage: 'cookie',
  },
});

Parameter Kolektor

SDK menggunakan kolektor, seperti api dan static Resource, untuk mengumpulkan data pemantauan halaman.

Parameter

Tipe

Deskripsi

Diperlukan

Nilai default

perf

Boolean | Object

Melacak data performa aplikasi.

Tidak

true

webvitals

Boolean | Object

Melacak data Web Vitals aplikasi.

Tidak

true

api

Boolean | Object

Melacak permintaan API.

Tidak

true

staticResource

Boolean | Object

Melacak permintaan sumber daya statis.

Tidak

true

consoleError

Boolean | Object

Melacak kesalahan Console.

Tidak

true

jsError

Boolean | Object

Melacak kesalahan JavaScript.

Tidak

true

action

Boolean | Object

Melacak perilaku pengguna.

Tidak

true

Contoh

Dalam contoh berikut, pengumpulan data interaksi pengguna dinonaktifkan.

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  collectors: {
    action: false,
  },
});

parameter EvaluateApi

Fungsi evaluateApi menyediakan penguraian kustom untuk peristiwa XMLHttpRequest dan fetch.

Parameter

Tipe

Deskripsi

options

Object

Parameter permintaan, termasuk url, headers, dan data. Parameter bergantung pada metode permintaan.

response

Object

Badan respons dari permintaan.

error

Error

Kesalahan. Parameter ini opsional dan hanya tersedia ketika permintaan gagal.

Fungsi ini dapat dipanggil secara asinkron. Promise<IApiBaseAttr> dikembalikan. Tabel berikut menjelaskan IApiBaseAttr.

Parameter

Tipe

Deskripsi

Diperlukan

name

String

Nama API, yang umumnya merupakan URL terkonvergensi dan dapat memiliki panjang hingga 1.000 karakter.

Misalkan URL adalah /list/123, maka bidang name akan ditampilkan sebagai /list/$id.

Penting

Field ini mengambil prioritas lebih tinggi daripada apa yang dikembalikan oleh fungsi parseResourceName.

Tidak

message

String

Sebuah string singkat yang digunakan untuk mendeskripsikan API, yang dapat memiliki panjang hingga 1.000 karakter.

Tidak

success

Number

Menunjukkan apakah permintaan berhasil. Nilai valid:

  • 1: Permintaan berhasil.

  • 0: Permintaan gagal.

  • -1: Status permintaan tidak diketahui.

Tidak

duration

Number

Total durasi API.

Tidak

status_code

Number | String

Kode status.

Tidak

snapshots

String

Snapshot.

Catatan

Snapshot menyimpan informasi tentang reqHeaders, params, dan resHeaders. Anda dapat menyesuaikan field yang menyusun snapshot. Snapshot terutama digunakan untuk mendiagnosis pengecualian. Snapshot tidak dapat dikonfigurasi sebagai kondisi filter untuk query atau agregasi karena tidak memiliki indeks. Hanya bisa berupa string dengan maksimal 5.000 karakter.

Tidak

Contoh

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  evaluateApi: async (options, response, error) => {
    let respText = '';
    // Periksa hasil permintaan.
    if (response && response.text) {
      respText = await response.text();
    }
    // Field yang dikembalikan akan menimpa konten default. Jika field tidak dikembalikan, konten default digunakan.
    return {
      name: 'my-custom-api',
      success: error ?  0 : 1,
      // Opsional.
      snapshots: JSON.stringify({
        params: 'page=1&size=10', // Parameter input.
        response: respText.substring(0, 2000), // Nilai yang dikembalikan.
        reqHeaders: '', // Header permintaan.
        resHeaders: '', // Header respons.
      }),
      properties: {
        prop_msg: 'custom msg',
        prop_num: 1,
      },
    };
  },
});

parameter filter

Parameter filters mengecualikan peristiwa sumber daya atau pengecualian yang tidak perlu dilaporkan.

Parameter

Tipe

Deskripsi

Diperlukan

resource

MatchOption | MatchOption[]

Mengecualikan peristiwa terkait sumber daya statis dan API seperti XMLHttpRequest atau fetch yang tidak perlu dilaporkan.

Tidak

exception

MatchOption | MatchOption[]

Mengecualikan peristiwa pengecualian yang tidak perlu dilaporkan.

Tidak

MatchOption

type MatchOption = string | RegExp | ((value: string) => boolean);
  • string: cocokkan URL apa pun yang dimulai dengan nilai yang ditentukan. Contoh: https://api.aliyun.com. Dalam hal ini, https://api.aliyun.com/v1/resource dapat dicocokkan.

  • RegExp: tentukan ekspresi reguler dan URL.

  • function: gunakan fungsi untuk menentukan apakah URL cocok. Jika true dikembalikan, URL cocok.

Ketika input adalah MatchOption[], kondisi sebelumnya dievaluasi secara berurutan, dan akan dikecualikan jika salah satu kondisi terpenuhi.

Contoh

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  filters: {
    // Kecualikan peristiwa pengecualian.
    exception: [
      'Test error', // Pesan kesalahan yang dimulai dengan 'Test error'.
      /^ Script error\.?$/, // Pesan kesalahan yang cocok dengan ekspresi reguler.
      (msg) => {
        return msg.includes('example-error');
      },
    ],
    // Kecualikan peristiwa sumber daya atau API.
    resource: [
      'https://example.com/', // Sumber daya yang dimulai dengan 'https://example.com/'
      /localhost/i,
      (url) => {
        return url.includes('example-resource');
      },
    ],
  },
});

parameter whiteScreen

Parameter whiteScreen hanya didukung oleh browser, seperti Chrome 40 dan IE 9+.

Parameter

Tipe

Deskripsi

detectionRules

Array<DetectionRule>

Tentukan satu atau beberapa aturan untuk mendeteksi browser berdasarkan urutan konfigurasi aturan dan penundaan.

DetectionRule

Parameter

Tipe

Diperlukan

Deskripsi

Nilai default

target

String

Ya

Tentukan elemen yang akan dideteksi. Deteksi dilakukan di area yang sesuai dengan pemilih.

Tidak ada

test_when

Array

Ya

Tentukan peristiwa yang dapat memicu deteksi. Nilai valid:

  • LOAD: Pemuatan halaman selesai.

  • ERROR: Terjadi kesalahan JavaScript global.

  • ROUTE_CHANGE: Sejarah rute atau karakter hash telah berubah.

  • LEAVE: Halaman akan segera ditutup.

Tidak ada

delay

Number

Tidak

Tentukan periode waktu sistem harus menunggu setelah peristiwa kecuali ERROR dan LEAVE terjadi. Kemudian, deteksi dimulai. Parameter ini digunakan bersama dengan parameter test_when. Satuan: milidetik.

0

tester

String | Function

Ya

Tentukan metode deteksi. Nilai valid:

  • HAS_CONTENT: metode bawaan yang digunakan untuk memeriksa apakah node ada dan berisi textContent.

  • SAMPLE: metode bawaan yang digunakan untuk menetapkan titik sampling dan menentukan apakah elemen DOM teratas di titik sampling termasuk dalam koleksi elemen yang diberikan untuk menghitung tingkat layar putih.

  • SCREENSHOT: metode bawaan yang digunakan untuk mengambil tangkapan layar canvas dan membandingkan piksel untuk menghitung tingkat layar putih.

  • Fungsi deteksi kustom: menggunakan elemen sebagai parameter input. CustomTesterResult atau Promise<CustomTesterResult> dikembalikan. Informasi tentang tipe CustomTesterResult ada di bawah tabel.

Tidak ada

ignoreUrlList

Array<String>

Tidak

Daftar URL halaman yang tidak perlu dideteksi.

[]

configOptions

ConfigOptions

Tidak

Opsi parameter tester:

Lihat bagian parameter ConfigOptions.

CustomTesterResult:

type CustomTesterResult = {
  /**
   * Menunjukkan apakah konten ada. `true` menunjukkan bahwa konten ada. Jika tidak, layar putih telah terjadi.
   */
  hasContent: boolean;

  /**
   * Pesan kesalahan
   */
  message?: string;

  /**
   * Data snapshot dari pengecualian
   */
  snapshot?: Record<string, any>;
}

ConfigOptions

Parameter ConfigOptions hanya tersedia untuk metode deteksi terkait.

Parameter

Tipe

Metode terkait

Deskripsi

Nilai default

colorRange

Array<String>

SCREENSHOT

Sekumpulan warna yang dianggap sebagai layar putih. Ini menentukan apakah blok piksel saat ini "sepenuhnya putih" selama perbandingan piksel. Format: rgb(r, g, b).

['rgb(255, 255, 255)']

fillColor

String

SCREENSHOT

Warna isian. Selama pengambilan tangkapan layar, pengisian blok warna diterapkan pada elemen seperti gambar, video, canvas, SVG, dan iframe. Warna isian tidak boleh salah satu warna yang dikonfigurasi oleh parameter colorRange.

'rgba(0, 100, 200, 255)'

horizontalOffset

Number

SCREENSHOT

Ofset horizontal tepi kiri area deteksi layar putih relatif terhadap tepi kiri elemen target. Digunakan untuk menyaring menu kiri elemen target.

0

verticalOffset

Number

SCREENSHOT

Ofset vertikal tepi atas area deteksi layar putih relatif terhadap tepi atas elemen target. Digunakan untuk menyaring bilah atas elemen target.

0

pixels

Number

SCREENSHOT

Ukuran blok piksel yang digunakan untuk deteksi layar putih. Ukuran setiap blok adalah pixels × pixels.

10

threshold

Number

SCREENSHOT

SAMPLE

Ambang batas laju layar putih. Jika laju layar putih melebihi ambang batas, layar putih telah terjadi.

0.8

dpr

Number

SCREENSHOT

Rasio penskalaan gambar snapshot.

0.3

ignoreElements

Array<String>

SCREENSHOT

Pemilih Cascading Style Sheets (CSS) dari elemen yang akan diabaikan saat mengambil tangkapan layar untuk deteksi.

[]

sampleMethod

1 | 2 | 3

SAMPLE

Metode pengambilan sampel. Nilai valid:

  • 1: sampling silang

  • 2: sampling silang berpotongan

  • 3: sampling beras

2

checkPoints

Number

SAMPLE

Jumlah titik sampel radial.

  • Untuk sampling silang atau sampling silang berpotongan, jumlah total titik sampling adalah 4 × checkPoints +1.

  • Untuk sampling beras, jumlah total titik sampling adalah 8 × checkPoints +1.

10

whiteBoxElements

Array<String>

SAMPLE

Daftar pemilih CSS untuk elemen layar putih. Ketika elemen DOM tingkat atas pada titik sampel cocok dengan salah satu pemilih ini, jumlah layar putih bertambah.

[]

debug

Boolean

SCREENSHOT

SAMPLE

Menentukan apakah mode debug diaktifkan. Dalam mode debug, informasi deteksi yang dicetak ditampilkan di alat pengembang.

false

Contoh

SCREENSHOT

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  whiteScreen: {
    detectionRules: [{
      target: '#root',
      test_when: ['LOAD', 'ERROR', 'ROUTE_CHANGE', 'LEAVE'],
      delay: 5000,
      tester: 'SCREENSHOT',
      configOptions: {
        colorRange: ['rgb(255, 255, 255)', 'rgb(0, 0, 0)'],
        threshold: 0.9,
        pixels: 10,
        horizontalOffset: 210,
        verticalOffset: 50,
      },
    }],
  },
});

SAMPLE

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  whiteScreen: {
    detectionRules: [{
      target: '#root',
      test_when: ['LOAD', 'ERROR', 'ROUTE_CHANGE', 'LEAVE'],
      delay: 5000,
      tester: 'SAMPLE',
      configOptions: {
        sampleMethod: 2,
        checkPoints: 10,
        threshold: 0.9,
        whiteBoxElements: ['.el-skeleton'],
      },
    }],
  },
});

CUSTOM

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  whiteScreen: {
    detectionRules: [{
      target: '#root',
      test_when: ['LOAD', 'ERROR', 'ROUTE_CHANGE', 'LEAVE'],
      delay: 5000,
      tester: async (element) => {
        // Fungsi deteksi kustom
        return {
          hasContent: false,
          message: 'Pesan kesalahan kustom',
          snapshot: {
            // Pasangan nilai kunci kustom
            checkPoints: 100,
            rate: 0.99,
            checkdata: '......',
          },
        };
      },
    }],
  },
});

parameter properti

Properti yang disediakan oleh RUM dapat dikonfigurasi untuk semua peristiwa.

Parameter

Tipe

Deskripsi

Diperlukan

[key: string]

String | Number

  • Kunci harus berupa string yang sesuai dengan spesifikasi JSON. Panjang maksimum kunci adalah 50 karakter. Bagian yang melebihi panjang akan dipotong.

  • Jika nilainya adalah string, panjang maksimumnya adalah 2.000 karakter. Jika nilainya bukan string atau angka, pasangan kunci-nilai akan dihapus.

Tidak

Anda dapat menggunakan evaluateApi, sendCustom, sendException, dan sendResource untuk menambahkan properti ke suatu peristiwa. Properti tersebut hanya berlaku untuk peristiwa tersebut.

Properti global dan properti peristiwa digabungkan saat disimpan. Properti peristiwa memiliki prioritas lebih tinggi daripada properti global. Jika kunci yang sama digunakan saat penggabungan, properti peristiwa akan menimpa properti global. Jumlah pasangan kunci-nilai tidak boleh melebihi 20 setelah penggabungan. Jika jumlahnya melebihi 20, pasangan tersebut diurutkan berdasarkan kunci dan yang berlebih akan dihapus.

Contoh

Properti yang dikonfigurasi secara global dilampirkan ke semua peristiwa yang dilaporkan.

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  properties: {
    prop_string: 'xx',
    prop_number: 2,
    // Jika panjang kunci atau nilai melebihi batas, bagian yang berlebih akan dihapus.
    more_than_50_key_limit_012345678901234567890123456789: 'yy',
    more_than_2000_value_limit: new Array(2003).join('1'),
    // Pasangan kunci-nilai berikut yang tidak valid akan dihapus.
    prop_null: null,
    prop_undefined: undefined,
    prop_bool: true,
  },
});

Konfigurasi Dinamis

RUM mendukung pengiriman dinamis konfigurasi koleksi dan pelaporan SDK. Konfigurasi dinamis ini dimuat oleh SDK selama pemuatan awal aplikasi dan akan menimpa konfigurasi statis yang ditetapkan selama inisialisasi SDK. Implementasinya terdiri dari dua bagian: konsol dan SDK.

Konfigurasi Konsol

Sebelum mengaktifkan konfigurasi dinamis, klik Application List, masuk ke halaman detail aplikasi, dan pilih Pengaturan Aplikasi > Konfigurasi SDK untuk mengonfigurasinya di konsol ARMS.

Setelah menyelesaikan konfigurasi dan pengujian, klik Konfirmasi Pembaruan Konfigurasi Dinamis untuk mendorong dan menyimpan konfigurasi di server OSS jarak jauh.

Konfigurasi SDK

Untuk mengaktifkan pengiriman konfigurasi dinamis, Anda juga perlu menambahkan bidang remoteConfig dalam konfigurasi inisialisasi SDK. Saat inisialisasi, SDK akan mengambil konfigurasi jarak jauh dari OSS berdasarkan bidang ini dan memperbarui fitur seperti instrumentasi dan pelaporan data sesuai dengan itu.

Inisialisasi SDK melalui CDN:

window.__rum = {
  pid: "your app id",
  endpoint: "your endpoint",
  remoteConfig: {
    // Tentukan wilayah tempat aplikasi web di-hosting, misalnya Singapura adalah ap-southeast-1.
    region: "cn-hangzhou"
  }
};
// Muat SDK melalui CDN
<script async src="https://xxid-sdk.rum.aliyuncs.com/v2/browser-sdk.js"></script>

Inisialisasi SDK melalui paket NPM:

import ArmsRum from '@arms/rum-browser';

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  remoteConfig: {
    // Tentukan wilayah tempat aplikasi web di-hosting, misalnya Singapura adalah ap-southeast-1.
    region: "cn-hangzhou"
  }
});

Setelah SDK mengambil konfigurasi jarak jauh, konfigurasi tersebut tidak hanya diterapkan segera tetapi juga disimpan secara lokal, sehingga SDK dapat memprioritaskan menggunakan konfigurasi yang di-cache pada inisialisasi berikutnya.

Catatan: Jika SDK diimpor sebagai paket NPM atau melalui CDN dengan versi yang ditentukan, pastikan versinya 0.0.37 atau lebih tinggi untuk mengaktifkan konfigurasi dinamis.

Parameter Lainnya

SDK RUM memungkinkan Anda mengonfigurasi properti umum yang diselesaikan berdasarkan alamat IP dan UserAgent. Bidang yang dikonfigurasi secara proaktif memiliki prioritas lebih tinggi daripada bidang yang diselesaikan secara otomatis.

Parameter

Tipe

Deskripsi

Diperlukan

device

Object

Informasi perangkat.

Tidak

os

Object

Informasi sistem dan kontainer.

Tidak

geo

Object

Informasi geolokasi.

Tidak

isp

Object

Informasi penyedia layanan internet.

Tidak

net

Object

Informasi jaringan.

Tidak

Untuk informasi lebih lanjut tentang item konfigurasi terkait bidang di atas, lihat bagian Properti Umum dari topik "Data Log".

Contoh

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  geo: {
    country: 'info negara kustom Anda',
    city: 'info kota kustom Anda',
  },
});

API SDK

SDK RUM menyediakan API untuk memodifikasi dan melaporkan data kustom serta memodifikasi konfigurasi SDK secara dinamis.

getConfig

Gunakan fungsi ini untuk mendapatkan konfigurasi SDK.

setConfig

Gunakan fungsi ini untuk memodifikasi konfigurasi SDK.

// Tetapkan jenis lingkungan.
ArmsRum.setConfig('env', 'pre');

// Berikut ini mungkin tertimpa.
const config = ArmsRum.getConfig();
ArmsRum.setConfig({
  ...config,
  version: '1.0.0',
  env: 'pre',
});

sendCustom

Untuk melaporkan peristiwa kustom, Anda harus menentukan field type dan name. Tabel berikut menjelaskan parameter terkait pelaporan data. Anda perlu mendefinisikan semantik bisnis.

Parameter

Tipe

Deskripsi

Diperlukan

type

String

Jenis data.

Ya

name

String

Nama data.

Ya

group

String

Grup tempat data termasuk.

Tidak

value

Number

Nilai data.

Tidak

properties

Object

Properti kustom.

Tidak

ArmsRUM.sendCustom({
  // Diperlukan.
  type: 'CustomEvnetType1',
  name: 'customEventName2',
  // Opsional.
  group: 'customEventGroup3',
  value: 111.11,
  properties: {
    prop_msg: 'pesan kustom',
    prop_num: 1,
  },
});

sendException

Untuk melaporkan data pengecualian kustom, Anda harus menentukan field name dan message.

Parameter

Tipe

Deskripsi

Diperlukan

name

String

Nama pengecualian.

Ya

message

String

Informasi pengecualian.

Ya

file

String

File tempat pengecualian terjadi.

Tidak

stack

String

Informasi tumpukan tentang pengecualian.

Tidak

line

Number

Baris tempat pengecualian terjadi.

Tidak

column

Number

Kolom tempat pengecualian terjadi.

Tidak

properties

Object

Properti kustom.

Tidak

ArmsRum.sendException({
  // Diperlukan.
  name: 'customErrorName',
  message: 'pesan kesalahan kustom',
  // Opsional.
  file: 'nama file pengecualian kustom',
  stack: 'error.stack pengecualian kustom',
  line: 1,
  column: 2,
  properties: {
    prop_msg: 'pesan kustom',
    prop_num: 1,
  },
});

sendResource

Untuk melaporkan data resource kustom, Anda harus menentukan nama, tipe, dan durasi.

Parameter

Tipe

Deskripsi

Diperlukan

name

String

Nama dari sumber daya.

Ya

type

String

Tipe dari sumber daya. Contoh: css, javascript, xmlhttprequest, fetch, api, image, dan font.

Ya

durasi

String

Waktu respons.

Ya

success

Angka

Menunjukkan apakah permintaan berhasil. Nilai yang valid:

  • 1: Permintaan berhasil.

  • 0: Permintaan gagal.

  • -1: Status permintaan tidak diketahui.

Tidak

method

String

Metode permintaan. Nilai yang valid:

Tidak

status_code

Angka | String

Kode status.

Tidak

message

String

Pesan yang dikembalikan.

Tidak

url

String

URL permintaan.

Tidak

trace_id

String

ID jejak.

Tidak

properties

Objek

Properti kustom.

Tidak

ArmsRum.sendResource({
  // Diperlukan.
  name: 'getListByPage',
  message: 'success',
  duration: 800,
  // Opsional.
  url: 'https://www.aliyun.com/data/getListByPage',
  properties: {
    prop_msg: 'pesan kustom',
    prop_num: 1,
  },
});