Todos los productos
Search
Centro de documentos

Application Real-Time Monitoring Service:Referencia del SDK

Última actualización: Sep 09, 2026

Browser Monitoring de Application Real-Time Monitoring Service (ARMS) ofrece varios elementos de configuración del SDK para adaptarse a distintos requerimientos. Por ejemplo, estos elementos permiten ignorar URL, operaciones de API o errores de JavaScript (JS), agrupar páginas al eliminar caracteres no clave de las URL y reducir los datos reportados o la carga de trabajo mediante muestreo aleatorio.

Métodos en este tema

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

Uso de los elementos de configuración del SDK

Para utilizar los elementos de configuración del SDK, aplique uno de los siguientes métodos:

  • Al instalar un agente de Browser Monitoring en una página, agregue parámetros a config según sus necesidades.

    Por ejemplo, en el siguiente código de muestra, además del parámetro predeterminado pid, se agrega el parámetro enableSPA para aplicaciones de una sola página (SPA) en config:

    <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://sdk.rum.aliyuncs.com/v1/bl.js","__bl");
    </script>                    
  • Una vez inicializada la página, llame al método setConfig en el código JavaScript para modificar los elementos de configuración.

    El método __bl.setConfig(next) acepta el siguiente parámetro:

    Parámetro

    Tipo

    Descripción

    Obligatorio

    Valor predeterminado

    next

    Object

    El elemento de configuración que desea modificar y su valor.

    Sí

    Ninguna

pid

pid

String

Identificador único del proyecto. ARMS lo genera automáticamente cuando crea un sitio.

Sí

Ninguna

