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á.
AWS X-Ray SDK for Python
nota
X-Ray SDK/Daemon Aviso de manutenção — Em 25 de fevereiro de 2026, eles AWS X-Ray SDKs/Daemon entrarão no modo de manutenção, onde AWS limitarão as versões do X-Ray SDK e do Daemon para resolver apenas problemas de segurança. Para obter mais informações sobre a linha do tempo do suporte, consulte Cronograma de suporte do X-Ray SDK e do Daemon Support. Recomendamos migrar para o. OpenTelemetry Para obter mais informações sobre a migração para OpenTelemetry, consulte Migração da X-Ray instrumentação para a instrumentação. OpenTelemetry
O X-Ray SDK para Python é uma biblioteca para aplicativos web em Python que fornece classes e métodos para gerar e enviar dados de rastreamento para o daemon. X-Ray Os dados de rastreamento incluem informações sobre solicitações HTTP recebidas pelo aplicativo e chamadas que o aplicativo faz para serviços downstream usando o AWS SDK, clientes HTTP ou um conector de banco de dados SQL. Você também pode criar segmentos manualmente e adicionar informações de depuração em anotações e metadados.
Você pode baixar o SDK com o pip.
$ pip install aws-xray-sdknota
O X-Ray SDK para Python é um projeto de código aberto. Você pode acompanhar o projeto e enviar problemas e pull requests no GitHub: github. com/aws/aws-xray-sdk-python
Se você usa o Django ou o Flask, comece adicionando middleware do SDK ao seu aplicativo para rastrear solicitações recebidas. O middleware cria um segmento para cada solicitação rastreada e conclui o segmento quando a resposta é enviada. Embora o segmento esteja aberto, você pode usar os métodos do cliente do SDK para adicionar informações ao segmento e criar subsegmentos para rastrear as chamadas subsequentes. O SDK também registra automaticamente exceções que seu aplicativo lança enquanto o segmento está aberto. Para outros aplicativos, você pode criar segmentos manualmente.
Para funções do Lambda chamadas por uma aplicação ou um serviço instrumentado, o Lambda lê o cabeçalho de rastreamento e rastreia automaticamente as solicitações amostradas. Para outras funções, você pode configurar o Lambda para amostrar e rastrear solicitações recebidas. Em ambos os casos, o Lambda cria o segmento e o fornece ao X-Ray SDK.
nota
No Lambda, o X-Ray SDK é opcional. Se você não o usar em sua função, mesmo assim o mapa de serviço incluirá um nó para o serviço Lambda e um para cada função do Lambda. Ao adicionar o SDK, você pode instrumentar o código da função para adicionar subsegmentos ao segmento de função registrado pelo Lambda. Consulte AWS Lambda and AWS X-Ray para obter mais informações.
Consulte Operador para ver um exemplo de função do Python instrumentada no Lambda.
Em seguida, use o X-Ray SDK para Python para instrumentar chamadas downstream corrigindo as bibliotecas do seu aplicativo. O SDK é compatível com as seguintes bibliotecas.
Bibliotecas com suporte
-
botocore,boto3— AWS SDK for Python (Boto) Clientes de instrumentos. -
pynamodb: instrumentar a versão do PynamoDB de clientes do Amazon DynamoDB. -
aiobotocore,aioboto3— Instrument asyncio - versõesintegradas do SDK para clientes Python (Boto3). -
requests,aiohttp: instrumentar clientes HTTP de nível superior. -
httplib,http.client: instrumentar clientes HTTP de nível inferior e as bibliotecas de nível superior que os utilizam. -
sqlite3: instrumentar clientes do SQLite. -
mysql-connector-python: instrumentar clientes do MySQL. -
pg8000— Interface Pure-Python PostgreSQL do instrumento. -
psycopg2: instrumentar o adaptador de banco de dados PostgreSQL. -
pymongo: instrumentar clientes do MongoDB. -
pymysql— Clientes baseados em PyMy SQL do Instrument para MySQL e MariaDB.
Sempre que seu aplicativo faz chamadas para AWS um banco de dados SQL ou outros serviços HTTP, o SDK registra informações sobre a chamada em um subsegmento. Serviços da AWS e os recursos que você acessa nos serviços aparecem como nós downstream no mapa de rastreamento para ajudá-lo a identificar erros e problemas de limitação em conexões individuais.
Depois que você começar a usar o SDK, personalize o comportamento dele configurando o gravador e o middleware. Você pode adicionar plug-ins para registrar dados sobre os recursos de computação que executam seu aplicativo, personalizar o comportamento de amostragem, estipulando regras de amostragem, e definir o nível de log para ver mais ou menos informações do SDK nos logs do aplicativo.
Registre informações adicionais sobre as solicitações e o trabalho que o aplicativo faz em anotações e metadados. Anotações são simples pares de chave-valor que são indexados para serem usados com expressões de filtro para que você possa pesquisar rastreamentos que contêm dados específicos. As entradas de metadados são menos restritivas e podem registrar matrizes e objetos inteiros: tudo o que pode ser serializado em JSON.
Anotações e metadados
Anotações e metadados são textos arbitrários que você adiciona aos segmentos com o SDK. X-Ray As anotações são indexadas para serem usadas com expressões de filtro. Os metadados não são indexados, mas podem ser visualizados no segmento bruto com o X-Ray console ou a API. Qualquer pessoa a quem você conceda acesso de leitura X-Ray pode visualizar esses dados.
Quando há uma grande quantidade de clientes instrumentados no código, um único segmento de solicitação pode conter um grande número de subsegmentos, um para cada chamada feita com um cliente instrumentado. Você pode organizar e agrupar subsegmentos integrando chamadas de clientes em subsegmentos personalizados. Você pode criar um subsegmento personalizado para uma função inteira ou qualquer seção do código. Você pode, então, gravar metadados e anotações no subsegmento em vez de gravar tudo no segmento pai.
Para documentação de referência para as classes e métodos do SDK, consulte a Referência de API do AWS X-Ray X-Ray SDK para Python.
Requisitos
O X-Ray SDK para Python oferece suporte às seguintes versões de linguagem e biblioteca.
-
Python: 2.7, 3.4 e mais recente
-
Django: 1.10 e mais recente
-
Flask: 0.10 e mais recente
-
aiohttp: 2.3.0 e mais recente
-
AWS SDK for Python (Boto): 1.4.0 e mais recente
-
botocore: 1.5.0 e mais recente
enum: 0.4.7 e mais recente, para Python versões 3.4.0 e mais antigas
jsonpickle: 1.0.0 e mais recente
setuptools: 40.6.3 e mais recente
wrapt: 1.11.0 e mais recente
Gerenciamento de dependências
O X-Ray SDK para Python está disponível em. pip
-
Pacote:
aws-xray-sdk
Adicione o SDK como uma dependência em seu arquivo requirements.txt.
exemplo requirements.txt
aws-xray-sdk==2.4.2
boto3==1.4.4
botocore==1.5.55
Django==1.11.3Se você usa o Elastic Beanstalk para implantar a aplicação, todos os pacotes são instalados automaticamente em requirements.txt.