日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

SDK參考

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

ARMS前端監控提供一系列SDK配置項,讓您能夠通過設置參數來滿足額外需求,例如忽略指定URL、API、JS錯誤的上報、通過過濾URL中的非關鍵字符使頁面聚類、通過隨機采樣上報來減小上報量并降低負載等。

本頁索引

pid | uid | tag | page | setUsername | enableSPA | parseHash | disableHook | ignoreUrlCase | urlHelper | apiHelper | parseResponse | ignore | disabled | sample | pvSample | sendResource | useFmp | enableLinkTrace | release | environment | behavior | c1\c2\c3 | autoSendPerf

如何使用前端監控SDK配置項

可通過以下兩種方式使用前端監控SDK配置項:

  • 向頁面插入BI探針時在config中添加額外參數。

    例如,以下示例代碼的config中,除了默認的pid參數外,還添加了用于單頁面應用(Single Page Application)場景的enableSPA參數。

    <script>
    !(function(c,b,d,a){c[a]||(c[a]={});c[a].config={pid:"xxxxxx",enableSPA:true};
    with(b)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("crossorigin","",src=d)
    })(window,document,"https://retcode.alicdn.com/retcode/bl.js","__bl");
    </script>                    
  • 頁面初始化完成后,在前端JS代碼中調用setConfig方法來修改配置項。

    __bl.setConfig(next)調用參數說明:

    參數

    類型

    描述

    是否必選

    默認值

    next

    Object

    需要修改的配置項以及值

pid

pid
String
項目唯一ID,由ARMS在創建站點時自動生成。

[回到頂部]

uid

uid
String
用戶ID,用于標識訪問用戶,可手動配置,用于根據用戶ID檢索。如果不配置,則由SDK隨機自動生成且每半年更新一次。
  • Weex場景:必需
  • 其他場景:非必需
  • Weex場景:無
  • 其他場景:由SDK自動生成

示例:調用setConfig方法修改SDK配置項。

__bl.setConfig({
    uid: 12345
});        
說明

對于setConfig方法,小程序場景不支持配置uid,您可以使用setUsername代替uid標識用戶。

[回到頂部]

tag

tag
String
傳入的標記,每條日志都會攜帶該標記。

[回到頂部]

page

page
String
頁面名稱。
默認取當前頁面URL的關鍵部分:host + pathname
說明

您可以根據實際情況,使用ignoreErrors過濾需要上報的錯誤。具體操作,請參見ignore

[回到頂部]

setUsername

setUsername
Function
用于設置一個方法,該方法需要返回類型為String的用戶名稱。

本配置項用于設置一個方法,該方法需要返回類型為String的用戶名稱。配置后可以根據用戶名稱進行全鏈路追蹤(會話追蹤)、查詢用戶會話軌跡,便于排查問題。

說明
  • 若頁面加載初期暫時無法獲取用戶名,則可設置返回Null,但不要設置返回一個臨時用戶名。因為SDK發送日志時會再次調用setUsername方法獲取用戶名,如果之前設置了返回臨時用戶名,則會一直沿用最初設置的用戶名,不再重新獲取。

  • 在不關閉應用的情況下,setUsername只能設置一次。

示例:調用setConfig方法修改SDK配置項。

__bl.setConfig({
    setUsername: function () {
        return "username_xxx";
    }
});            

[回到頂部]

enableSPA

enableSPA
Boolean
監聽頁面的hashchange事件并重新上報PV,適用于單頁面應用場景。
否(僅Web場景支持)
false

[回到頂部]

parseHash

parseHash
Function
enableSPA搭配使用。
見下文

單頁面應用場景中(參見SPA頁面上報),在enableSPA設為true的前提下,頁面觸發hashchange事件時,parseHash參數用于將URL Hash解析為Page字段。

默認值

其默認值由一個簡單的字符串處理方法獲得:

