Skip to content
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] Localize content java instrumentation #6085

Merged
Merged
Changes from 139 commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
2bc1eec
first day of traduction.
Vinaum8 Jan 25, 2025
ae139aa
first day of traduction.
Vinaum8 Jan 25, 2025
178d7ce
Publish Branch to Review - Prettier
Vinaum8 Jan 25, 2025
9b8ce06
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 26, 2025
18c581a
Add default lang commit id.
Vinaum8 Jan 27, 2025
7d1a35f
fix convenção name.
Vinaum8 Jan 27, 2025
50eb158
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 27, 2025
9b73595
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 27, 2025
2fe67c5
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 27, 2025
577a00b
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 27, 2025
48e2635
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 27, 2025
9e34db9
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 27, 2025
e0b31f8
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 27, 2025
ec76105
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 27, 2025
490026b
Aplicado tradução de spans para trechos.
Vinaum8 Jan 27, 2025
f948314
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 27, 2025
6e82c7d
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
85b2a0d
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
e3746d9
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
f5978e6
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
39cb9ec
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
6b22163
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
3644a6e
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
a8a6f74
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
251121b
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
1d067f4
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
e299fe4
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
aab7d2c
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
cb481e7
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
050f6de
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
e2e041c
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
d15906c
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
d9cbaf6
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
cdc9de7
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
72d9f20
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
1fe8a62
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
df2550d
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
1a5c2c5
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
597ea89
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
4f5cdfe
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
3265b4b
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
f942c5e
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
da58df7
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
3d18840
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
42f86b4
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
e17a192
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
fc0b96a
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
9e7275c
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
2f82d79
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
bb64c26
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
80ec114
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
bad56a8
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
dc46a6d
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
888a913
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
5b95a29
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
7832b81
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
01f1b59
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
41a00d9
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
c062b00
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
46d956a
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
f35c36a
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
12b8485
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
a80a946
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
9398d78
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
46a7546
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
2c7cab4
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
3a609e5
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
d4e0481
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
4ece544
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
fab451b
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
94d295c
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
7c81234
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
de933c3
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
0243198
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
e778db7
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
491e441
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
621eced
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
b2b3e77
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
a206de4
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
69bde73
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 28, 2025
5144378
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 28, 2025
57667a1
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
b1842a4
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 28, 2025
50cee8a
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 28, 2025
8b3c561
Update instrumentation.md
Vinaum8 Jan 28, 2025
f5626a8
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
f2100d5
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
517de8f
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
94eb3ed
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
cb0ae7b
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
e1164ef
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
5d9845a
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
481636d
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
b748a4d
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
f1022a2
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
c9f18b4
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
ca7f76c
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
ef3cbc1
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
e658b8d
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 29, 2025
20ff8ea
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
af0e54e
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
9826a20
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
ae617ab
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
ca0af6e
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
ddc951a
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
5a19063
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
5949a72
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
805b87f
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
b8acc41
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
6b25662
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
6637fd9
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
151f2f6
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
3aa207e
Update instrumentation.md
Vinaum8 Jan 29, 2025
1998192
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
cb2dfb5
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
e23e368
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
35ca1b7
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 29, 2025
a7ad32d
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 29, 2025
455f184
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 30, 2025
7bc9d07
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 30, 2025
b7e1443
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 30, 2025
e8414b8
Auto-update registry versions (766437a4760861f20f0c9512654cc78b92d596…
opentelemetrybot Jan 30, 2025
1a63fbe
Add Go Auto-Instrumentation Beta Announcement Blog Post (#6079)
MrAlias Jan 30, 2025
f82484d
registry: add @fastify/otel to registry (#6024)
metcoder95 Jan 30, 2025
7724987
Update (or create) `opentelemetrybot/semantic-conventions-v*` branch …
trask Jan 30, 2025
94cd759
[i18n] Google translate button in fallback pages for all locales (#6117)
chalin Jan 30, 2025
96eb65b
Update community members (#6105)
opentelemetrybot Jan 30, 2025
c7bc6ca
Resolve Markdown Lint
Vinaum8 Jan 30, 2025
b80fa81
[CI] Semconv: apply patch to remove path_base (#6107)
chalin Jan 30, 2025
e51f0ec
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 30, 2025
82241db
Resolve Markdown Lint
Vinaum8 Jan 30, 2025
6326b91
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 30, 2025
db6ce1a
npm run fix:format
Vinaum8 Jan 30, 2025
3e63e86
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 30, 2025
f688842
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 31, 2025
a22bf04
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 31, 2025
525e1cd
Update content/pt/docs/languages/java/instrumentation.md
Vinaum8 Jan 31, 2025
08423bc
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 31, 2025
d76c076
Merge branch 'main' into localize-content-java-instrumentation
EzzioMoreira Jan 31, 2025
5bce55d
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 31, 2025
0bddd82
Apply suggestions from code review
chalin Jan 31, 2025
08d3b35
Merge branch 'main' into localize-content-java-instrumentation
chalin Jan 31, 2025
4e910b6
Results from /fix:all
opentelemetrybot Jan 31, 2025
3862b25
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Jan 31, 2025
068bab2
Merge branch 'main' into localize-content-java-instrumentation
Vinaum8 Feb 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
242 changes: 242 additions & 0 deletions content/pt/docs/languages/java/instrumentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,242 @@
---
title: Ecossistema de Instrumentação
aliases:
- /docs/java/getting_started
- /docs/java/manual_instrumentation
- manual
- manual_instrumentation
- libraries
weight: 10
description: Ecossistema de Instrumentação no OpenTelemetry Java
default_lang_commit: d65798034935fcfdbdc6599b6e6d3dd942fbe62c
cSpell:ignore: Logback logback
---

<!-- markdownlint-disable no-duplicate-heading -->

A instrumentação registra a telemetria usando a [API](../api/). O [SDK](../sdk/)
é a implementação de referência embutida na API, e é
[configurada](../configuration/) para processar e exportar a telemetria
produzida pelas chamadas de instrumentação da API. Esta página discute o
ecossistema de instrumentação no OpenTelemetry Java, incluindo recursos para
usuários finais e tópicos relacionados à instrumentação:

- [Categorias de instrumentação](#instrumentation-categories): Existem diversas
categorias de instrumentação para diferentes casos de uso e padrões de
instalação.
- [Propagação de Contexto](#context-propagation): Propagação de Contexto provê
uma correlação entre rastros, métricas, e logs, permitindo que os sinais se
complementem.
- [Convenções semânticas](#semantic-conventions): As convenções semânticas
definem como produzir telemetria para operações padrão.
- [Log instrumentation](#log-instrumentation)

{{% alert %}} Embora as
[categorias de instrumentação](#instrumentation-categories) enumerem diversas
opções para instrumentar uma aplicação, nós recomendamos que os usuários iniciem
com o [Agente Java](#zero-code-java-agent). O agente Java possui uma instalação
simples, e automaticamente detecta e instala instrumentação de uma vasta
biblioteca. {{% /alert %}}

## Categorias de instrumentação {#instrumentation-categories}

Existem diversas categorias de instrumentação:

- [Sem código: Agente Java](#zero-code-java-agent) é uma forma de instrumentação
sem código **[1]** que manipula dinamicamente o _bytecode_ da aplicação.
- [Sem código: Spring Boot starter](#zero-code-spring-boot-starter) é uma forma
de instrumentação sem código **[1]** que utiliza a autoconfiguração do spring
para instalar [biblioteca de instrumentação](#library-instrumentation).
- [Biblioteca de instrumentação](#library-instrumentation) envolve ou utiliza
pontos de extensão para instrumentar uma biblioteca, exigindo que os usuários
instalem e/ou adaptem o uso da biblioteca.
- [Instrumentação nativa](#native-instrumentation) é incorporada diretamente em
bibliotecas e frameworks.
- [Instrumentação manual](#manual-instrumentation) é escrito pelos autores das
aplicações, e normalmente específico para o domínio da aplicação.
- [Shims](#shims) conectam dados de uma biblioteca de observabilidade a outra,
normalmente _de_ alguma biblioteca para o OpenTelemetry.

**[1]**: A instrumentação sem código é instalada automaticamente baseado nas
bibliotecas e frameworks detectados.

O projeto
[opentelemetry-java-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
contém o código fonte do Agente Java, inicializador Spring Boot, e Biblioteca de
instrumentação.

### Sem código: Agente Java
chalin marked this conversation as resolved.
Show resolved Hide resolved

O agente do Java é uma forma de
[instrumentação automática](/docs/specs/otel/glossary/#automatic-instrumentation)
zero código que manipula dinamicamente o _bytecode_ da aplicação.

Para uma lista de bibliotecas instrumentadas pelo agente do Java, confira a
coluna _"Auto-instrumented versions"_ (versões auto-instrumentadas) em
[bibliotecas suportadas](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md).

Veja [Agente Java](/docs/zero-code/java/agent/) para mais detalhes.

### Sem código: inicializador Spring Boot
chalin marked this conversation as resolved.
Show resolved Hide resolved

O inicializador Spring Boot é uma forma de
[instrumentação automática](/docs/specs/otel/glossary/#automatic-instrumentation)
zero código que aproveita a autoconfiguração do spring para instalar a
[biblioteca de instrumentação](#library-instrumentation).

Veja [inicializador Spring Boot](/docs/zero-code/java/spring-boot-starter/) para
detalhes.

### Biblioteca de instrumentação {#library-instrumentation}

[Biblioteca de instrumentação](/docs/specs/otel/glossary/#instrumentation-library)
envolve ou usa os pontos de extensão para instrumentar a biblioteca, obrigando
os usuários a instalar e/ou adaptar o uso da biblioteca.

Para uma lista de bibliotecas de instrumentação, veja a coluna _"Standalone
Library Instrumentation [1]"_ (Biblioteca autônoma de instrumentação) em
[bibliotecas suportadas](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md).

### Instrumentação nativa {#native-instrumentation}

[Instrumentação nativa](/docs/specs/otel/glossary/#natively-instrumented) é
definido diretamente nas bibliotecas ou _frameworks_. O OpenTelemetry encoraja
os autores de bibliotecas a adicionarem instrumentação nativa usando a
[API](../api/). No longo prazo, nós esperamos que a instrumentação nativa seja o
padrão, e que a instrumentação mantida pelo OpenTelemetry em
[opentelemetry-java-instrumentação](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
seja um meio temporário de preencher a lacuna.

{{% docs/languages/native-libraries "java" %}}

### Instrumentação manual {#manual-instrumentation}

[Instrumentação manual](/docs/specs/otel/glossary/#manual-instrumentation) é
escrita pelos autores das aplicações, e normalmente específica para o domínio da
aplicação.

### Shims

Um shim é uma instrumentação que conecta dados de uma biblioteca de
observabilidade até outra, normalmente _de_ alguma biblioteca para o
OpenTelemetry.

Shims mantidos no ecossistema OpenTelemetry Java:

| Descrição | Documentação | Sinal(s) | Artefato |
| ----------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Bridge [OpenTracing](https://opentracing.io/) no OpenTelemetry | [LEIA-ME](https://github.com/open-telemetry/opentelemetry-java/tree/main/opentracing-shim) | Rastros | `io.opentelemetry:opentelemetry-opentracing-shim:{{% param vers.otel %}}` |
| Bridge [Opencensus](https://opencensus.io/) no OpenTelemetry | [LEIA-ME](https://github.com/open-telemetry/opentelemetry-java/tree/main/opencensus-shim) | Rastros, Métricas | `io.opentelemetry:opentelemetry-opencensus-shim:{{% param vers.otel %}}-alpha` |
| Bridge [Micrometer](https://micrometer.io/) no OpenTelemetry | [LEIA-ME](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/micrometer/micrometer-1.5/library) | Métricas | `io.opentelemetry.instrumentation:opentelemetry-micrometer-1.5:{{% param vers.instrumentation %}}-alpha` |
| Bridge [JMX](https://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html) no OpenTelemetry | [LEIA-ME](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/instrumentation/jmx-metrics/javaagent/LEIA-ME.md) | Métricas | `io.opentelemetry.instrumentation:opentelemetry-jmx-metrics:{{% param vers.instrumentation %}}-alpha` |
chalin marked this conversation as resolved.
Show resolved Hide resolved
| Bridge OpenTelemetry no [Prometheus Java client](https://github.com/prometheus/client_java) | [LEIA-ME](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/prometheus-client-bridge) | Métricas | `io.opentelemetry.contrib:opentelemetry-prometheus-client-bridge:{{% param vers.contrib %}}-alpha` |
| Bridge OpenTelemetry no [Micrometer](https://micrometer.io/) | [LEIA-ME](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/micrometer-meter-provider) | Métricas | `io.opentelemetry.contrib:opentelemetry-micrometer-meter-provider:{{% param vers.contrib %}}-alpha` |
| Bridge [Log4j](https://logging.apache.org/log4j/2.x/index.html) no OpenTelemetry | [LEIA-ME](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/log4j/log4j-appender-2.17/library) | Logs | `io.opentelemetry.instrumentation:opentelemetry-log4j-appender-2.17:{{% param vers.instrumentation %}}-alpha` |
| Bridge [Logback](https://logback.qos.ch/) no OpenTelemetry | [LEIA-ME](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/logback/logback-appender-1.0/library) | Logs | `io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0:{{% param vers.instrumentation %}}-alpha` |
| Bridge OpenTelemetry context no [Log4j](https://logging.apache.org/log4j/2.x/index.html) | [LEIA-ME](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/log4j/log4j-context-data/log4j-context-data-2.17/library-autoconfigure) | Context | `io.opentelemetry.instrumentation:opentelemetry-log4j-context-data-2.17-autoconfigure:{{% param vers.instrumentation %}}-alpha` |
| Bridge OpenTelemetry context no [Logback](https://logback.qos.ch/) | [LEIA-ME](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/logback/logback-mdc-1.0/library) | Context | `io.opentelemetry.instrumentation:opentelemetry-logback-mdc-1.0:{{% param vers.instrumentation %}}-alpha` |

## Propagação de Contexto {#context-propagation}

As APIs do OpenTelemetry foram desenhadas para serem complementares, onde o todo
é maior que a soma das partes. Cada sinal tem seus pontos fortes e juntos formam
uma narrativa convincente de observabilidade.

É importante ressaltar que os dados de vários sinais são interligados através do
contexto de rastreamento:

- Trecho são relacionados com outros trechos através do trecho pai e links, que
registram os contextos de rastreamento dos trechos relacionados.
- Métricas são relacionadas a trechos através de
[exemplares](/docs/specs/otel/metrics/data-model/#exemplars), que registram o
contexto de rastreamento de uma medição específica.
- Logs são relacionados a trechos ao registrar o contexto de rastreamento nos
registros de logs.

Para essa correlação funcionar, o contexto de rastreamento precisa ser propagado
através da aplicação (entre chamada de funções e processos), e entre limites da
aplicação. A [API de contexto](../api/#context-api) facilita isso.

A instrumentação deve ser escrita de uma maneira que seja ciente do contexto:

- Bibliotecas que representam um ponto de entrada da aplicação (i.e. servidores
HTTP, consumidores de mensagens, etc.) devem
[extrair o contexto](../api/#contextpropagators) de mensagens recebidas.
- Bibliotecas que representam um ponto de saída de uma aplicação (ex. clientes
HTTP, produtores de mensagens, etc.) devem
[injetar o contexto](../api/#contextpropagators) em mensagens de saída.
- Bibliotecas devem passar implicitamente ou explicitamente o
[contexto](../api/#context) através da pilha de chamadas e entre qualquer
processo.

## Convenção semântica {#semantic-conventions}

As [convenções semânticas](/docs/specs/semconv/) definem como produzir
telemetria para operações padrão. Entre outras coisas, as convenções semânticas
especificam nomes e tipos de trechos, instrumentos de métrica, unidades de
métricas, tipos de métricas, e atributos chave, valor, e níveis de requisitos.

Ao escrever instrumentação, consulte a convenção semântica e confirme que
quaisquer convenções aplicáveis ao domínio estejam sendo seguidas.

O OpenTelemetry Java [publica artefatos](../api/#semantic-attributes) para
auxiliar a conformidade com a convenção semântica, incluindo constantes geradas
para chaves e valores de atributos.

## Instrumentação de Log {#log-instrumentation}

Enquanto as APIs do [LoggerProvider](../api/#loggerprovider) /
[Logger](../api/#logger) são estruturalmente similares ou equivalentes às APIs
de [rastros](../api/#tracerprovider) e [métricas](../api/#meterprovider), elas
possuem diferentes casos de uso. A partir de agora, `LoggerProvider` / `Logger`
e as classes associadas representam a
[Log Bridge API](/docs/specs/otel/logs/api/), que existe para escrever
anexadores de logs para conectar logs registrados através de outras APIs de log
/ frameworks no OpenTelemetry. Eles não são destinados para usuários finais como
um substituto para Log4j / SLF4J / Logback / etc.

Eles são dois _workflows_ típicos para consumir instrumentação de logs no
OpenTelemetry atendendo a diferentes requisitos de aplicação:

### Direto para o Collector {#direct-to-collector}

No _workflow_ direto para o Collector, logs são emitidos diretamente da
aplicação para o Collector usando um protocolo de rede (ex. OTLP). Este
_workflow_ é simples para configurar já que não requer nenhum componente
adicional de encaminhamento de log, e permite que uma aplicação facilmente emita
logs estruturados em conformidade com o
[modelo de dados de log](/docs/specs/otel/logs/data-model/). No entanto, a
sobrecarga necessária para as aplicações enfileirarem e exportarem os logs para
um local de rede pode não ser adequada para todas as aplicações.

Para usar este _workflow_:

- Instale o conector apropriado de log. **[1]**
- Configure o OpenTelemetry [Log SDK](../sdk/#sdkloggerprovider) para exportar
registros de logs para o destino desejado (o
[Collector](https://github.com/open-telemetry/opentelemetry-collector) ou
outro).

**[1]**: Anexadores de Logs são um tipo de [shim](#shims) que conecta logs de um
_framework_ no SDK de Logs do OpenTelemetry. Veja os items "Bridge Log4j em
OpenTelemetry", "Bridge Logback em OpenTelemetry". Veja
[Exemplo de Anexadores de Logs](https://github.com/open-telemetry/opentelemetry-java-docs/tree/main/log-appender)
para demonstração de uma variedade de cenários.

### Via arquivo ou stdout {#via-file-or-stdout}

No _workflow_ para arquivos ou _stdout_, os logs são gravados em arquivos ou na
saída _standout_. Outro componente (ex. FluentBit) é responsável por ler /
acompanhar os logs, convertê-los para um formato mais estruturado, e
encaminhá-los para um destino, como um Collector. Este _workflow_ pode ser
preferível em situações onde os requisitos da aplicação não permitem sobrecarga
adicional da abordagem [direto para o Collector](#direct-to-collector). No
entanto, isso requer que todos os campos de logs necessários para processamento
posterior sejam codificados nos logs, e este componente lendo os logs os
interprete no [modelo de dados de log](/docs/specs/otel/logs/data-model). A
instalação e configuração dos componentes de encaminhamento de log está fora do
escopo deste documento.

Correlação de Logs com rastros está disponível instalando um [shim](#shims) para
conectar o contexto do OpenTelemetry no log framework. Veja os items "Bridge
OpenTelemetry contexto em Log4j", "Bridge OpenTelemetry contexto em Logback".
Loading