Todos os produtos
Search
Central de documentação

Application Real-Time Monitoring Service:Referência do SDK

Última atualização: Sep 06, 2026

O Browser Monitoring do Application Real-Time Monitoring Service (ARMS) oferece diversos itens de configuração do SDK para atender a uma ampla variedade de requisitos. Use essas configurações para ignorar URLs, operações de API ou erros de JavaScript (JS), agregar páginas removendo caracteres não essenciais das URLs e reduzir o volume de dados reportados ou a carga de trabalho por meio de amostragem aleatória.

Métodos neste tópico

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

Usar itens de configuração do SDK

Use os itens de configuração do SDK por meio de um dos seguintes métodos:

  • Ao instalar um agente do Browser Monitoring em uma página, adicione parâmetros ao config conforme suas necessidades.

    Por exemplo, no código de amostra a seguir, além do parâmetro padrão pid, o parâmetro enableSPA para aplicações de página única (SPAs) foi adicionado ao 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>                    
  • Após a inicialização da página, chame o método setConfig no código JavaScript para modificar os itens de configuração.

    O método __bl.setConfig(next) aceita o seguinte parâmetro:

    Parâmetro

    Tipo

    Descrição

    Obrigatório

    Valor padrão

    next

    Object

    O item de configuração e seu valor que você deseja modificar.

    Sim

    Nenhum

pid

pid

String

O ID exclusivo do projeto. O ARMS gera esse ID automaticamente ao criar um site.

Sim

Nenhum