[[Back to Top]](#sc_index)

uid

uid

String

Identificador del usuario. Este valor identifica al usuario y permite buscarlo. Especifique un valor personalizado. Si no especifica este parámetro, el SDK lo genera automáticamente y lo actualiza cada seis meses.

  • Escenario Weex: obligatorio

  • Otros escenarios: no es obligatorio

  • Escenario Weex: Ninguna

  • Otros escenarios: generado automáticamente por el SDK

A continuación se muestra un ejemplo de cómo llamar al método setConfig para modificar el elemento de configuración del SDK:

__bl.setConfig({
    uid: 12345
});        
Nota

No es posible llamar al método setConfig para modificar el parámetro uid durante el monitoreo de miniprogramas. En su lugar, llame al método setUsername para identificar a un usuario.

[[Back to Top]](#sc_index)

tag

tag

String

Etiqueta de entrada. Cada registro lleva una etiqueta.

No

Ninguna

[[Back to Top]](#sc_index)

page

page

String

Nombre de la página.

No

De forma predeterminada, se toma la parte clave de la URL de la página actual: host + pathname.

Nota

Utilice la propiedad ignoreErrors para consultar los errores que desea reportar. Para obtener más información, consulte ignore.

[[Back to Top]](#sc_index)

setUsername

setUsername

Function

Se utiliza para establecer un método que debe devolver un nombre de usuario de tipo String.

No

Ninguna

Este elemento de configuración sirve para crear una función que obtiene un nombre de usuario como cadena de texto. Una vez obtenido el nombre, es posible implementar el rastreo de sesiones de extremo a extremo y consultar sesiones por nombre de usuario para solucionar problemas.

Nota
  • Si no es posible obtener el nombre de usuario al inicializar la página, establezca el valor de retorno como null en lugar de usar un nombre temporal. Con el valor null, el método setUsername se vuelve a llamar para obtener el nombre cuando el SDK envía registros. Sin embargo, si establece un nombre temporal, el sistema lo utiliza y no vuelve a llamar a setUsername para obtener el nombre real.

  • El método setUsername solo se configura una vez durante la ejecución. Para modificar el método, reinicie la aplicación.

A continuación se muestra un ejemplo de cómo llamar al método setConfig para modificar el elemento de configuración del SDK:

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

[[Back to Top]](#sc_index)

enableSPA

enableSPA

Boolean

Escucha los eventos hashchange en la página y reporta nuevamente las PV. Resulta útil en escenarios de aplicaciones de una sola página.

No (compatible solo en escenarios web)

false

[[Back to Top]](#sc_index)

parseHash

parseHash

Function

Se usa junto con enableSPA.

No

Consulte a continuación

En escenarios de aplicaciones de una sola página (SPA) (consulte SPA page data reporting), si enableSPA se establece en true, el parámetro parseHash analiza sintácticamente el hash de la URL en el campo Page cuando ocurre un evento hashchange.

Default value

El valor predeterminado se obtiene mediante el siguiente procesamiento de cadenas:

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

Por lo general, no es necesario modificar este parámetro. Sin embargo, modifique este elemento de configuración si desea usar un nombre de página personalizado para reportar datos específicos o si el hash de la URL es complejo. Ejemplo:

// Define the mapping between URL hashes and page names.
var PAGE_MAP = {
    '/': 'homepage',
    '/contact': 'contact us',
    '/list': 'data list',
    // ...
};
// Call the SDK method after the page is loaded.
window.addEventListener('load', function (e) {
    // Call the setConfig method to modify the SDK configuration item.
    __bl.setConfig({
        parseHash: function (hash) {
            key = hash.replace(/\?.*$/, '');
            return PAGE_MAP[key] || 'unknown page';
        }
    });
});

[[Back to Top]](#sc_index)

disableHook

Importante

El parámetro disableHook surte efecto únicamente cuando se inicializan las configuraciones.

disableHook

Boolean

Deshabilita los listeners de solicitudes AJAX.

No

false: de forma predeterminada escucha y se utiliza para reportar la tasa de éxito de las llamadas a la API.

[[Back to Top]](#sc_index)

ignoreUrlCase

ignoreUrlCase

Boolean

Ignora las mayúsculas y minúsculas en la URL de la página.

No

true: no distingue entre mayúsculas y minúsculas de forma predeterminada.

[[Back to Top]](#sc_index)

urlHelper

urlHelper

*

Reemplaza al antiguo parámetro ignoreUrlPath y se utiliza para configurar reglas de filtrado de URL.

No

Consulte a continuación

Cuando la URL de una página es similar a http://example.com/projects/123456 (donde el número después de projects es el identificador del proyecto), reportar example.com/projects/123456 como página impide agrupar las páginas en una sola categoría al consultar los datos. En este caso, utilice el parámetro urlHelper para filtrar los caracteres no críticos, como el identificador del proyecto en este ejemplo, y asegurar que las páginas similares se agrupen.

Importante
  • El parámetro urlHelper reemplaza al parámetro ignoreUrlPath para ignorar los caracteres no clave en las URL de las páginas. Si especifica el parámetro ignoreUrlPath, la configuración sigue surtiendo efecto. Si especifica ambos parámetros, ignoreUrlPath y urlHelper, prevalece la configuración indicada en urlHelper.

  • Esta configuración aplica únicamente cuando el SDK captura automáticamente la URL de la página como valor de la misma. El SDK ignora esta configuración si usted establece manualmente el valor de la página mediante los métodos setPage o setConfig (consulte SDK methods), o si enableSPA se establece en true.

Default value

El valor predeterminado de este elemento de configuración es el arreglo que aparece en el siguiente código de muestra. En la mayoría de los casos, no es necesario modificarlo:

[
    // Replace all digits in the path with asterisks (*).
    {rule: /\/([a-z\-_]+)?\d{2,20}/g, target: '/$1**'},
    // Remove a trailing slash (/) from the URL.
    /\/$/
]                    

De forma predeterminada, esta configuración reemplaza los identificadores numéricos que siguen a un segmento de ruta. Por ejemplo, tanto xxxx/00001 como xxxx/00002 se convierten en xxxx/**, igual que una URL original como xxxx/123456.

Value types

El valor del parámetro urlHelper admite los siguientes tipos:

  • String o RegExp (expresión regular): elimina la parte coincidente de la cadena de la URL.

  • Object<rule, target>: objeto con las claves rule y target. Estas se pasan como argumentos al método String.prototype.replace() de JavaScript. Para obtener más detalles, consulte la documentación de String.prototype.replace().

  • Function: función que recibe la cadena de la URL original como argumento. Su valor de retorno se utiliza como valor final de la página.

  • Array: arreglo que contiene varias reglas, donde cada regla puede ser cualquiera de los tipos descritos anteriormente.

[[Back to Top]](#sc_index)

apiHelper

apiHelper

*

Reemplaza al antiguo parámetro ignoreApiPath y se utiliza para configurar reglas de filtrado de API.

No

Consulte a continuación

Este parámetro elimina los caracteres no clave en las URL de las páginas cuando se reportan automáticamente datos específicos sobre operaciones de API. Su uso y función son los mismos que los de urlHelper.

Importante

El parámetro apiHelper reemplaza al parámetro ignoreApiPath para ignorar los caracteres no clave en las URL de las operaciones de API. Si especifica el parámetro ignoreApiPath, la configuración sigue surtiendo efecto. Si especifica ambos parámetros, ignoreApiPath y apiHelper, prevalece la configuración indicada en apiHelper.

Default value

El valor predeterminado de este parámetro es un objeto y no requiere modificaciones:

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

Esta configuración predeterminada filtra los números finales en las rutas de URL de API, como en xxxx/123456.

Si necesita reportar parámetros de la cadena de consulta (la parte de la URL de la API que va después de ?), como el parámetro pid en https://arms.console.alibabacloud.com/apm?pid=fr6fbgbeot, debe utilizar el reporte manual:

  • Llame al método ignore para deshabilitar el reporte automático de datos. Para obtener más información, consulte ignore.

  • Llame al método api() para reportar manualmente los datos específicos de la página sobre operaciones de API. Para obtener más información, consulte api().

[[Back to Top]](#sc_index)

parseResponse

parseResponse

Function

Analiza sintácticamente los datos devueltos durante el reporte automático de la API.

No

Consulte a continuación

Este elemento de configuración analiza sintácticamente los datos devueltos cuando se reportan automáticamente los datos específicos de la página correspondientes a operaciones de API.

Default value

El siguiente código de muestra presenta las configuraciones predeterminadas:

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};
}                    

La función predeterminada analiza la respuesta para extraer las propiedades msg y code. Esta función resulta adecuada para la mayoría de las aplicaciones, pero es posible sobrescribirla si no cumple con sus requerimientos de negocio.

[[Back to Top]](#sc_index)

ignore

ignore

Object

Permite ignorar la URL, API o error de JS especificado. Los registros que cumplen las reglas se ignoran y no se reportan. Incluye los subelementos de configuración ignoreUrls, ignoreApis, ignoreErrors e ignoreResErrors.

No

Consulte a continuación

El valor del parámetro ignore es un objeto que contiene cuatro propiedades: ignoreUrls, ignoreApis, ignoreErrors e ignoreResErrors. Configure una o más propiedades del valor del parámetro.

Default value

El siguiente código de muestra presenta las configuraciones predeterminadas:

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

ignoreUrls

La propiedad ignoreUrls especifica las URL que se deben ignorar. Los registros provenientes de URL que coinciden con un patrón determinado no se reportan. El valor puede ser string, regular expression, function o un arreglo que contenga estos tipos. Ejemplo:

__bl.setConfig({
                ignore: {
                    ignoreUrls: [
                    'http://host1/',  // string
                    /.+?host2.+/,     // regular expression
                    function(str) {   // function
                        if (str && str.indexOf('host3') >= 0) {
                            return true;   // Do not report
                        }
                        return false;      // Report
                    }]
                }
            });                    

ignoreApis

La propiedad ignoreApis especifica las API que se deben ignorar. Las llamadas a API que coinciden con un patrón determinado no se monitorean. El valor puede ser string, regular expression, function o un arreglo que contenga estos tipos. Ejemplo:

__bl.setConfig({
                ignore: {
                    ignoreApis: [
                    'api1','api2','api3', // string
                    /^random/,  // regular expression
                    function(str) { // function
                        if (str && str.indexOf('api3') >= 0) return true;   // Do not report
                        return false;   // Report
                    }]
                }
            });                    

ignoreErrors

La propiedad ignoreErrors especifica los errores de JS que se deben ignorar. Los errores de JS que coinciden con un patrón determinado no se reportan. El valor puede ser string, regular expression, function o un arreglo que contenga estos tipos. Ejemplo:

__bl.setConfig({
                ignore: {
                    ignoreErrors: [
                    'test error', // string
                    /^Script error\.?$/, // regular expression
                    function(str) { // function
                        if (str && str.indexOf('Unknown error') >= 0) return true;   // Do not report
                        return false;   // Report
                    }]
                }
            });            

ignoreResErrors

La propiedad ignoreResErrors especifica los errores de recursos que se deben ignorar. Los errores de recursos que coinciden con un patrón determinado no se reportan. El valor puede ser string, regular expression, function o un arreglo que contenga estos tipos. Ejemplo:

__bl.setConfig({
                ignore: {
                    ignoreResErrors: [
                    'http://xx/picture.jpg', // string
                    /jpg$/, // regular expression
                    function(str) { // function
                        if (str && str.indexOf('xx.jpg') >= 0) return true;   // Do not report
                        return false;   // Report
                    }]
                }
            });

[[Back to Top]](#sc_index)

disabled

disabled

Boolean

Indica si se debe deshabilitar la función de reporte de registros.

No

false

[[Back to Top]](#sc_index)

sample

sample

Integer

Establece la configuración de muestreo de registros de API. El valor debe ser un número entero del 1 al 100. Muestrea los registros de rendimiento y los registros de API exitosos con una tasa de 1/sample. Para obtener más información sobre las métricas relacionadas, consulte Statistical metrics.

No

1

Beneficios:

  • Reduce costos al reportar únicamente los datos de API muestreados. Se recomienda identificar los datos que no requieren monitoreo mediante el parámetro ignore. Para obtener más información, consulte ignore.

  • Reduce la sobrecarga de rendimiento en la recopilación de datos.

Descripción:

  • Configure este elemento para seleccionar y reportar de forma aleatoria los registros de rendimiento y los registros de operaciones de API exitosas. Esto reduce el volumen de datos reportados y la carga de trabajo. Cuando ARMS procesa los registros reportados en segundo plano, restaura los datos según las configuraciones de muestreo. De esta manera, métricas como la tasa de errores de JS o la tasa de fallos de API no se ven afectadas por el muestreo y mantienen su precisión. Sin embargo, al configurar este parámetro, es posible que no pueda obtener datos detallados, como los detalles de la API.

  • El valor predeterminado de sample es 1. Los valores válidos son números enteros del 1 al 100. La tasa de muestreo es 1/sample. Por ejemplo, 1 significa un muestreo del 100 %, 10 un muestreo del 10 % y 100 un muestreo del 1 %.

Aviso

Cuando el volumen total de datos es pequeño y aun así se aplica el muestreo aleatorio, el resultado estadístico puede presentar una gran desviación. Se recomienda utilizar este elemento de configuración en sitios web cuyo promedio diario de vistas de página (PV) supere el millón.

[[Back to Top]](#sc_index)

pvSample

Parámetro

Tipo

Descripción

Obligatorio

Valor predeterminado

pvSample

Integer

Establece la configuración de muestreo para los registros de PV. El valor es un número entero del 1 al 100, donde la tasa de muestreo es 1/pvSample.

No

1

Beneficios:

  • Reduce costos al reportar únicamente los datos de PV muestreados.

  • Reduce la sobrecarga de rendimiento en la recopilación de datos.

Descripción:

  • Configure este elemento para seleccionar y reportar de forma aleatoria los registros de PV. Esto reduce el volumen de datos reportados y la carga de trabajo. Cuando ARMS procesa los registros reportados en segundo plano, restaura los datos según las configuraciones de muestreo. Así, métricas como la tasa de errores de JS no se ven afectadas por el muestreo y mantienen su precisión.

  • El valor predeterminado de pvSample es 1. La tasa de muestreo es 1/pvSample. Por ejemplo, un valor de 1 significa un muestreo del 100 %, 10 un muestreo del 10 % y 100 un muestreo del 1 %.

[[Back to Top]](#sc_index)

sendResource

sendResource

Boolean

Reporta los recursos estáticos de la página.

No

false

Si el parámetro sendResource se establece en true, los recursos estáticos de la página se reportan cuando se activa el evento load de la misma. Si una página carga lentamente, consulte su diagrama de cascada de recursos estáticos en la página Session Traces para encontrar la causa.

A continuación se muestra un ejemplo de cómo configurar el parámetro 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://sdk.rum.aliyuncs.com/v1/bl.js","__bl");
</script>            
Nota

Para solucionar problemas de carga lenta de páginas, configure el parámetro sendResource en config, tal como se muestra en el código de muestra anterior. De esta manera, los recursos estáticos se reportan cuando se activa el evento load. Si llama al método setConfig, los recursos estáticos podrían reportarse después de que finalice el evento load. En ese caso, el parámetro sendResource no le ayudará a identificar la causa de la carga lenta de la página.

[[Back to Top]](#sc_index)

useFmp

useFmp

Boolean

Recopila los datos FMP (First Meaningful Paint, primera representación válida) de la primera pantalla.

No

false

[[Back to Top]](#sc_index)

enableLinkTrace

enableLinkTrace

Boolean

Para obtener más información sobre el rastreo back-to-back de Tracing Analysis, consulte Diagnose API errors with front-to-back tracing.

No (solo es compatible con escenarios web, mini programas de Alipay, mini programas de WeChat y mini programas de DingTalk)

false

[[Back to Top]](#sc_index)

release

Importante

Debe configurar release en config durante la inicialización de la página. No llame al método setConfig.

release

String

La versión de la aplicación. Se recomienda configurar este parámetro para consultar la información de los reportes de distintas versiones.

No

undefined

[[Back to Top]](#sc_index)

environment

environment

String

El campo de entorno. Valores válidos: prod, gray, pre, daily y local.

  • El valor prod indica un entorno en línea.

  • El valor gray indica un entorno de liberación gradual.

  • El valor pre indica un entorno de preproducción.

  • El valor daily indica un entorno diario.

  • El valor local indica un entorno local.

No

prod

[[Back to Top]](#sc_index)

behavior

behavior

Boolean

Determina si se registra el comportamiento del usuario que genera errores, lo cual facilita la solución de problemas.

No (solo es compatible con escenarios web y de mini programas)

El valor predeterminado para navegadores es true, mientras que para mini programas es false.

[[Back to Top]](#sc_index)

autoSendPerf

autoSendPerf

Boolean

Determina si se permite el envío automático de registros de rendimiento.

No

true

[[Back to Top]](#sc_index)

c1\c2\c3

Además de los elementos de configuración anteriores, el SDK de ARMS proporciona tres elementos de configuración personalizados. Estos le permiten definir campos que se ajusten a sus necesidades de negocio. Una vez configurados, los valores de estos campos se incluyen en todos los registros que se reportan.

c1

String

Campo de servicio personalizado. Cada registro incluye este campo.

No

Ninguna

c2

String

Campo de servicio personalizado. Cada registro incluye este campo.

No

Ninguna

c3

String

Campo de servicio personalizado. Cada registro incluye este campo.

No

Ninguna

Nota

c1\c2\c3 representa los datos que se envían en todos los reportes de la página personalizada actual. Por lo general, c1\c2\c3 está relacionado con sus servicios. Cuando inicialice el SDK de Browser Monitoring para JavaScript, especifique los parámetros del SDK para consultar datos, como el nivel VIP de un usuario.

[[Back to Top]](#sc_index)