-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pt] Add pt/content/docs/concepts/instrumentation #5098
Closed
marcelobaptista
wants to merge
6
commits into
open-telemetry:main
from
marcelobaptista:add_ptbr_instrumentation
Closed
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
b9615b0
[pt] Add pt/content/docs/concepts/instrumentation
marcelobaptista 5b26e38
Merge branch 'main' into add_ptbr_instrumentation
marcelobaptista 9c28b85
fix: broken links
marcelobaptista 79c6e60
Merge branch 'add_ptbr_instrumentation' of https://github.com/marcelo…
marcelobaptista 05fb8cb
fix: nested-spans.svg
marcelobaptista c576ebb
fix: prettify
marcelobaptista File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
title: Instrumentação | ||
description: Como o OpenTelemetry facilita a instrumentação | ||
aliases: [instrumentation] | ||
weight: 15 | ||
default_lang_commit: 13c2d415e935fac3014344e67c6c61556779fd6f | ||
--- | ||
|
||
Para tornar um sistema observável, ele deve ser **instrumentado**: Ou seja, o | ||
código dos componentes do sistema devem emitir | ||
[rastros](/docs/concepts/signals/traces/), | ||
[métricas](/docs/concepts/signals/metrics/), e | ||
[logs](/docs/concepts/signals/logs/). | ||
|
||
Usando o OpenTelemetry, você pode instrumentar seu código de duas maneiras | ||
principais: | ||
|
||
1. [Soluções baseadas em código](/docs/concepts/instrumentation/code-based) | ||
através das | ||
[APIs e SDKs oficiais para a maioria das linguagens](/docs/languages/) | ||
2. [Soluções autoinstrumentadas](/docs/concepts/instrumentation/zero-code/) | ||
|
||
Soluções **baseadas em código** permitem obter uma visão mais profunda e rica da | ||
telemetria da própria aplicação. Elas permitem que você use a API do | ||
OpenTelemetry para gerar telemetria a partir da sua aplicação, o que atua como | ||
um complemento essencial para a telemetria gerada por soluções | ||
autoinstrumentadas. | ||
|
||
Soluções **autoinstrumentadas** são ótimas para começar ou quando você não pode | ||
modificar a aplicação da qual você precisa obter telemetria. Elas fornecem uma | ||
rica telemetria a partir das bibliotecas que você usa e/ou do ambiente no qual | ||
sua aplicação é executada. Outra forma de pensar é que elas fornecem informações | ||
sobre o que está acontecendo _nas bordas_ da sua aplicação. | ||
|
||
Você pode usar ambas as soluções simultaneamente. | ||
|
||
## Benefícios adicionais do OpenTelemetry | ||
|
||
O OpenTelemetry oferece mais do que apenas soluções de telemetria | ||
autoinstrumentadas e baseadas em código. Também fazem parte do OpenTelemetry: | ||
|
||
- As bibliotecas podem aproveitar a API do OpenTelemetry como uma dependência, o | ||
que não terá impacto nas aplicações que usam essa biblioteca, a menos que o | ||
SDK do OpenTelemetry seja importado. | ||
- Para cada [sinal](/docs/concepts/signals) (rastros, métricas, logs), você tem | ||
vários métodos à sua disposição para criar, processar e exportá-los. | ||
- Com a [propagação de contexto](/docs/concepts/context-propagation) incorporada | ||
nas implementações, você pode correlacionar sinais independentemente de onde | ||
eles são gerados. | ||
- [Recursos](/docs/concepts/resources) e | ||
marcelobaptista marked this conversation as resolved.
Show resolved
Hide resolved
|
||
[Escopos de Instrumentação](/docs/concepts/instrumentation-scope) permitem | ||
agrupar sinais por diferentes entidades, como o | ||
[host](/docs/specs/semconv/resource/host/), | ||
[sistema operacional](/docs/specs/semconv/resource/os/) ou | ||
[cluster K8s](/docs/specs/semconv/resource/k8s/#cluster). | ||
- Cada implementação específica de linguagem da API e SDK seguem os requisitos e | ||
expectativas da [especificação do OpenTelemetry](/docs/specs/otel/). | ||
- As [Convenções Semânticas](/docs/concepts/semantic-conventions) fornecem um | ||
esquema de nomenclatura comum que pode ser usado para padronização em bases de | ||
código e plataformas. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
--- | ||
title: Instrumentação baseada em Código | ||
description: | ||
Aprenda o essencial para configurar a instrumentação baseada em código | ||
weight: 20 | ||
aliases: [manual] | ||
cSpell:ignore: proxying | ||
default_lang_commit: 13c2d415e935fac3014344e67c6c61556779fd6f | ||
--- | ||
|
||
## Importe a API e SDK do OpenTelemetry | ||
|
||
Primeiro, você precisará importar o OpenTelemetry para o código do seu serviço. | ||
Se você estiver desenvolvendo uma biblioteca ou algum outro componente que será | ||
consumido por um binário executável, então você só precisará depender da API. Se | ||
o seu artefato for um processo ou serviço independente, então você precisará | ||
depender tanto da API quanto do SDK. Para saber mais informações sobre a API e | ||
SDK do OpenTelemetry, consulte a [especificação](/docs/specs/otel/). | ||
|
||
## Configure a API do OpenTelemetry | ||
|
||
Para criar rastros ou métricas, você precisará primeiro criar um rastreador e/ou | ||
um provedor de métricas. Em geral, recomendamos que o SDK forneça um provedor | ||
padrão único para esses objetos. Em seguida, você obterá uma instância de | ||
rastreador ou medidor desse provedor e dará a ele um nome e uma versão. O nome | ||
que você escolher aqui deve identificar exatamente o que está sendo | ||
instrumentado - se você estiver escrevendo uma biblioteca, por exemplo, então | ||
você deve nomeá-la com o nome da sua biblioteca (por exemplo, | ||
`com.example.myLibrary`), pois esse nome irá agrupar todos os spans ou eventos | ||
de métricas produzidos. Também é recomendado que você forneça uma string de | ||
versão (por exemplo, `semver:1.0.0`) que corresponda à versão atual da sua | ||
biblioteca ou serviço. | ||
|
||
## Configure o SDK do OpenTelemetry | ||
|
||
Se você estiver desenvolvendo um processo de serviço, também precisará | ||
configurar o SDK com as opções apropriadas para exportar seus dados de | ||
telemetria para algum backend de análise. Recomendamos que essa configuração | ||
seja feita programaticamente por meio de um arquivo de configuração ou algum | ||
outro mecanismo. Também existem opções de ajuste específicas de cada linguagem | ||
das quais você pode se beneficiar. | ||
|
||
## Crie Dados de Telemetria | ||
|
||
Depois de configurar a API e o SDK, você poderá criar rastros e eventos de | ||
métricas por meio dos objetos rastreador e medidor que você obteve do provedor. | ||
Utilize Bibliotecas de Instrumentação para suas dependências - confira o | ||
[registro](/ecosystem/registry/) ou o repositório da linguagem escolhida para | ||
ter mais informações sobre elas. | ||
|
||
## Exporte os Dados | ||
|
||
Depois de criar os dados de telemetria, você vai querer enviá-los para algum | ||
lugar. O OpenTelemetry suporta dois métodos principais de exportação de dados do | ||
seu processo para um backend de análise, seja diretamente de um processo ou por | ||
meio do [OpenTelemetry Collector](/docs/collector). | ||
|
||
A exportação in-process requer que você importe e dependa de um ou mais | ||
_exporters_, bibliotecas que traduzem os objetos de trecho e métrica em memória | ||
do OpenTelemetry para o formato apropriado para ferramentas de análise de | ||
telemetria como Jaeger ou Prometheus. Além disso, o OpenTelemetry suporta um | ||
protocolo de comunicação conhecido como `OTLP`, que é suportado por todos os | ||
SDKs do OpenTelemetry. Esse protocolo pode ser usado para enviar dados para o | ||
OpenTelemetry Collector, um processo binário independente que pode ser executado | ||
como um proxy ou sidecar para suas instâncias de serviço ou em um host separado. | ||
O Collector pode então ser configurado para encaminhar e exportar esses dados | ||
para as suas ferramentas de análise preferidas. | ||
|
||
Além de ferramentas de código aberto como Jaeger ou Prometheus, uma lista | ||
crescente de empresas suporta a ingestão de dados de telemetria do | ||
OpenTelemetry. Para mais detalhes, consulte [Fornecedores](/ecosystem/vendors/). |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seria bom especificar que tipo de linguagem:
linguagens de programação
.