diff --git a/content/pt/docs/languages/python/libraries.md b/content/pt/docs/languages/python/libraries.md new file mode 100644 index 000000000000..aa5d1db59373 --- /dev/null +++ b/content/pt/docs/languages/python/libraries.md @@ -0,0 +1,113 @@ +--- +title: Usando bibliotecas de instrumentação +linkTitle: Bibliotecas +weight: 40 +default_lang_commit: 918511661af010726c8847d7fe41a46231fa59cc +cSpell:ignore: desinstrumentar httpx instrumentor uninstrument +--- + +{{% docs/languages/libraries-intro "python" %}} + +## Use bibliotecas de instrumentação {#use-instrumentation-libraries} + +Se uma biblioteca não oferece suporte nativo ao OpenTelemetry, você pode usar +[bibliotecas de instrumentação](/docs/specs/otel/glossary/#instrumentation-library) +para gerar dados de telemetria para uma biblioteca ou framework. + +Por exemplo, +[a biblioteca de instrumentação para HTTPX](https://pypi.org/project/opentelemetry-instrumentation-httpx/) +cria automaticamente [trechos](/docs/concepts/signals/traces/#spans) com base em +solicitações HTTP. + +## Configuração {#setup} + +Você pode instalar cada biblioteca de instrumentação separadamente usando pip. +Por exemplo: + +```sh +pip install opentelemetry-instrumentation-{instrumented-library} +``` + +No exemplo anterior, `{instrumented-library}` é o nome da instrumentação. + +Para instalar uma versão de desenvolvimento, clone ou faça um _fork_ do +repositório `opentelemetry-python-contrib` e execute o seguinte comando para +fazer uma instalação editável: + +```sh +pip install -e ./instrumentation/opentelemetry-instrumentation-{integration} +``` + +Após a instalação, você precisará inicializar a biblioteca de instrumentação. +Cada biblioteca geralmente tem sua própria maneira de inicializar. + +## Exemplo com instrumentação HTTPX {#example-with-httpx-instrumentation} + +Veja como você pode instrumentar solicitações HTTP feitas usando a biblioteca +`httpx`. + +Primeiro, instale a biblioteca de instrumentação usando pip: + +```sh +pip install opentelemetry-instrumentation-httpx +``` + +Em seguida, use o instrumentador para rastrear automaticamente as solicitações +de todos os clientes: + +```python +import httpx +from opentelemetry.instrumentation.httpx import HTTPXClientInstrumentor + +url = "https://some.url/get" +HTTPXClientInstrumentor().instrument() + +with httpx.Client() as client: + response = client.get(url) + +async with httpx.AsyncClient() as client: + response = await client.get(url) +``` + +### Desativar instrumentações {#turn-off-instrumentations} + +Se necessário, você pode desinstrumentar clientes específicos ou todos os +clientes usando o método `uninstrument_client`. Por exemplo: + +```python +import httpx +from opentelemetry.instrumentation.httpx import HTTPXClientInstrumentor + +HTTPXClientInstrumentor().instrument() +client = httpx.Client() + +# Desinstrumentar um cliente específico +HTTPXClientInstrumentor.uninstrument_client(client) + +# Desinstrumentar todos os clientes +HTTPXClientInstrumentor().uninstrument() +``` + +## Bibliotecas de instrumentação disponíveis {#available-instrumentation-libraries} + +Uma lista completa de bibliotecas de instrumentação produzidas pelo +OpenTelemetry está disponível no repositório [opentelemetry-python-contrib][]. + +Você também pode encontrar mais instrumentações disponíveis em +[registro](/ecosystem/registry/?language=python&component=instrumentation). + +## Próximos passos {#next-steps} + +Depois de configurar as bibliotecas de instrumentação, você pode querer +adicionar sua própria [instrumentação](/docs/languages/python/instrumentation) +no seu código, para coletar dados de telemetria personalizados. + +Você também pode querer configurar um exporter apropriado para +[exportar seus dados de telemetria](/docs/languages/python/exporters) para um ou +mais _backends_ de telemetria. + +Você também pode verificar a +[Instrumentação sem código para Python](/docs/zero-code/python/). + +[opentelemetry-python-contrib]: + https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation#readme