[[Back to Top]](#sc_index)

uid

uid

String

O ID do usuário. Este valor funciona como identificador e permite buscar o usuário. É possível definir um valor personalizado. Caso nenhum valor seja especificado, o SDK gera e atualiza o ID automaticamente a cada seis meses.

  • Cenário Weex: obrigatório

  • Outros cenários: não obrigatório

  • Cenário Weex: Nenhum

  • Outros cenários: gerado automaticamente pelo SDK

O código a seguir exemplifica como chamar o método setConfig para modificar o item de configuração do SDK:

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

Não é possível chamar o método setConfig para modificar o parâmetro uid durante o monitoramento de mini programas. Como alternativa, use o método setUsername para identificar um usuário.

[[Back to Top]](#sc_index)

tag

tag

String

A tag de entrada. Cada log carrega uma tag.

Não

Nenhum

[[Back to Top]](#sc_index)

page

page

String

O nome da página.

Não

Por padrão, utiliza a parte principal da URL da página atual: host + pathname.

Nota

Use a propriedade ignoreErrors para consultar os erros que deseja reportar. Para mais informações, consulte ignore.

[[Back to Top]](#sc_index)

setUsername

setUsername

Function

Define um método que deve retornar um nome de usuário do tipo String.

Não

Nenhum

Este item de configuração cria uma função responsável por obter o nome de usuário como uma string. Após obter o nome de usuário, é possível implementar rastreamento de sessão ponta a ponta e consultar sessões com base nesse nome para solucionar problemas.

Nota
  • Se não for possível obter o nome de usuário durante a inicialização da página, defina o valor de retorno como null em vez de um nome temporário. Ao definir o retorno como null, o método setUsername será chamado novamente para obter o nome correto quando o SDK enviar logs. Contudo, se você definir um nome temporário como valor de retorno, o sistema usará esse nome e não chamará setUsername novamente para buscar o nome real.

  • Defina o método setUsername apenas uma vez durante a execução. Para alterar o método, reinicie a aplicação.

O código a seguir exemplifica como chamar o método setConfig para modificar o item de configuração do SDK:

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

[[Back to Top]](#sc_index)

enableSPA

enableSPA

Boolean

Escuta eventos hashchange na página e reporta o PV novamente. Aplicável a cenários de aplicação de página única.

Não (suportado apenas em cenários Web)

false

[[Back to Top]](#sc_index)

parseHash

parseHash

Function

Usado em conjunto com enableSPA.

Não

Veja abaixo

Em cenários de aplicação de página única (SPA) (consulte SPA page data reporting), se enableSPA estiver definido como true, o parâmetro parseHash analisa o hash da URL e o converte no campo Page quando ocorre um evento hashchange.

Default value

O valor padrão é obtido através do seguinte método de processamento de string:

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

Geralmente, não é necessário modificar este parâmetro. No entanto, caso deseje usar um nome de página personalizado para reportar dados específicos ou se o hash da URL for complexo, modifique este item de configuração. Exemplo:

// 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

O parâmetro disableHook só tem efeito durante a inicialização das configurações.

disableHook

Boolean

Desativa os listeners de requisições AJAX.

Não

false: Por padrão, escuta e reporta a taxa de sucesso das chamadas de API.

[[Back to Top]](#sc_index)

ignoreUrlCase

ignoreUrlCase

Boolean

Ignora maiúsculas e minúsculas na URL da página.

Não

true: Insensível a maiúsculas/minúsculas por padrão.

[[Back to Top]](#sc_index)

urlHelper

urlHelper

*

Substitui o antigo parâmetro ignoreUrlPath e configura regras de filtragem de URL.

Não

Veja abaixo

Quando a URL de uma página é semelhante a http://example.com/projects/123456 (onde o número após projects é o ID do projeto), reportar example.com/projects/123456 como página impede o agrupamento correto dos dados. Nesse caso, para garantir que páginas semelhantes sejam agrupadas, use o parâmetro urlHelper para filtrar caracteres não críticos, como o ID do projeto neste exemplo.

Importante
  • O parâmetro urlHelper substitui o parâmetro ignoreUrlPath para ignorar caracteres não essenciais nas URLs das páginas. Se você especificar o parâmetro ignoreUrlPath, essa configuração ainda terá efeito. Caso ambos os parâmetros ignoreUrlPath e urlHelper sejam definidos, a configuração do urlHelper prevalecerá.

  • Esta configuração aplica-se apenas quando o SDK captura automaticamente a URL da página como valor de page. O SDK ignora esta definição se você configurar manualmente o valor da página chamando os métodos setPage ou setConfig (consulte SDK methods), ou se enableSPA estiver definido como true.

Default value

O valor padrão deste item de configuração é o array mostrado no código de amostra a seguir. Na maioria dos casos, não é necessário modificar esse valor:

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

Por padrão, esta configuração substitui identificadores numéricos que seguem um segmento de caminho. Por exemplo, tanto xxxx/00001 quanto xxxx/00002 tornam-se xxxx/**, assim como aconteceria com uma URL original como xxxx/123456.

Value types

O valor do parâmetro urlHelper pode ser dos seguintes tipos:

  • String ou RegExp (expressão regular): Remove a parte correspondente da string da URL.

  • Object<rule, target>: Um objeto com as chaves rule e target. Estes são passados como argumentos para o método JavaScript String.prototype.replace(). Para detalhes, consulte a documentação do String.prototype.replace().

  • Function: Uma função que recebe a string original da URL como argumento. Seu valor de retorno é usado como o valor final da página.

  • Array: Um array contendo múltiplas regras, onde cada regra pode ser qualquer um dos tipos descritos acima.

[[Back to Top]](#sc_index)

apiHelper

apiHelper

*

Substitui o antigo parâmetro ignoreApiPath e configura regras de filtragem de API.

Não

Veja abaixo

Este parâmetro remove caracteres não essenciais nas URLs ao reportar automaticamente dados específicos de operações de API. O uso e a função deste parâmetro são idênticos aos descritos em urlHelper.

Importante

O parâmetro apiHelper substitui o parâmetro ignoreApiPath para ignorar caracteres não críticos nas URLs das operações de API. Se você especificar o parâmetro ignoreApiPath, essa configuração continuará válida. Caso ambos os parâmetros ignoreApiPath e apiHelper sejam definidos, a configuração do apiHelper prevalecerá.

Default value

O valor padrão deste parâmetro é um objeto e não precisa ser modificado:

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

Esta configuração padrão filtra números finais nos caminhos de URL da API, como em xxxx/123456.

Se precisar reportar parâmetros da query string (a parte da URL da API após o ?), como o parâmetro pid em https://arms.console.alibabacloud.com/apm?pid=fr6fbgbeot, use o reporte manual:

  • Chame o método ignore para desativar o reporte automático de dados. Para mais informações, consulte ignore.

  • Chame o método api() para reportar manualmente os dados específicos da página sobre operações de API. Para mais informações, consulte api().

[[Back to Top]](#sc_index)

parseResponse

parseResponse

Function

Analisa os dados retornados durante o reporte automático de API.

Não

Veja abaixo

Este item de configuração analisa os dados retornados quando o sistema reporta automaticamente dados específicos de operações de API.

Default value

O código de amostra a seguir mostra as configurações padrão:

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

A função padrão analisa a resposta para extrair as propriedades msg e code. Embora essa função atenda à maioria das aplicações, substitua-a caso não satisfaça seus requisitos de negócio.

[[Back to Top]](#sc_index)

ignore

ignore

Object

Ignora a URL/API/erro JS especificado. Logs que atendem às regras são ignorados e não reportados. Inclui os sub-itens de configuração ignoreUrls, ignoreApis, ignoreErrors e ignoreResErrors.

Não

Veja abaixo

O valor do parâmetro ignore é um objeto que contém quatro propriedades: ignoreUrls, ignoreApis, ignoreErrors e ignoreResErrors. Defina uma ou mais propriedades do valor do parâmetro.

Default value

O código de amostra a seguir mostra as configurações padrão:

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

ignoreUrls

A propriedade ignoreUrls especifica quais URLs ignorar. Logs provenientes de URLs que correspondem a um padrão definido não são reportados. O valor pode ser uma string, regular expression, function ou um array contendo esses tipos. Exemplo:

__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

A propriedade ignoreApis especifica quais APIs ignorar. Chamadas para APIs que correspondem a um padrão definido não são monitoradas. O valor pode ser uma string, regular expression, function ou um array contendo esses tipos. Exemplo:

__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

A propriedade ignoreErrors especifica quais erros JS ignorar. Erros JS que correspondem a um padrão definido não são reportados. O valor pode ser uma string, regular expression, function ou um array contendo esses tipos. Exemplo:

__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

A propriedade ignoreResErrors especifica quais erros de recurso ignorar. Erros de recurso que correspondem a um padrão definido não são reportados. O valor pode ser uma string, regular expression, function ou um array contendo esses tipos. Exemplo:

__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

Define se a função de reporte de logs deve ser desativada.

Não

false

[[Back to Top]](#sc_index)

sample

sample

Integer

Define a configuração de amostragem de logs de API. O valor deve ser um inteiro de 1 a 100. Amostra logs de desempenho e logs de API bem-sucedidos a uma taxa de 1/sample. Para mais informações sobre métricas relacionadas, consulte Statistical metrics.

Não

1

Benefícios:

  • Reduz custos ao reportar apenas dados de API amostrados. Recomendamos identificar os dados que não exigem monitoramento configurando o parâmetro ignore. Para mais informações, consulte ignore.

  • Diminui a sobrecarga de desempenho na coleta de dados.

Descrição:

  • Configure este item para selecionar e reportar aleatoriamente logs de desempenho e logs de operações de API bem-sucedidas. Isso reduz o volume de dados reportados e a carga de trabalho. Quando o ARMS processa os logs reportados em segundo plano, ele restaura os dados com base nas configurações de amostragem. Dessa forma, métricas como taxa de erro JS ou taxa de falha de API permanecem precisas e não sofrem impacto da amostragem. No entanto, ao definir este parâmetro, talvez não seja possível obter dados detalhados, como os detalhes da API.

  • O valor padrão de sample é 1. Valores válidos são inteiros de 1 a 100. A taxa de amostragem é 1/sample. Por exemplo, 1 significa 100% de amostragem, 10 significa 10% de amostragem e 100 significa 1% de amostragem.

Aviso

Quando o volume total de dados é pequeno e a amostragem aleatória ainda é executada, pode haver um grande desvio no resultado estatístico. Recomendamos utilizar este item de configuração para sites cuja média diária de visualizações de página (PVs) ultrapasse 1 milhão.

[[Back to Top]](#sc_index)

pvSample

Parâmetro

Tipo

Descrição

Obrigatório

Valor padrão

pvSample

Integer

Define a configuração de amostragem para logs de PV. O valor é um inteiro de 1 a 100, onde a taxa de amostragem é 1/pvSample.

Não

1

Benefícios:

  • Reduz custos ao reportar apenas dados de PV amostrados.

  • Diminui a sobrecarga de desempenho na coleta de dados.

Descrição:

  • Configure este item para selecionar e reportar aleatoriamente logs de PV. Isso reduz o volume de dados reportados e a carga de trabalho. Quando o ARMS processa os logs reportados em segundo plano, ele restaura os dados com base nas configurações de amostragem. Assim, métricas como a taxa de erro JS permanecem precisas e não sofrem impacto da amostragem.

  • O valor padrão de pvSample é 1. A taxa de amostragem é 1/pvSample. Por exemplo, um valor de 1 significa 100% de amostragem, 10 significa 10% de amostragem e 100 significa 1% de amostragem.

[[Back to Top]](#sc_index)

sendResource

sendResource

Boolean

Reporta recursos estáticos na página.

Não

false

Se o parâmetro sendResource estiver definido como true, os recursos estáticos da página serão reportados quando o evento load da página for acionado. Se uma página carregar lentamente, visualize seu gráfico de cascata de recursos estáticos na página Session Traces para identificar a causa.

O código a seguir exemplifica como definir o 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 carregamento lento de página, configure o parâmetro sendResource no config durante a inicialização, conforme mostrado no código de amostra anterior. Assim, os recursos estáticos são reportados quando o evento load é acionado. Se você chamar o método setConfig, os recursos estáticos podem ser reportados após a conclusão do evento load. Nesse caso, o parâmetro sendResource não ajudará a identificar a causa da lentidão.

[[Back to Top]](#sc_index)

useFmp

useFmp

Boolean

Coleta dados FMP (First Meaningful Paint, primeira renderização válida) da primeira tela.

Não

false

[[Back to Top]](#sc_index)

enableLinkTrace

enableLinkTrace

Boolean

Para mais informações sobre Back-to-back Tracing Analysis, consulte Diagnose API errors with front-to-back tracing.

Não (suportado apenas em cenários Web, mini programas Alipay, mini programas WeChat e mini programas DingTalk)

false

[[Back to Top]](#sc_index)

release

Importante

Configure release no config durante a inicialização da página. Não chame o método setConfig.

release

String

A versão da aplicação. Recomendamos configurar este parâmetro para visualizar informações de relatório de diferentes versões.

Não

undefined

[[Back to Top]](#sc_index)

environment

environment

String

O campo de ambiente. Valores válidos: prod, gray, pre, daily e local.

  • O valor prod indica um ambiente online.

  • O valor gray indica um ambiente de liberação gradual.

  • O valor pre indica um ambiente de staging.

  • O valor daily indica um ambiente diário.

  • O valor local indica um ambiente local.

Não

prod

[[Back to Top]](#sc_index)

behavior

behavior

Boolean

Define se deve registrar o comportamento do usuário que gera erros para facilitar a solução de problemas.

Não (suportado apenas em cenários Web e de mini programas)

O valor padrão para Browser é true, e o valor padrão para mini programas é false.

[[Back to Top]](#sc_index)

autoSendPerf

autoSendPerf

Boolean

Define se o envio automático de logs de desempenho é permitido.

Não

true

[[Back to Top]](#sc_index)

c1\c2\c3

Além dos itens de configuração anteriores, o SDK do ARMS fornece três itens personalizados para que você configure campos conforme seus requisitos de negócio. Após configurar esses campos, seus valores serão incluídos em todos os logs reportados.

c1

String

Campo de service personalizado. Cada log carrega este campo.

Não

Nenhum

c2

String

Campo de service personalizado. Cada log carrega este campo.

Não

Nenhum

c3

String

Campo de service personalizado. Cada log carrega este campo.

Não

Nenhum

Nota

c1\c2\c3 representa os dados transportados em todos os relatórios da página personalizada atual. Geralmente, c1\c2\c3 relacionam-se aos seus services. Ao inicializar o SDK do Browser Monitoring para JavaScript, especifique parâmetros do SDK para consultar dados, como o nível VIP de um usuário.

[[Back to Top]](#sc_index)