

# Modificação do trecho de código para a configuração do cliente Web do CloudWatch RUM (opcional)
<a name="CloudWatch-RUM-modify-snippet"></a>

Você pode modificar o snippet de código antes de inseri-lo em sua aplicação, para ativar ou desativar várias opções. Para obter mais informações, consulte a [ Documentação do cliente da Web do CloudWatch RUM](https://github.com/aws-observability/aws-rum-web/blob/main/docs/cdn_installation.md).

Existem quatro opções de configuração que você definitivamente deve conhecer, conforme discutido nestas seções.

## Impedir a coleta de URLs de recursos que possam conter informações pessoais
<a name="CloudWatch-RUM-resourceURL"></a>

Por padrão, o cliente da Web do CloudWatch RUM é configurado para registrar as URLs de recursos baixados pela aplicação. Esses recursos incluem arquivos HTML, imagens, arquivos CSS, arquivos JavaScript e assim por diante. Em algumas aplicações, os URLs podem conter informações de identificação pessoal (PII).

Se esse for o caso da sua aplicação, recomendamos que você desabilite a coleção de URLs de recursos definindo `recordResourceUrl: false` na configuração do snippet de código antes de inseri-lo em sua aplicação.

## Registrar visualizações de página manualmente
<a name="CloudWatch-RUM-pageload"></a>

Por padrão, o cliente da Web registra as visualizações de página quando ela é carregada pela primeira vez e quando a API de histórico do navegador é chamada. O ID da página padrão é `window.location.pathname`. No entanto, em alguns casos, talvez você queira substituir esse comportamento e instrumentar a aplicação para registrar visualizações de página de forma programática. Isso permite que você controle o ID da página e quando ele é gravado. Por exemplo, considere uma aplicação da Web que tenha um URI com um identificador de variável, como `/entity/123` ou `/entity/456`. Por padrão, o CloudWatch RUM gera um evento de visualização de página para cada URI com um ID de página distinto correspondente ao nome do caminho, mas talvez você queira agrupá-los pelo mesmo ID de página. Para fazer isso, desative a automação de visualização de página do cliente Web usando a configuração `disableAutoPageView` e use o comando `recordPageView` para definir o ID da página desejada. Para obter mais informações, consulte [Configurações específicas da aplicação](https://github.com/aws-observability/aws-rum-web/blob/main/docs/configuration.md) no GitHub.

**Exemplo de script incorporado:**

```
cwr('recordPageView', { pageId: 'entityPageId' });
```

**Exemplo de módulo JavaScript:**

```
awsRum.recordPageView({ pageId: 'entityPageId' });
```

## Habilitar o rastreamento do X-Ray de ponta a ponta
<a name="CloudWatch-RUM-xraytraceheader"></a>

Quando você cria o monitor de aplicações, selecionar **Rastrear meu serviço com o AWS X-Ray** habilita o rastreamento de solicitações de `XMLHttpRequest` e `fetch` feitas durante as sessões de usuário incluídas na amostra obtida pelo monitor de aplicações. Você pode visualizar os rastreamentos dessas solicitações HTTP no painel do RUM e no mapa de rastreamento e nas páginas de detalhes de rastreamento do X-Ray.

Por padrão, esses rastreamentos do lado do cliente não estão conectados a rastreamentos do lado do servidor downstream. Para conectar rastreamentos do lado do cliente a rastreamentos do lado do servidor e habilitar o rastreamento de ponta a ponta, defina a opção `addXRayTraceIdHeader` para `true` no cliente da Web. Isso faz com que o cliente da Web do CloudWatch RUM adicione um cabeçalho de rastreamento do X-Ray às solicitações HTTP.

O bloco de código a seguir mostra um exemplo de adição de rastreamentos do lado do cliente. Algumas opções de configuração são omitidas dessa amostra para oferecer melhor leitura.

```
<script>
    (function(n,i,v,r,s,c,u,x,z){...})(
        'cwr',
        '00000000-0000-0000-0000-000000000000',
        '1.0.0',
        'us-west-2',
        'https://client.rum.us-east-1.amazonaws.com/1.0.2/cwr.js',
        {
            enableXRay: true,
            telemetries: [ 
                'errors', 
                'performance',
                [ 'http', { addXRayTraceIdHeader: true } ]
            ]
        }
    );
</script>
```

**Atenção**  
Configurar o cliente da Web do CloudWatch RUM para adicionar um cabeçalho de rastreamento do X-Ray às solicitações HTTP pode fazer com que o compartilhamento de recursos de origem cruzada (CORS) falhe ou invalide a assinatura da solicitação, se essa solicitação for assinada com Sigv4. Para obter mais informações, consulte a [ Documentação do cliente da Web do CloudWatch RUM](https://github.com/aws-observability/aws-rum-web/blob/main/docs/cdn_installation.md). É altamente recomendável que você teste sua aplicação antes de adicionar um cabeçalho de rastreamento do X-Ray do lado do cliente em um ambiente de produção.

Para obter mais informações consulte a [Documentação do cliente da Web do CloudWatch RUM](https://github.com/aws-observability/aws-rum-web/blob/main/docs/cdn_installation.md#http)

## Enviar solicitações não assinadas para o CloudWatch RUM
<a name="CloudWatch-RUM-unsigned"></a>

Por padrão, o cliente da web do RUM assina todas as solicitações enviadas ao RUM. Se você definir `signing:false` na configuração do cliente, as solicitações não serão assinadas quando forem enviadas para o CloudWatch RUM. Os dados serão ingeridos no RUM somente se houver uma política pública baseada em recursos anexada ao monitor da aplicação. Para obter mais informações, consulte [Usar políticas baseadas em recursos com o CloudWatch RUM](CloudWatch-RUM-resource-policies.md).