function (hash) {
    var page = hash ? hash.replace(/^#/, '').replace(/\?.*$/, '') : '';
    return page || '[index]';
}           

此項一般情況下不需要修改。如果需要在上報時使用自定義的頁面名,或者URLHash比較復雜,則需要修改此配置項。例如:

// 定義頁面Hash和Page的映射關系。
var PAGE_MAP = {
    '/': '首頁',
    '/contact': '聯系我們',
    '/list': '數據列表',
    // ...
};
// 頁面load后調用SDK方法。
window.addEventListener('load', function (e) {
    // 調用setConfig方法修改SDK配置項。
    __bl.setConfig({
        parseHash: function (hash) {
            key = hash.replace(/\?.*$/, '');
            return PAGE_MAP[key] || '未知頁面';
        }
    });
});

[回到頂部]

disableHook

重要

disableHook僅在初始化配置時生效。

disableHook
Boolean
禁用AJAX請求監聽。
false:默認會監聽并用于API調用成功率上報。

[回到頂部]

ignoreUrlCase

ignoreUrlCase
Boolean
忽略Page URL大小寫。
true:默認忽略。

[回到頂部]

urlHelper

urlHelper
*
代替舊參數ignoreUrlPath,用于配置URL過濾規則。
見下文

當頁面URL類似于http://example.com/projects/123456projects后面的數字是項目ID)時,如果將example.com/projects/123456作為page上報,會導致在數據查看時頁面無法聚成一類。這種情況下,為了使同類頁面聚類,可以使用urlHelper參數過濾掉非關鍵字符,例如此例中的項目ID。

重要
  • 用于URL過濾規則的舊參數ignoreUrlPath現已廢棄,請使用新參數urlHelper。若繼續使用舊參數且不使用新參數,配置仍將生效。若同時使用新舊參數,則新參數的配置生效。

  • 此配置項只在自動獲取頁面URL作為Page時才會生效。如果手動調用setPagesetConfig方法(參考前端接口說明)修改過Page,或者如果enableSPA已設為true,則此設置項無效。

默認值

此配置項的默認值是以下數組,一般情況下不需要修改。

[
    // 將所有Path中的數字變成*。
    {rule: /\/([a-z\-_]+)?\d{2,20}/g, target: '/$1**'},
    // 去掉URL末尾的'/'。
    /\/$/
]                    

此設置項的默認值會過濾掉xxxx/123456后面的數字,例如xxxx/00001xxxx/00002都會變成xxxx/**

值類型

urlHelper的值可以是以下類型:

  • StringRegExp(正則表達式):將匹配到的字符串去掉。

  • Object<rule, target>:對象包含兩個Key(ruletarget)作為JS字符串的replace方法的入參。使用方法參見JS相關教程中的String::replace方法。

  • Function:將原字符串作為入參執行方法,將執行結果作為Page。

  • Array:用于設置多條規則,每條規則都可以是上述類型之一。

[回到頂部]

apiHelper

apiHelper
*
代替舊參數ignoreApiPath,用于配置API過濾規則。
見下文

用于在自動上報API時過濾接口URL中的非關鍵字符,用法及含義同urlHelper

重要

用于API過濾規則的舊參數ignoreApiPath現已廢棄,請使用新參數apiHelper。若繼續使用舊參數且不使用新參數,配置仍將生效。若同時使用新舊參數,則新參數的配置生效,舊參數的配置不生效。

默認值

默認值是一個對象,一般情況下不需要修改:

{rule: /(\w+)\/\d{2,}/g, target: '$1'}                    

此設置項的默認值會過濾掉接口URL中類似xxxx/123456后面的數字。

如果需要在API中上報?后面的參數,例如:https://arms.console.aliyun.com/apm?pid=fr6fbgbeot中的pid參數,需要按照以下方法手動上報API數據:

  • 使用ignore方法,關閉自動上報。具體操作,請參見ignore

  • 使用api()自行上報API數據。具體操作,請參見api()

[回到頂部]

parseResponse

parseResponse
Function
用于解析自動上報API時返回的數據。
見下文

該配置項用于解析自動上報API時返回的數據。

默認值

該配置項的默認值為:

function (res) {
    if (!res || typeof res !== 'object') return {};
    var code = res.code;
    var msg = res.msg || res.message || res.subMsg || res.errorMsg || res.ret || res.errorResponse || '';
    if (typeof msg === 'object') {
        code = code || msg.code;
        msg = msg.msg || msg.message || msg.info || msg.ret || JSON.stringify(msg);
    }
    return {msg: msg, code: code, success: true};
}                    

以上代碼會解析返回的數據,嘗試提取出msgcode。對于一般應用來說,此設置項不需要修改。如果默認值無法滿足業務需求,則可以重新設置。

[回到頂部]

ignore

ignore
Object
忽略指定URL/API/JS錯誤。符合規則的日志將被忽略且不會被上報,包含子配置項ignoreUrlsignoreApisignoreErrorsignoreResErrors
見下文

ignore的值是一個對象,對象中包含4個屬性:ignoreUrlsignoreApisignoreErrorsignoreResErrors。可單獨設置其中的1個或多個屬性。

默認值

該配置項的默認值為:

ignore: {
        ignoreUrls: [],
        ignoreApis: [],
        ignoreErrors: [],
        ignoreResErrors: []
    },                    

ignoreUrls

ignoreUrls表示忽略某些URL,符合規則的URL下的日志都不會被上報。值可以是StringRegExpFunction或者以上三種類型組成的數組。示例:

__bl.setConfig({
                ignore: {
                    ignoreUrls: [
                    'http://host1/',  // 字符串
                    /.+?host2.+/,     // 正則表達式
                    function(str) {   // 方法
                        if (str && str.indexOf('host3') >= 0) {
                            return true;   // 不上報
                        }
                        return false;      // 上報
                    }]
                }
            });                    

ignoreApis

ignoreApis表示忽略某些API,符合規則的API將不會被監控。值可以是StringRegExpFunction或者以上三種類型組成的數組。示例:

__bl.setConfig({
                ignore: {
                    ignoreApis: [
                    'api1','api2','api3', // 字符串
                    /^random/,  // 正則表達式
                    function(str) { // 方法
                        if (str && str.indexOf('api3') >= 0) return true;   // 不上報
                        return false;   // 上報
                    }]
                }
            });                    

ignoreErrors

ignoreErrors表示忽略某些JS錯誤,符合規則的JS錯誤不會被上報。值可以是StringRegExpFunction或者以上三種類型組成的數組。示例:

__bl.setConfig({
                ignore: {
                    ignoreErrors: [
                    'test error', // 字符串
                    /^Script error\.?$/, // 正則表達式
                    function(str) { // 方法
                        if (str && str.indexOf('Unknown error') >= 0) return true;   // 不上報
                        return false;   // 上報
                    }]
                }
            });            

ignoreResErrors

ignoreResErrors表示忽略指定的資源錯誤,符合規則的資源錯誤不會被上報。值可以是StringRegExpFunction或者以上三種類型組成的數組。示例:

__bl.setConfig({
                ignore: {
                    ignoreResErrors: [
                    'http://xx/picture.jpg', // 字符串
                    /jpg$/, // 正則表達式
                    function(str) { // 方法
                        if (str && str.indexOf('xx.jpg') >= 0) return true;   // 不上報
                        return false;   // 上報
                    }]
                }
            });

[回到頂部]

disabled

disabled
Boolean
禁用日志上報功能。
false

[回到頂部]

sample

sample

Integer

API日志采樣配置,值為1~100的整數。對性能日志和成功API日志按照1/sample的比例采樣,關于性能日志和成功API日志的指標說明,請參見統計指標說明

1

sample配置項作用:

  • 減小API的數據上報量(降低部分費用),更精確的方案建議使用ignore參數過濾掉某些不需要監控的API數據,更多信息,請參考ignore

  • 降低采集數據的性能開銷。

sample配置項說明:

  • 為了減小上報量和降低負載,該配置項會對性能和成功API日志進行隨機采樣上報,后臺處理日志時會根據對應的采樣配置進行還原,因此不會影響JS錯誤率和失敗API率等指標的計算。但是會導致在查詢API詳情或者相關數據明細的時候,無法保證一定可以查看明細。

  • 采樣值sample默認為1,值可以是1~100的整數,對應的采樣率為1/sample,例如:1表示100%采樣,10表示10%采樣,100表示1%采樣。

警告

由于是隨機采樣,如果原上報量較小,該配置項可能會造成較大的統計結果誤差,建議僅日均PV100萬以上的站點使用該配置項。

[回到頂部]

pvSample

參數

類型

描述

是否必選

默認值

pvSample

Integer

PV日志采樣配置,值為1~100的整數。對PV日志按照1/pvSample的比例采樣。

1

pvSample配置項作用:

  • 減小PV的數據上報量(降低部分費用)。

  • 降低采集數據的性能開銷。

pvSample配置項說明:

  • 為了減小上報量和降低負載,該配置項會對PV日志進行隨機采樣上報,后臺處理日志時會根據對應的采樣配置進行還原,樣本量足夠大的情況下對JS錯誤率等指標的計算影響不大。

  • 采樣值pvSample默認為1,值可以是1~100的整數,對應的采樣率為1/pvSample,例如:1表示100%采樣,10表示10%采樣,100表示1%采樣。

[回到頂部]

sendResource

sendResource
Boolean
上報頁面靜態資源。
false

如果sendResource配置為true,則頁面load事件觸發時會上報當前頁面加載的靜態資源信息。如果發現頁面加載較慢,可以在會話追蹤頁面查看頁面加載的靜態資源瀑布圖,判斷頁面加載較慢的具體原因。

sendResource示例代碼:

<script>
!(function(c,b,d,a){c[a]||(c[a]={});c[a].config={pid:"xxxxxx",sendResource:true};
with(b)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("crossorigin","",src=d)
})(window,document,"https://retcode.alicdn.com/retcode/bl.js","__bl");
</script>            
說明

由于是在頁面load事件觸發時判斷,所以請在config中配置sendResource(如以上示例所示),不要使用setConfig的方式,因為這種方式可能在頁面load事件完成后才會觸發,從而使該配置項無效。

[回到頂部]

useFmp

useFmp
Boolean
采集首屏FMP(First Meaningful Paint,首次有效渲染)數據。
false

[回到頂部]

enableLinkTrace

enableLinkTrace
Boolean
進行前后端鏈路追蹤,請參見使用前后端鏈路追蹤診斷API錯誤原因
否(僅Web場景、支付寶小程序、微信小程序、釘釘小程序支持)
false

[回到頂部]

release

重要

請在初始化時的config中配置release,不要使用setConfig的方式。

release
String
應用版本號。建議您配置,便于查看不同版本的上報信息。
undefined

[回到頂部]

environment

environment
String
環境字段,取值為:prod、gray、pre、dailylocal,其中:
  • prod表示線上環境。
  • gray表示灰度環境。
  • pre表示預發環境。
  • daily表示日常環境。
  • local表示本地環境。
prod

[回到頂部]

behavior

behavior
Boolean
是否為了便于排查錯誤而記錄報錯的用戶行為。
否(僅Web場景和小程序場景支持)
Browser默認為true,小程序默認為false

[回到頂部]

autoSendPerf

autoSendPerf
Boolean
是否允許自動發送性能日志。
true

[回到頂部]

c1\c2\c3

除了以上列出的配置項,您可能還需要更多的附加信息輔助處理業務問題,因此ARMS SDK提供了3個可自定義字段的配置項,配置后字段內容會包含在每一條上報的日志中。

c1
String
業務自定義字段,每條日志都會攜帶該標記。
c2
String
業務自定義字段,每條日志都會攜帶該標記。
c3
String
業務自定義字段,每條日志都會攜帶該標記。
說明

c1\c2\c3是用戶自定義的當前頁面中所有上報都攜帶的數據(一般具備業務屬性),在初始化JS SDK時傳入SDK的參數,用于篩選數據,例如用戶的VIP等級。

[回到頂部]