Adicione anotações e metadados aos segmentos com o X-Ray for. SDK NET - AWS X-Ray

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Adicione anotações e metadados aos segmentos com o X-Ray for. SDK NET

Você pode registrar informações adicionais sobre solicitações, o ambiente ou a aplicação com anotações e metadados. Você pode adicionar anotações e metadados aos segmentos que o X-Ray SDK cria ou aos subsegmentos personalizados que você cria.

Anotações são pares de chave-valor com valores boolianos, de string ou número. As anotações são indexadas para serem usadas com expressões de filtro. Use anotações para registrar dados que você deseja usar para agrupar rastreamentos no console ou ao chamar o. GetTraceSummariesAPI

Metadados são pares chave-valor que podem ter valores de qualquer tipo, incluindo objetos e listas, mas não são indexados para uso com expressões de filtro. Use metadados para registrar dados adicionais que você deseja armazenar no rastreamento e não precisa usar com a pesquisa.

Gravando anotações com o SDK X-Ray for. NET

Use anotações para registrar informações em segmentos ou subsegmentos que você deseja indexar para pesquisa.

O seguinte é necessário para todas as anotações no X-Ray:

Requisitos de anotação
  • Teclas — A chave para uma anotação de X-Ray pode ter até 500 caracteres alfanuméricos. Você não pode usar espaços ou símbolos que não sejam um ponto ou ponto (.)

  • Valores — O valor de uma anotação X-Ray pode ter até 1.000 caracteres Unicode.

  • O número de anotações — Você pode usar até 50 anotações por rastreamento.

Para gravar anotações fora de uma função AWS Lambda
  1. Obtenha uma instância do AWSXRayRecorder.

    using Amazon.XRay.Recorder.Core; ... AWSXRayRecorder recorder = AWSXRayRecorder.Instance;
  2. Chame addAnnotation com uma chave de string e um booliano, Int32, Int64, Double ou valor de string.

    recorder.AddAnnotation("mykey", "my value");

    O exemplo a seguir mostra como chamar putAnnotation com uma chave String que inclui um ponto e um valor booleano, numérico ou string.

    document.putAnnotation("testkey.test", "my value");
Para gravar anotações dentro de uma função AWS Lambda

Tanto os segmentos quanto os subsegmentos dentro de uma função Lambda são gerenciados pelo ambiente de tempo de execução do Lambda. Se você quiser adicionar uma anotação a um segmento ou subsegmento dentro de uma função Lambda, faça o seguinte:

  1. Crie o segmento ou subsegmento dentro da função Lambda.

  2. Adicione a anotação ao segmento ou subsegmento.

  3. Finalize o segmento ou subsegmento.

O exemplo de código a seguir mostra como adicionar uma anotação a um subsegmento dentro de uma função Lambda:

#Create the subsegment AWSXRayRecorder.Instance.BeginSubsegment("custom method"); #Add an annotation AWSXRayRecorder.Instance.AddAnnotation("My", "Annotation"); try { YourProcess(); #Your function } catch (Exception e) { AWSXRayRecorder.Instance.AddException(e); } finally #End the subsegment { AWSXRayRecorder.Instance.EndSubsegment(); }

O X-Ray SDK registra as anotações como pares de valores-chave em um annotations objeto no documento do segmento. Chamar a addAnnotation operação duas vezes com a mesma chave substitui um valor registrado anteriormente no mesmo segmento ou subsegmento.

Para encontrar rastreamentos que têm anotações com valores específicos, use a palavra-chave annotation[key] em uma expressão de filtro.

Gravando metadados com o X-Ray SDK for. NET

Use metadados para registrar informações sobre segmentos ou subsegmentos que você não precisa indexar para uso em uma pesquisa. Os valores de metadados podem ser cadeias de caracteres, números, booleanos ou qualquer outro objeto que possa ser serializado em um JSON objeto ou matriz.

Como registrar metadados
  1. Obtenha uma instância deAWSXRayRecorder, conforme mostrado no exemplo de código a seguir:

    using Amazon.XRay.Recorder.Core; ... AWSXRayRecorder recorder = AWSXRayRecorder.Instance;
  2. Chame AddMetadata com um namespace de string, uma chave de string e um valor de objeto, conforme mostrado no exemplo de código a seguir:

    recorder.AddMetadata("my namespace", "my key", "my value");

    Você também pode chamar a AddMetadata operação usando apenas um par de chave e valor, conforme mostrado no exemplo de código a seguir:

    recorder.AddMetadata("my key", "my value");

Se você não especificar um valor para o namespace, o SDK X-Ray usa. default Chamar a AddMetadata operação duas vezes com a mesma chave substitui um valor registrado anteriormente no mesmo segmento ou subsegmento.