From 7a5a0dd75a03fcc1ad08982fcce886197418d6d4 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Mon, 11 Nov 2024 11:26:07 +0100 Subject: [PATCH 01/21] Add new page feedback issue template (#5548) Signed-off-by: svrnm Co-authored-by: Tiffany Hrabusa <30397949+tiffany76@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/PAGE_FEEDBACK.yml | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/PAGE_FEEDBACK.yml diff --git a/.github/ISSUE_TEMPLATE/PAGE_FEEDBACK.yml b/.github/ISSUE_TEMPLATE/PAGE_FEEDBACK.yml new file mode 100644 index 000000000000..32ad4c4abaaf --- /dev/null +++ b/.github/ISSUE_TEMPLATE/PAGE_FEEDBACK.yml @@ -0,0 +1,27 @@ +name: Page Feedback +description: >- + Used for page feedback from users visiting opentelemetry.io and clicking "no" + if a page was helpful. +title: '[Page Feedback]: summary of your feedback' +body: + - type: input + id: url + attributes: + label: URL + description: >- + The URL of the webpage where you are facing an issue. If not + auto-populated, please copy the URL from the browser address bar. + placeholder: https://opentelemetry.io/ + validations: + required: true + - type: textarea + id: description + attributes: + label: Description + description: + 'How has the page not been helpful? What information is missing? ' + placeholder: >- + Provide details on the problem. The more information you share with us + the faster we can resolve the issue. + validations: + required: true From eb958bdbc31ba6d0c29a6b03989d761db6065274 Mon Sep 17 00:00:00 2001 From: jack-berg <34418638+jack-berg@users.noreply.github.com> Date: Mon, 11 Nov 2024 05:01:08 -0600 Subject: [PATCH 02/21] Update java docs for 1.44.0 release (#5566) --- .../en/docs/languages/java/configuration.md | 34 ++++++------ content/en/docs/languages/java/sdk.md | 52 +++++++++++-------- 2 files changed, 47 insertions(+), 39 deletions(-) diff --git a/content/en/docs/languages/java/configuration.md b/content/en/docs/languages/java/configuration.md index 5668297caa6d..86cdd3586895 100644 --- a/content/en/docs/languages/java/configuration.md +++ b/content/en/docs/languages/java/configuration.md @@ -141,13 +141,13 @@ returns a minimally configured instance (for example, Properties for configuring [resource](../sdk/#resource): -| System property | Description | Default | -| ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | -| `otel.service.name` | Specify logical service name. Takes precedence over `service.name` defined with `otel.resource.attributes`. | `unknown_service:java` | -| `otel.resource.attributes` | Specify resource attributes in the following format: `key1=val1,key2=val2,key3=val3`. | | -| `otel.experimental.resource.disabled-keys` | Specify resource attribute keys to filter. This option is experimental and subject to change or removal. | | -| `otel.java.enabled.resource.providers` | Comma-separated list of `ResourceProvider` fully qualified class names to enable. **[1]** If unset, all resource providers are enabled. | | -| `otel.java.disabled.resource.providers` | Comma-separated list of `ResourceProvider` fully qualified class names to disable. **[1]** | | +| System property | Description | Default | +| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | +| `otel.service.name` | Specify logical service name. Takes precedence over `service.name` defined with `otel.resource.attributes`. | `unknown_service:java` | +| `otel.resource.attributes` | Specify resource attributes in the following format: `key1=val1,key2=val2,key3=val3`. | | +| `otel.resource.disabled-keys` | Specify resource attribute keys to filter. | | +| `otel.java.enabled.resource.providers` | Comma-separated list of `ResourceProvider` fully qualified class names to enable. **[1]** If unset, all resource providers are enabled. | | +| `otel.java.disabled.resource.providers` | Comma-separated list of `ResourceProvider` fully qualified class names to disable. **[1]** | | **[1]**: For example, to disable the [OS resource provider](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/OsResourceProvider.java), @@ -260,12 +260,12 @@ exporters via `otel.logs.exporter`: Properties for setting exporters: -| System property | Purpose | Default | -| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------- | -| `otel.traces.exporter` | Comma-separated list of span exporters. Known values include `otlp`, `zipkin`, `console`, `logging-otlp`, `none`. **[1]** | `otlp` | -| `otel.metrics.exporter` | Comma-separated list of metric exporters. Known values include `otlp`, `prometheus`, `none`. **[1]** | `otlp` | -| `otel.logs.exporter` | Comma-separated list of log record exporters. Known values include `otlp`, `console`, `logging-otlp`, `none`. **[1]** | `otlp` | -| `otel.java.experimental.exporter.memory_mode` | If `reusable_data`, enable reusable memory mode (on exporters which support it) to reduce allocations. Known values include `reusable_data`, `immutable_data`. This option is experimental and subject to change or removal. **[2]** | `immutable_data` | +| System property | Purpose | Default | +| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | +| `otel.traces.exporter` | Comma-separated list of span exporters. Known values include `otlp`, `zipkin`, `console`, `logging-otlp`, `none`. **[1]** | `otlp` | +| `otel.metrics.exporter` | Comma-separated list of metric exporters. Known values include `otlp`, `prometheus`, `none`. **[1]** | `otlp` | +| `otel.logs.exporter` | Comma-separated list of log record exporters. Known values include `otlp`, `console`, `logging-otlp`, `none`. **[1]** | `otlp` | +| `otel.java.exporter.memory_mode` | If `reusable_data`, enable reusable memory mode (on exporters which support it) to reduce allocations. Known values include `reusable_data`, `immutable_data`. **[2]** | `reusable_data` | **[1]**: Known exporters and artifacts (see [span exporter](../sdk/#spanexporter), @@ -277,10 +277,12 @@ Properties for setting exporters: - `console` configures `LoggingSpanExporter`, `LoggingMetricExporter`, `SystemOutLogRecordExporter`. - `logging-otlp` configures `OtlpJsonLogging{Signal}Exporter`. +- `experimental-otlp/stdout` configures `OtlpStdout{Signal}Exporter` (this + option is experimental and subject to change or removal). **[2]**: Exporters which adhere to -`otel.java.experimental.exporter.memory_mode=reusable_data` are -`OtlpGrpc{Signal}Exporter`, `OtlpHttp{Signal}Exporter`, and +`otel.java.exporter.memory_mode=reusable_data` are `OtlpGrpc{Signal}Exporter`, +`OtlpHttp{Signal}Exporter`, `OtlpStdout{Signal}Exporter`, and `PrometheusHttpServer`. Properties for `otlp` span, metric, and log exporters: @@ -306,7 +308,7 @@ Properties for `otlp` span, metric, and log exporters: | `otel.exporter.otlp.{signal}.timeout` | The maximum waiting time, in milliseconds, allowed to send each OTLP {signal} batch. | `10000` | | `otel.exporter.otlp.metrics.temporality.preference` | The preferred output aggregation temporality. Options include `DELTA`, `LOWMEMORY`, and `CUMULATIVE`. If `CUMULATIVE`, all instruments will have cumulative temporality. If `DELTA`, counter (sync and async) and histograms will be delta, up down counters (sync and async) will be cumulative. If `LOWMEMORY`, sync counter and histograms will be delta, async counter and up down counters (sync and async) will be cumulative. | `CUMULATIVE` | | `otel.exporter.otlp.metrics.default.histogram.aggregation` | The preferred default histogram aggregation. Options include `BASE2_EXPONENTIAL_BUCKET_HISTOGRAM` and `EXPLICIT_BUCKET_HISTOGRAM`. | `EXPLICIT_BUCKET_HISTOGRAM` | -| `otel.experimental.exporter.otlp.retry.enabled` | If `true`, retry on when transient errors occur. **[2]** | `false` | +| `otel.java.exporter.otlp.retry.enabled` | If `true`, retry on when transient errors occur. **[2]** | `true` | **NOTE:** The text placeholder `{signal}` refers to the supported [OpenTelemetry Signal](/docs/concepts/signals/). Valid values include `traces`, diff --git a/content/en/docs/languages/java/sdk.md b/content/en/docs/languages/java/sdk.md index f2c58896dbce..63235139dc14 100644 --- a/content/en/docs/languages/java/sdk.md +++ b/content/en/docs/languages/java/sdk.md @@ -425,15 +425,16 @@ for exporting spans out of process. Rather than directly registering with Span exporters built-in to the SDK and maintained by the community in `opentelemetry-java-contrib`: -| Class | Artifact | Description | -| ------------------------------ | ---------------------------------------------------------------------------------------- | -------------------------------------------------------- | -| `OtlpHttpSpanExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports spans via OTLP `http/protobuf`. | -| `OtlpGrpcSpanExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports spans via OTLP `grpc`. | -| `LoggingSpanExporter` | `io.opentelemetry:opentelemetry-exporter-logging:{{% param vers.otel %}}` | Logs spans to JUL in a debugging format. | -| `OtlpJsonLoggingSpanExporter` | `io.opentelemetry:opentelemetry-exporter-logging-otlp:{{% param vers.otel %}}` | Logs spans to JUL in the OTLP JSON encoding. | -| `ZipkinSpanExporter` | `io.opentelemetry:opentelemetry-exporter-zipkin:{{% param vers.otel %}}` | Export spans to Zipkin. | -| `InterceptableSpanExporter` | `io.opentelemetry.contrib:opentelemetry-processors:{{% param vers.contrib %}}-alpha` | Passes spans to a flexible interceptor before exporting. | -| `KafkaSpanExporter` | `io.opentelemetry.contrib:opentelemetry-kafka-exporter:{{% param vers.contrib %}}-alpha` | Exports spans by writing to a Kafka topic. | +| Class | Artifact | Description | +| ------------------------------ | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `OtlpHttpSpanExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports spans via OTLP `http/protobuf`. | +| `OtlpGrpcSpanExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports spans via OTLP `grpc`. | +| `LoggingSpanExporter` | `io.opentelemetry:opentelemetry-exporter-logging:{{% param vers.otel %}}` | Logs spans to JUL in a debugging format. | +| `OtlpJsonLoggingSpanExporter` | `io.opentelemetry:opentelemetry-exporter-logging-otlp:{{% param vers.otel %}}` | Logs spans to JUL in an OTLP JSON encoding. | +| `OtlpStdoutSpanExporter` | `io.opentelemetry:opentelemetry-exporter-logging-otlp:{{% param vers.otel %}}` | Logs spans to `System.out` in the OTLP [JSON file encoding][] (experimental). | +| `ZipkinSpanExporter` | `io.opentelemetry:opentelemetry-exporter-zipkin:{{% param vers.otel %}}` | Export spans to Zipkin. | +| `InterceptableSpanExporter` | `io.opentelemetry.contrib:opentelemetry-processors:{{% param vers.contrib %}}-alpha` | Passes spans to a flexible interceptor before exporting. | +| `KafkaSpanExporter` | `io.opentelemetry.contrib:opentelemetry-kafka-exporter:{{% param vers.contrib %}}-alpha` | Exports spans by writing to a Kafka topic. | **[1]**: See [OTLP exporter sender](#otlp-exporter-senders) for implementation details. @@ -743,13 +744,14 @@ for exporting metrics out of process. Rather than directly registering with Metric exporters built-in to the SDK and maintained by the community in `opentelemetry-java-contrib`: -| Class | Artifact | Description | -| -------------------------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------- | -| `OtlpHttpMetricExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports metrics via OTLP `http/protobuf`. | -| `OtlpGrpcMetricExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports metrics via OTLP `grpc`. | -| `LoggingMetricExporter` | `io.opentelemetry:opentelemetry-exporter-logging:{{% param vers.otel %}}` | Logs metrics to JUL in a debugging format. | -| `OtlpJsonLoggingMetricExporter` | `io.opentelemetry:opentelemetry-exporter-logging-otlp:{{% param vers.otel %}}` | Logs metrics to JUL in the OTLP JSON encoding. | -| `InterceptableMetricExporter` | `io.opentelemetry.contrib:opentelemetry-processors:{{% param vers.contrib %}}-alpha` | Passes metrics to a flexible interceptor before exporting. | +| Class | Artifact | Description | +| -------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | +| `OtlpHttpMetricExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports metrics via OTLP `http/protobuf`. | +| `OtlpGrpcMetricExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports metrics via OTLP `grpc`. | +| `LoggingMetricExporter` | `io.opentelemetry:opentelemetry-exporter-logging:{{% param vers.otel %}}` | Logs metrics to JUL in a debugging format. | +| `OtlpJsonLoggingMetricExporter` | `io.opentelemetry:opentelemetry-exporter-logging-otlp:{{% param vers.otel %}}` | Logs metrics to JUL in the OTLP JSON encoding. | +| `OtlpStdoutMetricExporter` | `io.opentelemetry:opentelemetry-exporter-logging-otlp:{{% param vers.otel %}}` | Logs metrics to `System.out` in the OTLP [JSON file encoding][] (experimental). | +| `InterceptableMetricExporter` | `io.opentelemetry.contrib:opentelemetry-processors:{{% param vers.contrib %}}-alpha` | Passes metrics to a flexible interceptor before exporting. | **[1]**: See [OTLP exporter sender](#otlp-exporter-senders) for implementation details. @@ -1063,13 +1065,14 @@ for exporting log records out of process. Rather than directly registering with Span exporters built-in to the SDK and maintained by the community in `opentelemetry-java-contrib`: -| Class | Artifact | Description | -| ------------------------------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------- | -| `OtlpHttpLogRecordExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports log records via OTLP `http/protobuf`. | -| `OtlpGrpcLogRecordExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports log records via OTLP `grpc`. | -| `SystemOutLogRecordExporter` | `io.opentelemetry:opentelemetry-exporter-logging:{{% param vers.otel %}}` | Logs log records to system out in a debugging format. | -| `OtlpJsonLoggingLogRecordExporter` **[2]** | `io.opentelemetry:opentelemetry-exporter-logging-otlp:{{% param vers.otel %}}` | Logs log records to JUL in the OTLP JSON encoding. | -| `InterceptableLogRecordExporter` | `io.opentelemetry.contrib:opentelemetry-processors:{{% param vers.contrib %}}-alpha` | Passes log records to a flexible interceptor before exporting. | +| Class | Artifact | Description | +| ------------------------------------------ | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| `OtlpHttpLogRecordExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports log records via OTLP `http/protobuf`. | +| `OtlpGrpcLogRecordExporter` **[1]** | `io.opentelemetry:opentelemetry-exporter-otlp:{{% param vers.otel %}}` | Exports log records via OTLP `grpc`. | +| `SystemOutLogRecordExporter` | `io.opentelemetry:opentelemetry-exporter-logging:{{% param vers.otel %}}` | Logs log records to system out in a debugging format. | +| `OtlpJsonLoggingLogRecordExporter` **[2]** | `io.opentelemetry:opentelemetry-exporter-logging-otlp:{{% param vers.otel %}}` | Logs log records to JUL in the OTLP JSON encoding. | +| `OtlpStdoutLogRecordExporter` | `io.opentelemetry:opentelemetry-exporter-logging-otlp:{{% param vers.otel %}}` | Logs log records to `System.out` in the OTLP [JSON file encoding][] (experimental). | +| `InterceptableLogRecordExporter` | `io.opentelemetry.contrib:opentelemetry-processors:{{% param vers.contrib %}}-alpha` | Passes log records to a flexible interceptor before exporting. | **[1]**: See [OTLP exporter sender](#otlp-exporter-senders) for implementation details. @@ -1382,3 +1385,6 @@ you must also add a dependency on a ### Testing TODO: document tools available for testing the SDK + +[JSON file encoding]: + /docs/specs/otel/protocol/file-exporter/#json-file-serialization From 43fa41151296e27fd21a9c06ab3ffdbd5f77ed3d Mon Sep 17 00:00:00 2001 From: Taylor <33156281+taylorhelene@users.noreply.github.com> Date: Mon, 11 Nov 2024 17:25:01 +0300 Subject: [PATCH 03/21] add a "flag" filter to registry (#5328) --- assets/js/registrySearch.js | 65 +++++-- .../es/docs/concepts/observability-primer.md | 159 ------------------ .../partials/ecosystem/registry/entry.html | 18 +- .../ecosystem/registry/search-form.html | 44 +++++ 4 files changed, 115 insertions(+), 171 deletions(-) delete mode 100644 content/es/docs/concepts/observability-primer.md diff --git a/assets/js/registrySearch.js b/assets/js/registrySearch.js index d91c590585a3..7673afafe855 100644 --- a/assets/js/registrySearch.js +++ b/assets/js/registrySearch.js @@ -38,6 +38,7 @@ let pathName = window.location.pathname; let searchQuery = ''; let selectedLanguage = 'all'; let selectedComponent = 'all'; +let selectedFlag = 'all'; // Added selectedFlag parseUrlParams(); @@ -49,7 +50,12 @@ if (pathName.includes('registry')) { showBody(); } - if (selectedLanguage !== 'all' || selectedComponent !== 'all') { + // Set the dropdown values from query params + if ( + selectedLanguage !== 'all' || + selectedComponent !== 'all' || + selectedFlag !== 'all' + ) { if (selectedLanguage !== 'all') { document.getElementById('languageDropdown').textContent = document.getElementById( @@ -62,6 +68,10 @@ if (pathName.includes('registry')) { `component-item-${selectedComponent}`, ).textContent; } + if (selectedFlag !== 'all') { + document.getElementById('flagsDropdown').textContent = + document.getElementById(`flag-item-${selectedFlag}`).textContent; + } updateFilters(); } @@ -106,6 +116,22 @@ if (pathName.includes('registry')) { updateFilters(); }), ); + // Flags dropdown event listener + + let flagList = document + .getElementById('flagsFilter') + .querySelectorAll('.dropdown-item'); + + flagList.forEach((element) => + element.addEventListener('click', function (evt) { + let val = evt.target.getAttribute('value'); + selectedFlag = val; + document.getElementById('flagsDropdown').textContent = + evt.target.textContent; + setInput('flag', val); + updateFilters(); + }), + ); }); } @@ -208,24 +234,39 @@ function setInput(key, value) { history.replaceState(null, null, '?' + queryParams.toString()); } -// Filters items based on language and component filters +// Filters items based on language, component and flags function updateFilters() { let allItems = [...document.getElementsByClassName('registry-entry')]; - if (selectedComponent === 'all' && selectedLanguage === 'all') { + if ( + selectedComponent === 'all' && + selectedLanguage === 'all' && + selectedFlag === 'all' + ) { + // Show all items if all filters are set to 'all' allItems.forEach((element) => element.classList.remove('d-none')); } else { + // Apply the filters allItems.forEach((element) => { const dc = element.dataset.registrytype; const dl = element.dataset.registrylanguage; - if ( - (dc === selectedComponent || selectedComponent === 'all') && - (dl === selectedLanguage || selectedLanguage === 'all') - ) { + const df = element.dataset.registryflags + ? element.dataset.registryflags.split(' ').map((f) => f.toLowerCase()) + : []; + + const componentMatches = + dc === selectedComponent || selectedComponent === 'all'; + const languageMatches = + dl === selectedLanguage || selectedLanguage === 'all'; + const flagMatches = + selectedFlag === 'all' || df.includes(selectedFlag.toLowerCase()); + + if (flagMatches) { + console.log('Flag matches:', df); + } + + if (componentMatches && languageMatches && flagMatches) { + // Changed element.classList.remove('d-none'); - } else if (dc === selectedComponent && dl !== selectedLanguage) { - element.classList.add('d-none'); - } else if (dl === selectedLanguage && dc !== selectedComponent) { - element.classList.add('d-none'); } else { element.classList.add('d-none'); } @@ -233,9 +274,11 @@ function updateFilters() { } } +// Parse URL parameters and update variables function parseUrlParams() { let urlParams = new URLSearchParams(window.location.search); searchQuery = urlParams.get('s'); selectedLanguage = urlParams.get('language') || 'all'; selectedComponent = urlParams.get('component') || 'all'; + selectedFlag = urlParams.get('flag') || 'all'; // Added } diff --git a/content/es/docs/concepts/observability-primer.md b/content/es/docs/concepts/observability-primer.md deleted file mode 100644 index 5738333620fe..000000000000 --- a/content/es/docs/concepts/observability-primer.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -title: Introducción a la Observabilidad -description: Conceptos básicos de observabilidad. -weight: 9 -cSpell:ignore: webshop -default_lang_commit: e58a252c44875b04247b53e2394b4634f5a0a84e ---- - -## ¿Qué es la observabilidad? {#what-is-observability} - -La observabilidad te permite entender un sistema desde el exterior al permitirte -hacer preguntas sobre ese sistema sin conocer su funcionamiento interno. Además, -te permite solucionar problemas nuevos con facilidad, es decir, "lo que no -sabemos que no sabemos". También te ayuda a responder a la pregunta: "¿Por qué -está ocurriendo esto?" - -Para hacer esas preguntas sobre tu sistema, tu aplicación debe estar -adecuadamente instrumentada. Es decir, el código de la aplicación debe emitir -[señales](/docs/concepts/signals/) como -[trazas](/docs/concepts/signals/traces/), -[métricas](/docs/concepts/signals/metrics/) y -[logs](/docs/concepts/signals/logs/). Una aplicación está adecuadamente -instrumentada cuando los desarrolladores no necesitan agregar más -instrumentación para solucionar un problema, porque ya tienen toda la -información que necesitan. - -[OpenTelemetry](/docs/what-is-opentelemetry/) es el mecanismo por el cual el -código de la aplicación se instrumenta para ayudar a hacer un sistema -observable. - -## Confiabilidad y métricas - -**Telemetría** se refiere a los datos emitidos por un sistema y su -comportamiento. Los datos pueden venir en forma de -[trazas](/docs/concepts/signals/traces/), -[métricas](/docs/concepts/signals/metrics/) y -[logs](/docs/concepts/signals/logs/). - -**Confiabilidad** responde a la pregunta: "¿Está el servicio haciendo lo que los -usuarios esperan que haga?" Un sistema podría estar funcionando el 100% del -tiempo, pero si, cuando un usuario hace clic en "Agregar al carrito" para añadir -un par de zapatos negros a su carrito, el sistema no siempre agrega los zapatos -negros, entonces el sistema podría ser **no** confiable. - -**Métricas** son agregaciones durante un período de tiempo de datos numéricos -sobre tu infraestructura o aplicación. Por ejemplo: tasa de error del sistema, -uso de CPU y tasa de solicitudes para un servicio determinado. Para más -información sobre métricas y cómo se relacionan con OpenTelemetry, consulta -[Métricas](/docs/concepts/signals/metrics/). - -**SLI**, o Indicador de Nivel de Servicio, representa una medición del -comportamiento de un servicio. Un buen SLI mide tu servicio desde la perspectiva -de tus usuarios. Un ejemplo de SLI puede ser la velocidad con la que se carga -una página web. - -**SLO**, u Objetivo de Nivel de Servicio, representa el medio por el cual la -confiabilidad se comunica a una organización u otros equipos. Esto se logra -adjuntando uno o más SLIs al valor comercial. - -## Entendiendo el trazado distribuido - -El trazado distribuido te permite observar las solicitudes a medida que se -propagan a través de sistemas complejos y distribuidos. El trazado distribuido -mejora la visibilidad de la salud de tu aplicación o sistema y te permite -depurar comportamientos que son difíciles de reproducir localmente. Es esencial -para sistemas distribuidos, que comúnmente tienen problemas no determinísticos o -son demasiado complicados para reproducir localmente. - -Para entender el trazado distribuido, necesitas comprender el papel de cada uno -de sus componentes: logs, spans y trazas. - -### Logs - -Un **log** es un mensaje con marca de tiempo emitido por servicios u otros -componentes. A diferencia de las [trazas](#distributed-traces), no están -necesariamente asociados con una solicitud o transacción de usuario en -particular. Los logs se pueden encontrar casi en cualquier parte del software. -Los logs han sido ampliamente utilizados en el pasado tanto por desarrolladores -como operadores para ayudarles a entender el comportamiento del sistema. - -Ejemplo de un log: - -```text -I, [2021-02-23T13:26:23.505892 #22473] INFO -- : [6459ffe1-ea53-4044-aaa3-bf902868f730] Started GET "/" for ::1 at 2021-02-23 13:26:23 -0800 -``` - -Los logs no son suficientes para rastrear la ejecución del código, ya que -normalmente carecen de información contextual, como dónde fueron llamados. - -Se vuelven mucho más útiles cuando se incluyen como parte de un span o cuando se -correlacionan con una traza y un span. - -Para más información sobre los logs y cómo se relacionan con OpenTelemetry, -consulta Logs. - -### Spans - -Un **span** representa una unidad de trabajo u operación. Los spans rastrean -operaciones específicas que realiza una solicitud, mostrando qué sucedió durante -el tiempo en que se ejecutó esa operación. - -Un span contiene nombre, datos relacionados con el tiempo, -[mensajes de log estructurados](/docs/concepts/signals/traces/#span-events) y -[otros metadatos (es decir, atributos)](/docs/concepts/signals/traces/#attributes) -para proporcionar información sobre la operación que rastrea. - -#### Atributos de span - -Los atributos de span son metadatos adjuntos a un span. - -La siguiente tabla contiene ejemplos de atributos de span: - -| Clave | Valor | -| :-------------------------- | :--------------------------------------------------------------------------------- | -| `http.request.method` | `"GET"` | -| `network.protocol.version` | `"1.1"` | -| `url.path` | `"/webshop/articles/4"` | -| `url.query` | `"?s=1"` | -| `server.address` | `"example.com"` | -| `server.port` | `8080` | -| `url.scheme` | `"https"` | -| `http.route` | `"/webshop/articles/:article_id"` | -| `http.response.status_code` | `200` | -| `client.address` | `"192.0.2.4"` | -| `client.socket.address` | `"192.0.2.5"` (el cliente pasa por un proxy) | -| `user_agent.original` | `"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0"` | - -Para más información sobre los spans y cómo se relacionan con OpenTelemetry, -consulta [Spans](/docs/concepts/signals/traces/#spans). - -### Trazas distribuidas {#distributed-traces} - -Una **traza distribuida**, más comúnmente conocida como **traza**, registra los -caminos tomados por las solicitudes (realizadas por una aplicación o un usuario -final) a medida que se propagan a través de arquitecturas multi-servicio, como -aplicaciones de microservicios y sin servidor. - -Una traza está compuesta por uno o más spans. El primer span representa el span -raíz. Cada span raíz representa una solicitud desde el inicio hasta el final. -Los spans debajo del span principal proporcionan un contexto más detallado de lo -que ocurre durante una solicitud (o los pasos que componen una solicitud). - -Sin el trazado, encontrar la causa raíz de los problemas de rendimiento en un -sistema distribuido puede ser un desafío. El trazado hace que depurar y -comprender los sistemas distribuidos sea menos abrumador al desglosar lo que -sucede dentro de una solicitud a medida que fluye a través de un sistema -distribuido. - -Muchos sistemas de observabilidad visualizan las trazas como diagramas de -cascada que se ven así: - -![Trazado Ejemplo](/img/waterfall-trace.svg 'Diagrama de cascada de trazas') - -Los diagramas de cascada muestran la relación padre-hijo entre un span raíz y -sus spans hijos. Cuando un span encapsula otro span, esto también representa una -relación anidada. - -Para más información sobre las trazas y cómo se relacionan con OpenTelemetry, -consulta [Trazas](/docs/concepts/signals/traces/). diff --git a/layouts/partials/ecosystem/registry/entry.html b/layouts/partials/ecosystem/registry/entry.html index 9a282c4db0b9..add30889db70 100644 --- a/layouts/partials/ecosystem/registry/entry.html +++ b/layouts/partials/ecosystem/registry/entry.html @@ -85,7 +85,23 @@ {{ errorf "The %q registry entry requires a repo or website URL." .title }} {{ end -}} {{ $primaryHref := printf "href=%q" $primaryUrl | safeHTMLAttr -}} -
  • + {{ $flags := slice -}} + {{ if $isNew -}} + {{ $flags = $flags | append "new" -}} + {{ end -}} + {{ if $isNative -}} + {{ $flags = $flags | append "native" -}} + {{ end -}} + {{ if $isFirstParty -}} + {{ $flags = $flags | append "first_party" -}} + {{ end -}} + {{ if $usedInDemo -}} + {{ $flags = $flags | append "used_in_demo" -}} + {{ end -}} + {{ if $deprecated -}} + {{ $flags = $flags | append "deprecated" -}} + {{ end -}} +
  • diff --git a/layouts/shortcodes/ecosystem/registry/search-form.html b/layouts/shortcodes/ecosystem/registry/search-form.html index 4e2fc00028c1..4ed992793e72 100644 --- a/layouts/shortcodes/ecosystem/registry/search-form.html +++ b/layouts/shortcodes/ecosystem/registry/search-form.html @@ -34,6 +34,38 @@ {{ end -}} {{ $types = $types | uniq | sort -}} +{{ $counter := 0 -}} +{{ $entries := slice -}} +{{ range $key, $entry := .Site.Data.registry -}} + {{ $flags := slice -}} + {{ if .isNative -}} + {{ $flags = $flags | append "native" -}} + {{ end -}} + {{ if .isFirstParty -}} + {{ $flags = $flags | append "first_party" -}} + {{ end -}} + {{ if .isNew -}} + {{ $flags = $flags | append "new" -}} + {{ end -}} + {{ if .usedInDemo -}} + {{ $flags = $flags | append "used_in_demo" -}} + {{ end -}} + {{ if .deprecated -}} + {{ $flags = $flags | append "deprecated" -}} + {{ end -}} + {{ $entry = merge $entry (dict "_key" $key "id" $counter "flags" $flags) -}} + {{ $entries = $entries | append $entry -}} + {{ $counter = add $counter 1 }} +{{ end -}} + +{{ $allFlags := slice -}} +{{ range $entry := $entries -}} + {{ range $flag := $entry.flags -}} + {{ $allFlags = $allFlags | append $flag }} + {{ end -}} +{{ end -}} +{{ $uniqueFlags := $allFlags | uniq | sort }} +
    The OpenTelemetry Registry allows you to search for instrumentation libraries, collector components, utilities, and other useful projects in the OpenTelemetry @@ -51,6 +83,8 @@ + + @@ -88,6 +122,16 @@ {{ end -}}
    + + +
    +

    From b58496a461dd867025ee5545dd3cecac5a614c90 Mon Sep 17 00:00:00 2001 From: Olamide Tiana Date: Mon, 11 Nov 2024 15:58:18 +0100 Subject: [PATCH 04/21] add tags to registry entries (#5382) Signed-off-by: svrnm Co-authored-by: Severin Neumann --- layouts/partials/ecosystem/registry/entry.html | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/layouts/partials/ecosystem/registry/entry.html b/layouts/partials/ecosystem/registry/entry.html index add30889db70..38834f697500 100644 --- a/layouts/partials/ecosystem/registry/entry.html +++ b/layouts/partials/ecosystem/registry/entry.html @@ -157,6 +157,19 @@

    Deprecated

    {{ end -}} {{- .description | markdownify -}} + + +
    + {{ if .tags }} +
    + {{ range .tags }} + {{ $tag := . }} + {{ $tag }} + {{ end }} +
    + {{ end }} +
    + {{ with $package -}} {{ if not (eq .quickInstall false) }}
    Quick Install
    From 0ab4eb02bd556f0e442b3c8adadb24f544294d23 Mon Sep 17 00:00:00 2001 From: Mercy Bassey <57226464+mercybassey@users.noreply.github.com> Date: Mon, 11 Nov 2024 16:21:48 +0100 Subject: [PATCH 05/21] Add quick installation for maven to the registry (#5330) Signed-off-by: svrnm Co-authored-by: Severin Neumann --- .htmltest.yml | 1 + data/registry/instrumentation-java-okhttp.yml | 5 +++++ .../partials/ecosystem/registry/entry.html | 4 ++++ .../ecosystem/registry/quickinstall/maven.md | 21 +++++++++++++++++++ 4 files changed, 31 insertions(+) create mode 100644 layouts/partials/ecosystem/registry/quickinstall/maven.md diff --git a/.htmltest.yml b/.htmltest.yml index d2adbac45b64..9b931011fa2f 100644 --- a/.htmltest.yml +++ b/.htmltest.yml @@ -81,6 +81,7 @@ IgnoreURLs: # list of regexs of paths or URLs to be ignored - ^https://www.farfetch.com - ^https://www.zocdoc.com - ^https://x.com + - ^https://maven.org # OTel Google calendar - curl returns 200, but the link checker gets a 401: - ^https://calendar.google.com/calendar/embed\?src=google.com_b79e3e90j7bbsa2n2p5an5lf60%40group.calendar.google.com # YouTube playlists sometimes give a 404, although they give a 200 when accessed via browser: diff --git a/data/registry/instrumentation-java-okhttp.yml b/data/registry/instrumentation-java-okhttp.yml index dae54020d6cc..789dc0973ca7 100644 --- a/data/registry/instrumentation-java-okhttp.yml +++ b/data/registry/instrumentation-java-okhttp.yml @@ -1,3 +1,4 @@ +# cspell:ignore okhttp title: okHTTP Instrumentation registryType: instrumentation language: java @@ -13,4 +14,8 @@ authors: urls: repo: https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/okhttp createdAt: 2020-11-05 +package: + registry: maven + name: io.opentelemetry.instrumentation/opentelemetry-okhttp-3.0 + version: 2.9.0-alpha isFirstParty: false diff --git a/layouts/partials/ecosystem/registry/entry.html b/layouts/partials/ecosystem/registry/entry.html index 38834f697500..27b17cc83014 100644 --- a/layouts/partials/ecosystem/registry/entry.html +++ b/layouts/partials/ecosystem/registry/entry.html @@ -46,6 +46,10 @@ "installLine" "cargo add %s" "installTemplate" "ecosystem/registry/quickinstall/default.md" "icon" "fab fa-rust") + "maven" (dict + "urlPattern" "https://maven.org/artifact/%s" + "installTemplate" "ecosystem/registry/quickinstall/maven.md" + "icon" "fa-solid fa-feather") -}} {{ $isNative := and (or (eq .registryType "instrumentation") (eq .registryType "application integration")) (.isNative) }} diff --git a/layouts/partials/ecosystem/registry/quickinstall/maven.md b/layouts/partials/ecosystem/registry/quickinstall/maven.md new file mode 100644 index 000000000000..b7dfc26f20b7 --- /dev/null +++ b/layouts/partials/ecosystem/registry/quickinstall/maven.md @@ -0,0 +1,21 @@ +##### Maven + +Add the following dependency in your `pom.xml` file to install this package. + +```xml + + {{ index (split .name "/") 0 }} + {{ index (split .name "/") 1 }} + {{ .version }} + +``` + +##### Gradle + +Add the following dependency in your `build.gradle` file to install this package: + +```groovy +dependencies { + implementation '{{ index (split .name "/") 0 }}:{{ index (split .name "/") 1 }}:{{ .version }}' +} +``` \ No newline at end of file From 416e4ed84e152e498a91ad038b1337524e2dfee3 Mon Sep 17 00:00:00 2001 From: Kazunori Otani Date: Tue, 12 Nov 2024 01:54:09 +0900 Subject: [PATCH 06/21] Add missing heading ids on lang:ja (#5584) --- .htmltest.yml | 8 -------- content/ja/docs/_index.md | 10 ---------- content/ja/docs/concepts/context-propagation.md | 4 ++-- content/ja/docs/concepts/sampling/index.md | 2 +- content/ja/docs/what-is-opentelemetry.md | 2 +- 5 files changed, 4 insertions(+), 22 deletions(-) diff --git a/.htmltest.yml b/.htmltest.yml index 9b931011fa2f..58ac783f79db 100644 --- a/.htmltest.yml +++ b/.htmltest.yml @@ -15,14 +15,6 @@ IgnoreDirs: - ^es/docs/concepts/instrumentation/zero-code/ - ^es/docs/concepts/signals/baggage/ - ^es/docs/zero-code/php/ - # TODO drop next lines after https://github.com/open-telemetry/opentelemetry.io/issues/5555 is fixed for these pages: - - ^ja/docs/concepts/components/ - - ^ja/docs/concepts/glossary/ - - ^ja/docs/concepts/signals/baggage/ - - ^ja/docs/languages/erlang/sampling/ - - ^ja/docs/languages/js/sampling/ - - ^ja/docs/languages/ruby/sampling/ - - ^ja/docs/zero-code/php/ # TODO drop next line after https://github.com/open-telemetry/opentelemetry.io/issues/5423 is fixed for ja pages: - ^ja/docs/concepts/instrumentation/libraries/ # TODO drop next lines after https://github.com/open-telemetry/opentelemetry.io/issues/5555 is fixed for these pages: diff --git a/content/ja/docs/_index.md b/content/ja/docs/_index.md index fb009395aeb8..76f868b6e3c5 100644 --- a/content/ja/docs/_index.md +++ b/content/ja/docs/_index.md @@ -1,16 +1,6 @@ --- title: ドキュメント menu: { main: { weight: 10 } } -htmltest: - IgnoreDirs: - # TODO drop next lines after https://github.com/open-telemetry/opentelemetry.io/issues/5555 is fixed for these pages: - - ^ja/docs/concepts/components/ - - ^ja/docs/concepts/glossary/ - - ^ja/docs/concepts/signals/baggage/ - - ^ja/docs/languages/erlang/sampling/ - - ^ja/docs/languages/js/sampling/ - - ^ja/docs/languages/ruby/sampling/ - - ^ja/docs/zero-code/php/ default_lang_commit: c2cd5b14 --- diff --git a/content/ja/docs/concepts/context-propagation.md b/content/ja/docs/concepts/context-propagation.md index 520a96e7526a..533112ba5e0f 100644 --- a/content/ja/docs/concepts/context-propagation.md +++ b/content/ja/docs/concepts/context-propagation.md @@ -10,14 +10,14 @@ default_lang_commit: 313e391 コンテキストの伝播を理解するには、コンテキストと伝搬(プロパゲーション)という、2つの別々の概念を理解する必要があります。 -## コンテキスト +## コンテキスト {#context} コンテキストは、送受信サービスまたは[実行ユニット](/docs/specs/otel/glossary/#execution-unit)が、あるシグナルと別のシグナルを関連付けるための情報を含むオブジェクトです。 たとえば、サービスAがサービスBを呼び出した場合、IDがコンテキスト内にあるサービスAのスパンは、サービスBで次に作成されるスパンの親スパンとして使用されます。 コンテキスト内にあるトレースIDは、サービスBで次に作成されるスパンにも使用されるため、そのスパンはサービスAのスパンと同じトレースの一部であることを意味します。 -## 伝搬(プロパゲーション) +## 伝搬(プロパゲーション) {#propagation} 伝搬は、サービスとプロセス間でコンテキストを移動させる仕組みです。 コンテキストオブジェクトをシリアライズまたはデシリアライズし、あるサービスから別のサービスに伝搬される関連情報を提供します。 diff --git a/content/ja/docs/concepts/sampling/index.md b/content/ja/docs/concepts/sampling/index.md index c66b3dd79a0d..b55c54361c7d 100644 --- a/content/ja/docs/concepts/sampling/index.md +++ b/content/ja/docs/concepts/sampling/index.md @@ -35,7 +35,7 @@ _適切なデータのサンプリングが必要なだけです。_ 誰かが「データをサンプリングアウトしている」と言ったり、処理またはエクスポートされていないデータは「サンプリングされた」と見なされると言ったりするのを見かけるかもしれません。 これらは間違った表現です。 -## ヘッドサンプリング +## ヘッドサンプリング {#head-sampling} ヘッドサンプリングは、サンプリングの決定をできるだけ早期に行うために用いられるサンプリング技術です。 スパンやトレースのサンプリングまたはドロップの決定は、トレース全体を検査することによって行われるわけではありません。 diff --git a/content/ja/docs/what-is-opentelemetry.md b/content/ja/docs/what-is-opentelemetry.md index 141a8a215f97..c226e1345429 100644 --- a/content/ja/docs/what-is-opentelemetry.md +++ b/content/ja/docs/what-is-opentelemetry.md @@ -66,7 +66,7 @@ OpenTelemetryは拡張できるように設計されています。どのよう ほとんどのユーザーはOpenTelemetryを拡張する必要はないかもしれませんが、このプロジェクトはほぼすべてのレベルで拡張できるように設計されています。 -## 歴史 +## 歴史 {#history} OpenTelemetryは、[Cloud Native Computing Foundation (CNCF)](https://www.cncf.io)プロジェクトであり、[OpenTracing](https://opentracing.io)と[OpenCensus](https://opencensus.io)の2つのプロジェクトが統合された成果物です。 これらのプロジェクトはどちらも、コードを計装し、オブザーバビリティバックエンドにテレメトリーデータを送信する方法の標準がないという問題を解決するために作られました。 From 4e45c131aa56eff2697e9df483447b8651d43ef8 Mon Sep 17 00:00:00 2001 From: Patrice Chalin Date: Mon, 11 Nov 2024 12:59:10 -0500 Subject: [PATCH 07/21] [CI] adjust-pages: report obsolete patch-code as INFO msgs (#5587) --- scripts/content-modules/adjust-pages.pl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/content-modules/adjust-pages.pl b/scripts/content-modules/adjust-pages.pl index edc02477ec56..7c554dce2b0a 100755 --- a/scripts/content-modules/adjust-pages.pl +++ b/scripts/content-modules/adjust-pages.pl @@ -25,7 +25,7 @@ my $otelSpecVers = $versions{'spec:'}; my $otlpSpecVers = $versions{'otlp:'}; my $semconvVers = $versions{'semconv:'}; -my $warn2 = 0; # TODO remove along with warning 002 +my $patchMsg2 = 0; # TODO remove along with patch-message 002 sub printTitleAndFrontMatter() { print "---\n"; @@ -46,7 +46,7 @@ () } elsif ($ARGV =~ /otel\/specification\/logs\/api.md$/) { if ($otelSpecVers ne "1.39.0") { # TODO: delete the enclosing elsif body - print STDOUT "WARNING [001]: $0: remove obsolete code now that OTel spec has been updated.\n" + print STDOUT "INFO [001]: $0: remove obsolete code now that OTel spec has been updated.\n" } $frontMatterFromFile .= "linkTitle: API\naliases: [bridge-api]\n"; } @@ -116,13 +116,13 @@ () # SPECIFICATION custom processing - # TODO: drop the entire if-then-else statement patch code when OTel spec vers contains + # TODO: drop the entire if statement patch code when OTel spec vers contains # https://github.com/open-telemetry/opentelemetry-specification/pull/4287, # which should be vers > 1.39.0. - if ($otelSpecVers eq "1.39.0") { + if ($ARGV =~ /otel\/spec/) { s|(/api\.md)#logs-api\b|$1|g; - } elsif ($ARGV =~ /otel\/spec/) { - print STDOUT "WARNING [002]: $0: remove obsolete code now that OTel spec has been updated.\n" unless $warn2++ + print STDOUT "INFO [002]: $0: remove obsolete patch code now that OTel spec has been updated.\n" + if $otelSpecVers ne "1.39.0" && !$patchMsg2++ } s|\(https://github.com/open-telemetry/opentelemetry-specification\)|($specBasePath/otel/)|; From f0e7be3d9eadcc96fbad8fc5c65fb3679cd76de2 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Mon, 11 Nov 2024 21:32:50 +0100 Subject: [PATCH 08/21] update pull request template (#5545) Signed-off-by: svrnm Co-authored-by: Tiffany Hrabusa <30397949+tiffany76@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Phillip Carter --- .github/PULL_REQUEST_TEMPLATE.md | 21 ++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE/DOCS_UPDATE.md | 6 ------ 2 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/PULL_REQUEST_TEMPLATE/DOCS_UPDATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000000..63c825bee4f9 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,21 @@ + diff --git a/.github/PULL_REQUEST_TEMPLATE/DOCS_UPDATE.md b/.github/PULL_REQUEST_TEMPLATE/DOCS_UPDATE.md deleted file mode 100644 index 0fe4d48c2fb8..000000000000 --- a/.github/PULL_REQUEST_TEMPLATE/DOCS_UPDATE.md +++ /dev/null @@ -1,6 +0,0 @@ -## Docs PR Checklist - - - -- [ ] This PR is for a documentation page whose authoritative copy is in the - opentelemetry.io repository. From 5dbbce806a42d614de81b26093a4d988f15ce985 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Mon, 11 Nov 2024 23:00:50 +0100 Subject: [PATCH 09/21] [es] restore observability primer (#5589) --- .../es/docs/concepts/observability-primer.md | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 content/es/docs/concepts/observability-primer.md diff --git a/content/es/docs/concepts/observability-primer.md b/content/es/docs/concepts/observability-primer.md new file mode 100644 index 000000000000..5738333620fe --- /dev/null +++ b/content/es/docs/concepts/observability-primer.md @@ -0,0 +1,159 @@ +--- +title: Introducción a la Observabilidad +description: Conceptos básicos de observabilidad. +weight: 9 +cSpell:ignore: webshop +default_lang_commit: e58a252c44875b04247b53e2394b4634f5a0a84e +--- + +## ¿Qué es la observabilidad? {#what-is-observability} + +La observabilidad te permite entender un sistema desde el exterior al permitirte +hacer preguntas sobre ese sistema sin conocer su funcionamiento interno. Además, +te permite solucionar problemas nuevos con facilidad, es decir, "lo que no +sabemos que no sabemos". También te ayuda a responder a la pregunta: "¿Por qué +está ocurriendo esto?" + +Para hacer esas preguntas sobre tu sistema, tu aplicación debe estar +adecuadamente instrumentada. Es decir, el código de la aplicación debe emitir +[señales](/docs/concepts/signals/) como +[trazas](/docs/concepts/signals/traces/), +[métricas](/docs/concepts/signals/metrics/) y +[logs](/docs/concepts/signals/logs/). Una aplicación está adecuadamente +instrumentada cuando los desarrolladores no necesitan agregar más +instrumentación para solucionar un problema, porque ya tienen toda la +información que necesitan. + +[OpenTelemetry](/docs/what-is-opentelemetry/) es el mecanismo por el cual el +código de la aplicación se instrumenta para ayudar a hacer un sistema +observable. + +## Confiabilidad y métricas + +**Telemetría** se refiere a los datos emitidos por un sistema y su +comportamiento. Los datos pueden venir en forma de +[trazas](/docs/concepts/signals/traces/), +[métricas](/docs/concepts/signals/metrics/) y +[logs](/docs/concepts/signals/logs/). + +**Confiabilidad** responde a la pregunta: "¿Está el servicio haciendo lo que los +usuarios esperan que haga?" Un sistema podría estar funcionando el 100% del +tiempo, pero si, cuando un usuario hace clic en "Agregar al carrito" para añadir +un par de zapatos negros a su carrito, el sistema no siempre agrega los zapatos +negros, entonces el sistema podría ser **no** confiable. + +**Métricas** son agregaciones durante un período de tiempo de datos numéricos +sobre tu infraestructura o aplicación. Por ejemplo: tasa de error del sistema, +uso de CPU y tasa de solicitudes para un servicio determinado. Para más +información sobre métricas y cómo se relacionan con OpenTelemetry, consulta +[Métricas](/docs/concepts/signals/metrics/). + +**SLI**, o Indicador de Nivel de Servicio, representa una medición del +comportamiento de un servicio. Un buen SLI mide tu servicio desde la perspectiva +de tus usuarios. Un ejemplo de SLI puede ser la velocidad con la que se carga +una página web. + +**SLO**, u Objetivo de Nivel de Servicio, representa el medio por el cual la +confiabilidad se comunica a una organización u otros equipos. Esto se logra +adjuntando uno o más SLIs al valor comercial. + +## Entendiendo el trazado distribuido + +El trazado distribuido te permite observar las solicitudes a medida que se +propagan a través de sistemas complejos y distribuidos. El trazado distribuido +mejora la visibilidad de la salud de tu aplicación o sistema y te permite +depurar comportamientos que son difíciles de reproducir localmente. Es esencial +para sistemas distribuidos, que comúnmente tienen problemas no determinísticos o +son demasiado complicados para reproducir localmente. + +Para entender el trazado distribuido, necesitas comprender el papel de cada uno +de sus componentes: logs, spans y trazas. + +### Logs + +Un **log** es un mensaje con marca de tiempo emitido por servicios u otros +componentes. A diferencia de las [trazas](#distributed-traces), no están +necesariamente asociados con una solicitud o transacción de usuario en +particular. Los logs se pueden encontrar casi en cualquier parte del software. +Los logs han sido ampliamente utilizados en el pasado tanto por desarrolladores +como operadores para ayudarles a entender el comportamiento del sistema. + +Ejemplo de un log: + +```text +I, [2021-02-23T13:26:23.505892 #22473] INFO -- : [6459ffe1-ea53-4044-aaa3-bf902868f730] Started GET "/" for ::1 at 2021-02-23 13:26:23 -0800 +``` + +Los logs no son suficientes para rastrear la ejecución del código, ya que +normalmente carecen de información contextual, como dónde fueron llamados. + +Se vuelven mucho más útiles cuando se incluyen como parte de un span o cuando se +correlacionan con una traza y un span. + +Para más información sobre los logs y cómo se relacionan con OpenTelemetry, +consulta Logs. + +### Spans + +Un **span** representa una unidad de trabajo u operación. Los spans rastrean +operaciones específicas que realiza una solicitud, mostrando qué sucedió durante +el tiempo en que se ejecutó esa operación. + +Un span contiene nombre, datos relacionados con el tiempo, +[mensajes de log estructurados](/docs/concepts/signals/traces/#span-events) y +[otros metadatos (es decir, atributos)](/docs/concepts/signals/traces/#attributes) +para proporcionar información sobre la operación que rastrea. + +#### Atributos de span + +Los atributos de span son metadatos adjuntos a un span. + +La siguiente tabla contiene ejemplos de atributos de span: + +| Clave | Valor | +| :-------------------------- | :--------------------------------------------------------------------------------- | +| `http.request.method` | `"GET"` | +| `network.protocol.version` | `"1.1"` | +| `url.path` | `"/webshop/articles/4"` | +| `url.query` | `"?s=1"` | +| `server.address` | `"example.com"` | +| `server.port` | `8080` | +| `url.scheme` | `"https"` | +| `http.route` | `"/webshop/articles/:article_id"` | +| `http.response.status_code` | `200` | +| `client.address` | `"192.0.2.4"` | +| `client.socket.address` | `"192.0.2.5"` (el cliente pasa por un proxy) | +| `user_agent.original` | `"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0"` | + +Para más información sobre los spans y cómo se relacionan con OpenTelemetry, +consulta [Spans](/docs/concepts/signals/traces/#spans). + +### Trazas distribuidas {#distributed-traces} + +Una **traza distribuida**, más comúnmente conocida como **traza**, registra los +caminos tomados por las solicitudes (realizadas por una aplicación o un usuario +final) a medida que se propagan a través de arquitecturas multi-servicio, como +aplicaciones de microservicios y sin servidor. + +Una traza está compuesta por uno o más spans. El primer span representa el span +raíz. Cada span raíz representa una solicitud desde el inicio hasta el final. +Los spans debajo del span principal proporcionan un contexto más detallado de lo +que ocurre durante una solicitud (o los pasos que componen una solicitud). + +Sin el trazado, encontrar la causa raíz de los problemas de rendimiento en un +sistema distribuido puede ser un desafío. El trazado hace que depurar y +comprender los sistemas distribuidos sea menos abrumador al desglosar lo que +sucede dentro de una solicitud a medida que fluye a través de un sistema +distribuido. + +Muchos sistemas de observabilidad visualizan las trazas como diagramas de +cascada que se ven así: + +![Trazado Ejemplo](/img/waterfall-trace.svg 'Diagrama de cascada de trazas') + +Los diagramas de cascada muestran la relación padre-hijo entre un span raíz y +sus spans hijos. Cuando un span encapsula otro span, esto también representa una +relación anidada. + +Para más información sobre las trazas y cómo se relacionan con OpenTelemetry, +consulta [Trazas](/docs/concepts/signals/traces/). From 23a6a4bc5782b62eded4c05089258d7c0e041784 Mon Sep 17 00:00:00 2001 From: Mimi Wang Date: Mon, 11 Nov 2024 14:51:56 -0800 Subject: [PATCH 10/21] Remove unused import in Python prometheus doc (#5585) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com> --- content/en/docs/languages/python/exporters.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/en/docs/languages/python/exporters.md b/content/en/docs/languages/python/exporters.md index c7bee4160084..c299c4465b88 100644 --- a/content/en/docs/languages/python/exporters.md +++ b/content/en/docs/languages/python/exporters.md @@ -213,7 +213,6 @@ from prometheus_client import start_http_server from opentelemetry import metrics from opentelemetry.exporter.prometheus import PrometheusMetricReader from opentelemetry.sdk.metrics import MeterProvider -from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader from opentelemetry.sdk.resources import SERVICE_NAME, Resource # Service name is required for most backends From 0c979cc06f826837c88b0695694c596f5f363c08 Mon Sep 17 00:00:00 2001 From: Vitor Vasconcellos Date: Tue, 12 Nov 2024 06:52:19 -0300 Subject: [PATCH 11/21] [pt] Translate multiple pages on /pt/docs/languages/go (#5426) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com> Co-authored-by: Ezzio Moreira --- content/pt/docs/languages/go/exporters.md | 263 ++++++++++++++++++++++ content/pt/docs/languages/go/libraries.md | 57 +++++ content/pt/docs/languages/go/registry.md | 10 + content/pt/docs/languages/go/resources.md | 57 +++++ content/pt/docs/languages/go/sampling.md | 48 ++++ 5 files changed, 435 insertions(+) create mode 100644 content/pt/docs/languages/go/exporters.md create mode 100644 content/pt/docs/languages/go/libraries.md create mode 100644 content/pt/docs/languages/go/registry.md create mode 100644 content/pt/docs/languages/go/resources.md create mode 100644 content/pt/docs/languages/go/sampling.md diff --git a/content/pt/docs/languages/go/exporters.md b/content/pt/docs/languages/go/exporters.md new file mode 100644 index 000000000000..5393d851d0a6 --- /dev/null +++ b/content/pt/docs/languages/go/exporters.md @@ -0,0 +1,263 @@ +--- +title: Exporters +aliases: [exporting_data] +weight: 50 +default_lang_commit: 5e2a0b43c1f9f42824a024206e797cf7041ed9db +# prettier-ignore +cSpell:ignore: otlplog otlploggrpc otlploghttp otlpmetric otlpmetricgrpc otlpmetrichttp otlptrace otlptracegrpc otlptracehttp promhttp stdoutlog stdouttrace +--- + +{{% docs/languages/exporters/intro go %}} + +## Console + +O exportador do console é útil para tarefas de desenvolvimento e depuração, e é +o mais simples de configurar. + +### Rastros no Console {#console-traces} + +O pacote +[`go.opentelemetry.io/otel/exporters/stdout/stdouttrace`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/stdout/stdouttrace) +possui uma implementação do Exporter de Rastros para o console. + +Por exemplo, aqui está como é possível criar um Exporter com as configurações +padrão: + +```go +import ( + "go.opentelemetry.io/otel/exporters/stdout/stdouttrace" + "go.opentelemetry.io/otel/sdk/trace" +) + +func newExporter() (trace.SpanExporter, error) { + return stdouttrace.New() +} +``` + +### Métricas no Console {#console-metrics} + +O pacote +[`go.opentelemetry.io/otel/exporters/stdout/stdoutmetric`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/stdout/stdoutmetric) +possui uma implementação do Exporter de Métricas para o console. + +Por exemplo, aqui está como é possível criar um Exporter com as configurações +padrão: + +```go +import ( + "go.opentelemetry.io/otel/exporters/stdout/stdoutmetric" + "go.opentelemetry.io/otel/sdk/metric" +) + +func newExporter() (metric.Exporter, error) { + return stdoutmetric.New() +} +``` + +### Logs no Console (Experimental) {#console-logs} + +O pacote +[`go.opentelemetry.io/otel/exporters/stdout/stdoutlog`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/stdout/stdoutlog) +possui uma implementação do Exporter de Logs para o console. + +Por exemplo, aqui está como é possível criar um Exporter com as configurações +padrão: + +```go +import ( + "go.opentelemetry.io/otel/exporters/stdout/stdoutlog" + "go.opentelemetry.io/otel/sdk/log" +) + +func newExporter() (log.Exporter, error) { + return stdoutlog.New() +} +``` + +## OTLP + +Para enviar dados de rastreamento para um endpoint OTLP (como o +[collector](/docs/collector) ou Jaeger >= v1.35.0), você precisará configurar um +Exporter OTLP que envie os dados para o seu endpoint. + +### Rastros OTLP via HTTP {#otlp-traces-over-http} + +O pacote +[`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp) +possui uma implementação do Exporter de Rastros OTLP utilizando o protocolo HTTP +com payloads binários protobuf. + +Por exemplo, aqui está como é possível criar um Exporter com as configurações +padrão: + +```go +import ( + "context" + + "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp" + "go.opentelemetry.io/otel/sdk/trace" +) + +func newExporter(ctx context.Context) (trace.SpanExporter, error) { + return otlptracehttp.New(ctx) +} +``` + +### Rastros OTLP via gRPC {#otlp-traces-over-grpc} + +O pacote +[`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc) +possui uma implementação do Exporter de Rastros OTLP utilizando o protocolo +gRPC. + +Por exemplo, aqui está como é possível criar um Exporter com as configurações +padrão: + +```go +import ( + "context" + + "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" + "go.opentelemetry.io/otel/sdk/trace" +) + +func newExporter(ctx context.Context) (trace.SpanExporter, error) { + return otlptracegrpc.New(ctx) +} +``` + +### Jaeger + +Para testar o exportador OTLP, a partir da versão v1.35.0 você pode executar o +[Jaeger](https://www.jaegertracing.io/) como um endpoint OTLP e visualizar os +rastros em um contêiner Docker: + +```shell +docker run -d --name jaeger \ + -e COLLECTOR_OTLP_ENABLED=true \ + -p 16686:16686 \ + -p 4317:4317 \ + -p 4318:4318 \ + jaegertracing/all-in-one:latest +``` + +### Métricas OTLP via HTTP {#otlp-metrics-over-http} + +O pacote +[`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp) +possui uma implementação do Exporter de Métricas OTLP utilizando o protocolo +HTTP com payloads binários protobuf. + +Por exemplo, aqui está como é possível criar um Exporter com as configurações +padrão: + +```go +import ( + "context" + + "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp" + "go.opentelemetry.io/otel/sdk/metric" +) + +func newExporter(ctx context.Context) (metric.Exporter, error) { + return otlpmetrichttp.New(ctx) +} +``` + +### Métricas OTLP via gRPC {#otlp-metrics-over-grpc} + +O pacote +[`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc) +possui uma implementação do Exporter de Métricas OTLP utilizando o protocolo +gRPC. + +Por exemplo, aqui está como é possível criar um Exporter com as configurações +padrão: + +```go +import ( + "context" + + "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc" + "go.opentelemetry.io/otel/sdk/metric" +) + +func newExporter(ctx context.Context) (metric.Exporter, error) { + return otlpmetricgrpc.New(ctx) +} +``` + +## Prometheus (Experimental) + +O Exporter do Prometheus é utilizado para reportar métricas através do +_scraping_ realizado pelo Prometheus em um endpoint HTTP. + +O pacote +[`go.opentelemetry.io/otel/exporters/prometheus`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/prometheus) +possui uma implementação do Exporter de Métricas do Prometheus. + +Por exemplo, aqui está como é possível criar um Exporter (que também é um leitor +de métricas) com as configurações padrão: + +```go +import ( + "context" + + "go.opentelemetry.io/otel/exporters/prometheus" + "go.opentelemetry.io/otel/sdk/metric" +) + +func newExporter(ctx context.Context) (metric.Reader, error) { + // prometheus.DefaultRegisterer é utilizado por padrão, de modo que + // as métricas fiquem disponíveis via promhttp.Handler. + return prometheus.New() +} +``` + +Para saber mais sobre como usar o Exporter do Prometheus, veja o +[exemplo do prometheus](https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/examples/prometheus) + +### Logs OTLP via HTTP (Experimental) {#otlp-logs-over-http-experimental} + +O pacote +[`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp) +possui uma implementação do Exporter de Logs OTLP utilizando o protocolo HTTP +com payloads binários protobuf. + +Por exemplo, aqui está como é possível criar um Exporter com as configurações +padrão: + +```go +import ( + "context" + + "go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp" + "go.opentelemetry.io/otel/sdk/log" +) + +func newExporter(ctx context.Context) (log.Exporter, error) { + return otlploghttp.New(ctx) +} +``` + +### Logs OTLP via gRPC (Experimental) {#otlp-logs-over-grpc-experimental} + +O pacote +[`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc) +possui uma implementação do Exporter de Logs OTLP utilizando o protocolo gRPC. + +Por exemplo, aqui está como é possível criar um Exporter com as configurações +padrão: + +```go +import ( + "context" + + "go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc" + "go.opentelemetry.io/otel/sdk/log" +) + +func newExporter(ctx context.Context) (log.Exporter, error) { + return otlploggrpc.New(ctx) +} +``` diff --git a/content/pt/docs/languages/go/libraries.md b/content/pt/docs/languages/go/libraries.md new file mode 100644 index 000000000000..c1e9f9ab0618 --- /dev/null +++ b/content/pt/docs/languages/go/libraries.md @@ -0,0 +1,57 @@ +--- +title: Utilizando bibliotecas de instrumentação +linkTitle: Bibliotecas +aliases: + - /docs/languages/go/using_instrumentation_libraries + - /docs/languages/go/automatic_instrumentation +weight: 40 +default_lang_commit: 825010e3cfece195ae4dfd019eff080ef8eb6365 +--- + +{{% docs/languages/libraries-intro "go" %}} + +## Utilizando bibliotecas de instrumentação {#use-instrumentation-libraries} + +Caso uma biblioteca não venha com o OpenTelemetry, você pode utilizar uma +[biblioteca 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 `net/http`](https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp) +cria automaticamente [trechos](/docs/concepts/signals/traces/#spans) e +[métricas](/docs/concepts/signals/metrics/) com base nas requisições HTTP. + +## Configuração {#setup} + +Cada biblioteca de instrumentação é um pacote. Em geral, isso significa que você +precisa usar `go get` para obter o pacote apropriado. Por exemplo, para obter as +bibliotecas de instrumentação mantidas no +[repositório Contrib](https://github.com/open-telemetry/opentelemetry-go-contrib), +execute o seguinte comando: + +```sh +go get go.opentelemetry.io/contrib/instrumentation/{caminho-de-importacao}/otel{nome-do-pacote} +``` + +Em seguida, configure o seu código com base no que a biblioteca requer para ser +ativada. + +Em [Primeiros Passos](../getting-started/) fornecemos um exemplo mostrando como +configurar a instrumentação para um servidor `net/http`. + +## Pacotes disponíveis {#available-packages} + +Uma lista completa de bibliotecas de instrumentação disponíveis pode ser +encontrada no +[registro do OpenTelemetry](/ecosystem/registry/?language=go&component=instrumentation). + +## Próximos passos {#next-steps} + +As bibliotecas de instrumentação podem gerar dados de telemetria para +requisições HTTP de entrada e saída, mas não instrumentam sua aplicação +completamente. + +Enriqueça seus dados de telemetria realizando uma +[instrumentação personalizada](../instrumentation/) em seu código. Isso +complementa a telemetria da biblioteca padrão e pode oferecer dados mais +profundos sobre sua aplicação em execução. diff --git a/content/pt/docs/languages/go/registry.md b/content/pt/docs/languages/go/registry.md new file mode 100644 index 000000000000..0f29dab6a4a8 --- /dev/null +++ b/content/pt/docs/languages/go/registry.md @@ -0,0 +1,10 @@ +--- +title: Registro +description: + Bibliotecas de instrumentação, Exporters e outros componentes úteis para o + OpenTelemetry Go +redirect: /ecosystem/registry/?language=go +_build: { render: link } +weight: 300 +default_lang_commit: 1e0c316e3bdac625edc51f0a5037bff6e4611b65 +--- diff --git a/content/pt/docs/languages/go/resources.md b/content/pt/docs/languages/go/resources.md new file mode 100644 index 000000000000..b11b5479e759 --- /dev/null +++ b/content/pt/docs/languages/go/resources.md @@ -0,0 +1,57 @@ +--- +title: Recursos +weight: 70 +cSpell:ignore: sdktrace thirdparty +default_lang_commit: 12f31f62fcc466532513f6ebccb060c9ea5b9fe4 +--- + +{{% docs/languages/resources-intro %}} + +Recursos devem ser adicionados a um `TracerProvider`, `MeterProvider` e +`LoggerProvider` durante a sua inicialização, e são criados de maneira +semelhante aos atributos: + +```go +res := resource.NewWithAttributes( + semconv.SchemaURL, + semconv.ServiceNameKey.String("meuServico"), + semconv.ServiceVersionKey.String("1.0.0"), + semconv.ServiceInstanceIDKey.String("abcdef12345"), +) + +provider := sdktrace.NewTracerProvider( + ... + sdktrace.WithResource(res), +) +``` + +Observe o uso do pacote `semconv` para fornecer +[nomes convencionais](/docs/concepts/semantic-conventions/) para os atributos do +recurso. Isso ajuda a garantir que os consumidores da telemetria produzida +utilizando as convenções semânticas possam identificar facilmente os atributos +relevantes e entender seu significado. + +Os recursos também podem ser detectados automaticamente por meio das +implementações de `resource.Detector`. Esses `Detector`s podem descobrir +informações sobre o processo em execução, o sistema operacional em que ele está +sendo executado, o provedor de nuvem que hospeda a instância do sistema +operacional ou qualquer número de outros atributos de recurso. + +```go +res, err := resource.New( + context.Background(), + resource.WithFromEnv(), // Descobre e fornece atributos das variáveis de ambiente OTEL_RESOURCE_ATTRIBUTES e OTEL_SERVICE_NAME. + resource.WithTelemetrySDK(), // Descobre e fornece informações sobre o SDK do OpenTelemetry que está sendo utilizado. + resource.WithProcess(), // Descobre e fornece informações do processo. + resource.WithOS(), // Descobre e fornece informações do Sistema Operacional. + resource.WithContainer(), // Descobre e fornece informações do contêiner. + resource.WithHost(), // Descobre e fornece informações da hospedagem. + resource.WithAttributes(attribute.String("foo", "bar")), // Adicionar atributos de recurso personalizados. + // resource.WithDetectors(thirdparty.Detector{}), // Inclua a sua própria implementação externa do Detector. +) +if errors.Is(err, resource.ErrPartialResource) || errors.Is(err, resource.ErrSchemaURLConflict) { + log.Println(err) // Registre problemas não-fatais. +} else if err != nil { + log.Fatalln(err) // O erro pode ser fatal. +} +``` diff --git a/content/pt/docs/languages/go/sampling.md b/content/pt/docs/languages/go/sampling.md new file mode 100644 index 000000000000..08c861274862 --- /dev/null +++ b/content/pt/docs/languages/go/sampling.md @@ -0,0 +1,48 @@ +--- +title: Amostragem +weight: 80 +default_lang_commit: 06837fe15457a584f6a9e09579be0f0400593d57 +--- + +A [Amostragem](/docs/concepts/sampling/) é um processo que restringe a +quantidade de trechos gerados por um sistema. A configuração de amostragem exata +que você deve usar depende das suas necessidades específicas, mas, em geral, +você deve tomar uma decisão no início de um rastro e permitir que a decisão de +amostragem se propague para outros serviços. + +Um [`Sampler`](https://pkg.go.dev/go.opentelemetry.io/otel/sdk/trace#Sampler) +pode ser definido no `TracerProvider` utilizando o método +[`WithSampler`](https://pkg.go.dev/go.opentelemetry.io/otel/sdk/trace#WithSampler), +conforme o exemplo a seguir: + +```go +provider := trace.NewTracerProvider( + trace.WithSampler(trace.AlwaysSample()), +) +``` + +[`AlwaysSample`](https://pkg.go.dev/go.opentelemetry.io/otel/sdk/trace#AlwaysSample) +e +[`NeverSample`](https://pkg.go.dev/go.opentelemetry.io/otel/sdk/trace#NeverSample) +são valores autoexplicativos. `AlwaysSample` significa que cada trecho será +amostrado, enquanto `NeverSample` significa que nenhum trecho será amostrado. Ao +iniciar um projeto, ou em ambiente de desenvolvimento, utilize `AlwaysSample`. + +Outros amostradores disponíveis são: + +- [`TraceIDRatioBased`](https://pkg.go.dev/go.opentelemetry.io/otel/sdk/trace#TraceIDRatioBased), + que amostra uma fração dos trechos, com base na fração fornecida ao + amostrador. Caso esta fração seja .5, metade de todos os trechos serão + amostrados. +- [`ParentBased`](https://pkg.go.dev/go.opentelemetry.io/otel/sdk/trace#ParentBased), + é um decorador de amostrador que se comporta de maneira diferente, com base no + parente do trecho. Caso o trecho não possua um parente, o amostrador decorado + é usado para tomar a decisão de amostragem com base no parente do trecho. Por + padrão, `ParentBased` amostra trechos que possuem parentes que foram + amostrados e não amostra trechos cujos parentes não foram amostrados. + +Por padrão, o Tracer Provider utiliza o amostrador `ParentBased` com o +amostrador `AlwaysSample` + +Caso esteja em um ambiente de produção, considere utilizar o amostrador +`ParentBased` com o amostrador `TraceIDRatioBased`. From 5d25dfe821e6b05b30856f1ae33f838f806028a8 Mon Sep 17 00:00:00 2001 From: Riccardo Magliocchetti Date: Tue, 12 Nov 2024 12:08:31 +0100 Subject: [PATCH 12/21] Revise k8s operator docs for Python after latest releases (#5583) Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> --- .../en/docs/kubernetes/operator/automatic.md | 31 ++++++++++++------- content/en/docs/zero-code/python/operator.md | 4 +++ 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/content/en/docs/kubernetes/operator/automatic.md b/content/en/docs/kubernetes/operator/automatic.md index 2435e060b81a..887273ba3e12 100644 --- a/content/en/docs/kubernetes/operator/automatic.md +++ b/content/en/docs/kubernetes/operator/automatic.md @@ -361,17 +361,16 @@ time). This means that the configured endpoint must be able to receive OTLP over will connect to the `http` port of the `otlpreceiver` of the Collector created in the previous step. -> As of operator v0.67.0, the Instrumentation resource automatically sets -> `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` and `OTEL_EXPORTER_OTLP_METRICS_PROTOCOL` -> to `http/protobuf` for Python services. If you use an older version of the -> Operator you **MUST** set these env variables to `http/protobuf`, or Python -> auto-instrumentation will not work. +> As of operator v0.108.0, the Instrumentation resource automatically sets +> `OTEL_EXPORTER_OTLP_PROTOCOL` to `http/protobuf` for Python services. If you +> use an older version of the Operator you **MUST** set this env variable to +> `http/protobuf`, or Python auto-instrumentation will not work. #### Auto-instrumenting Python logs By default, Python logs auto-instrumentation is disabled. If you would like to -enable this feature, you must to set the `OTEL_LOGS_EXPORTER` and -`OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED` environment variables as +enable this feature, you must to set +`OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED` environment variable as follows: ```yaml @@ -389,14 +388,12 @@ spec: - baggage python: env: - - name: OTEL_LOGS_EXPORTER - value: otlp_proto_http - name: OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED value: 'true' ``` -> Note that `OTEL_LOGS_EXPORTER` must be explicitly set to `otlp_proto_http`, -> otherwise it defaults to gRPC. +> As of operator v0.111.0 setting `OTEL_LOGS_EXPORTER` to `otlp` is not required +> anymore. #### Excluding auto-instrumentation {#python-excluding-auto-instrumentation} @@ -541,6 +538,18 @@ securityContext: runAsUser: 0 ``` +### Auto-instrumenting a Python musl based container {#annotations-python-musl} + +Since operator v0.113.0 Python auto-instrumentation also honors an annotation +that will permit it to run it on images with a different C library than glibc. + +```sh +# for Linux glibc based images, this is the default value and can be omitted +instrumentation.opentelemetry.io/otel-python-platform: "glibc" +# for Linux musl based images +instrumentation.opentelemetry.io/otel-python-platform: "musl" +``` + ## Troubleshooting If you run into problems trying to auto-instrument your code, here are a few diff --git a/content/en/docs/zero-code/python/operator.md b/content/en/docs/zero-code/python/operator.md index 9f5e6761b6dd..de64a15ff232 100644 --- a/content/en/docs/zero-code/python/operator.md +++ b/content/en/docs/zero-code/python/operator.md @@ -28,6 +28,10 @@ provides images for a single Python version based on the glibc C library. If you want to use it you might need to build your own image operator Docker image for Python auto-instrumentation. +Since operator v0.113.0 it is possible to build an image with both glibc and +musl based auto-instrumentation and +[configure it at runtime](/docs/kubernetes/operator/automatic/#annotations-python-musl). + #### Django applications Applications that run from their own executable like Django requires to set in From d65dd0e1f124b2b08f5c71530250e36e15cab810 Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri-Benedetti Date: Tue, 12 Nov 2024 12:25:11 +0100 Subject: [PATCH 13/21] Add missing en anchors for ES translations (#5580) --- .htmltest.yml | 5 ----- content/es/docs/_index.md | 7 ------- content/es/docs/concepts/components.md | 8 ++++---- content/es/docs/concepts/context-propagation.md | 4 ++-- content/es/docs/what-is-opentelemetry.md | 2 +- 5 files changed, 7 insertions(+), 19 deletions(-) diff --git a/.htmltest.yml b/.htmltest.yml index 58ac783f79db..af2a5d1b60cb 100644 --- a/.htmltest.yml +++ b/.htmltest.yml @@ -10,11 +10,6 @@ IgnoreDirs: # DO NOT EDIT! IgnoreDirs list is auto-generated from markdown file front matter. # Ignore blog index pages for all locales and in all blog sections (top-level and years) - ^(../)?blog/(\d+/)?page/\d+ - # TODO drop next lines after https://github.com/open-telemetry/opentelemetry.io/issues/5555 is fixed for these pages: - - ^es/docs/concepts/glossary/ - - ^es/docs/concepts/instrumentation/zero-code/ - - ^es/docs/concepts/signals/baggage/ - - ^es/docs/zero-code/php/ # TODO drop next line after https://github.com/open-telemetry/opentelemetry.io/issues/5423 is fixed for ja pages: - ^ja/docs/concepts/instrumentation/libraries/ # TODO drop next lines after https://github.com/open-telemetry/opentelemetry.io/issues/5555 is fixed for these pages: diff --git a/content/es/docs/_index.md b/content/es/docs/_index.md index 37bce30e49c5..15b4318af334 100644 --- a/content/es/docs/_index.md +++ b/content/es/docs/_index.md @@ -2,13 +2,6 @@ title: Documentación linkTitle: Docs menu: { main: { weight: 10 } } -htmltest: - IgnoreDirs: - # TODO drop next lines after https://github.com/open-telemetry/opentelemetry.io/issues/5555 is fixed for these pages: - - ^es/docs/concepts/glossary/ - - ^es/docs/concepts/instrumentation/zero-code/ - - ^es/docs/concepts/signals/baggage/ - - ^es/docs/zero-code/php/ default_lang_commit: f7cb8b65a478450d80d703b34c8473c579702108 --- diff --git a/content/es/docs/concepts/components.md b/content/es/docs/concepts/components.md index be665264af10..9a548119bfb6 100644 --- a/content/es/docs/concepts/components.md +++ b/content/es/docs/concepts/components.md @@ -8,11 +8,11 @@ default_lang_commit: 9b7da35fd7abd77d867177902b36d95e5f322182 OpenTelemetry está compuesto por varios componentes principales: -- [Especificación](#especificación) +- [Especificación](#specification) - [Collector](#collector) - [Implementaciones de API y SDK específicas del lenguaje](#implementaciones-de-api-y-sdk-específicas-del-lenguaje) - [Librerías de Instrumentación](#librerías-de-instrumentación) - - [Exportadores](#exportadores) + - [Exportadores](#exporters) - [Instrumentación sin código](#instrumentación-sin-código) - [Detectores de Recursos](#detectores-de-recursos) - [Propagadores entre servicios](#propagadores-entre-servicios) @@ -23,7 +23,7 @@ OpenTelemetry está compuesto por varios componentes principales: OpenTelemetry te permite reemplazar la necesidad de SDKs y herramientas específicas de proveedores para generar y exportar datos de telemetría. -## Especificación +## Especificación {#specification} Describe los requisitos y expectativas multilenguaje para todas las implementaciones. Más allá de la definición de términos, la especificación @@ -75,7 +75,7 @@ dependencias separadas. Para más información, consulta [Instrumentación de librerías](/docs/concepts/instrumentation/libraries/). -### Exportadores +### Exportadores {#exporters} {{% docs/languages/exporters/intro %}} diff --git a/content/es/docs/concepts/context-propagation.md b/content/es/docs/concepts/context-propagation.md index 57eca6c8f149..adcae7f5fdbc 100644 --- a/content/es/docs/concepts/context-propagation.md +++ b/content/es/docs/concepts/context-propagation.md @@ -15,7 +15,7 @@ límites de procesos y redes. Para entender la propagación de contexto, necesitas comprender dos conceptos separados: contexto y propagación. -## Contexto +## Contexto {#context} El contexto es un objeto que contiene la información para que el servicio emisor y receptor, o la @@ -28,7 +28,7 @@ creado en el servicio B. El ID de traza que está en el contexto también se usa para el siguiente span creado en el servicio B, lo que significa que el span es parte de la misma traza que el span del servicio A. -## Propagación +## Propagación {#propagation} La propagación es el mecanismo que mueve el contexto entre servicios y procesos. Serializa o deserializa el objeto de contexto y proporciona la información diff --git a/content/es/docs/what-is-opentelemetry.md b/content/es/docs/what-is-opentelemetry.md index 7db506e0048a..ddc329ff450d 100644 --- a/content/es/docs/what-is-opentelemetry.md +++ b/content/es/docs/what-is-opentelemetry.md @@ -110,7 +110,7 @@ puede extender incluyen: Aunque la mayoría de los usuarios tal vez no necesiten extender OpenTelemetry, el proyecto está diseñado para hacerlo posible en casi todos los niveles. -## Historia +## Historia {#history} OpenTelemetry es un proyecto de [Cloud Native Computing Foundation (CNCF)](https://www.cncf.io) que es el From 5f5b9cd069be35592db0f42289338d5036ec5f1d Mon Sep 17 00:00:00 2001 From: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> Date: Wed, 13 Nov 2024 02:40:09 -0800 Subject: [PATCH 14/21] docs: Add HTTP port to collector docker command (#5441) Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Tiffany Hrabusa <30397949+tiffany76@users.noreply.github.com> --- content/en/docs/collector/quick-start.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/en/docs/collector/quick-start.md b/content/en/docs/collector/quick-start.md index 326f7c2b6f4f..d782ced91ca6 100644 --- a/content/en/docs/collector/quick-start.md +++ b/content/en/docs/collector/quick-start.md @@ -57,11 +57,13 @@ preferred shell. ## Generate and collect telemetry -3. Launch the Collector: +3. Launch the Collector, listening on ports 4317 (for OTLP gRPC), 4318 (for OTLP + HTTP) and 55679 (for ZPages): ```sh docker run \ -p 127.0.0.1:4317:4317 \ + -p 127.0.0.1:4318:4318 \ -p 127.0.0.1:55679:55679 \ otel/opentelemetry-collector-contrib:{{% param vers %}} \ 2>&1 | tee collector-output.txt # Optionally tee output for easier search later From 04908a1b81f5d4f8989839884ca49725e254dbec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Em=C3=ADdio=20Neto?= <9735060+emdneto@users.noreply.github.com> Date: Wed, 13 Nov 2024 07:57:14 -0300 Subject: [PATCH 15/21] Add missing en anchors for PT-BR translations (#5594) Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .htmltest.yml | 16 ---------------- content/pt/docs/_index.md | 18 +----------------- content/pt/docs/concepts/components.md | 2 +- .../pt/docs/concepts/context-propagation.md | 4 ++-- content/pt/docs/concepts/sampling/index.md | 2 +- content/pt/docs/concepts/signals/traces.md | 2 +- content/pt/docs/what-is-opentelemetry.md | 2 +- 7 files changed, 7 insertions(+), 39 deletions(-) diff --git a/.htmltest.yml b/.htmltest.yml index af2a5d1b60cb..129dbe107d92 100644 --- a/.htmltest.yml +++ b/.htmltest.yml @@ -12,22 +12,6 @@ IgnoreDirs: - ^(../)?blog/(\d+/)?page/\d+ # TODO drop next line after https://github.com/open-telemetry/opentelemetry.io/issues/5423 is fixed for ja pages: - ^ja/docs/concepts/instrumentation/libraries/ - # TODO drop next lines after https://github.com/open-telemetry/opentelemetry.io/issues/5555 is fixed for these pages: - - ^pt/docs/concepts/components/ - - ^pt/docs/concepts/glossary/ - - ^pt/docs/concepts/signals/baggage/ - - ^pt/docs/languages/erlang/instrumentation/ - - ^pt/docs/languages/erlang/sampling/ - - ^pt/docs/languages/js/instrumentation/ - - ^pt/docs/languages/js/sampling/ - - ^pt/docs/languages/net/instrumentation/ - - ^pt/docs/languages/net/libraries/ - - ^pt/docs/languages/net/shim/ - - ^pt/docs/languages/php/instrumentation/ - - ^pt/docs/languages/python/instrumentation/ - - ^pt/docs/languages/ruby/instrumentation/ - - ^pt/docs/languages/ruby/sampling/ - - ^pt/docs/zero-code/php/ # TODO drop next line after https://github.com/open-telemetry/opentelemetry.io/issues/5423 is fixed for pt pages: - ^pt/docs/concepts/instrumentation/libraries/ # TODO drop next lines after https://github.com/open-telemetry/opentelemetry.io/issues/5555 is fixed for these pages: diff --git a/content/pt/docs/_index.md b/content/pt/docs/_index.md index eb6bd6fcf8c7..0eb159f5fe93 100644 --- a/content/pt/docs/_index.md +++ b/content/pt/docs/_index.md @@ -3,23 +3,7 @@ title: Documentação linkTitle: Docs menu: { main: { weight: 10 } } htmltest: - IgnoreDirs: - # TODO drop next lines after https://github.com/open-telemetry/opentelemetry.io/issues/5555 is fixed for these pages: - - ^pt/docs/concepts/components/ - - ^pt/docs/concepts/glossary/ - - ^pt/docs/concepts/signals/baggage/ - - ^pt/docs/languages/erlang/instrumentation/ - - ^pt/docs/languages/erlang/sampling/ - - ^pt/docs/languages/js/instrumentation/ - - ^pt/docs/languages/js/sampling/ - - ^pt/docs/languages/net/instrumentation/ - - ^pt/docs/languages/net/libraries/ - - ^pt/docs/languages/net/shim/ - - ^pt/docs/languages/php/instrumentation/ - - ^pt/docs/languages/python/instrumentation/ - - ^pt/docs/languages/ruby/instrumentation/ - - ^pt/docs/languages/ruby/sampling/ - - ^pt/docs/zero-code/php/ + IgnoreDirs: {} default_lang_commit: 2d88c10e1a14220a88a6e4859acb4047f49b6519 --- diff --git a/content/pt/docs/concepts/components.md b/content/pt/docs/concepts/components.md index b7a74b6823b0..4d7e8ef256ee 100644 --- a/content/pt/docs/concepts/components.md +++ b/content/pt/docs/concepts/components.md @@ -73,7 +73,7 @@ necessárias. Para mais informações, consulte [Bibliotecas de instrumentação](/docs/concepts/instrumentation/libraries/). -### Exporters +### Exporters {#exporters} {{% docs/languages/exporters/intro %}} diff --git a/content/pt/docs/concepts/context-propagation.md b/content/pt/docs/concepts/context-propagation.md index ce75b853cd86..a3ce5eeeb224 100644 --- a/content/pt/docs/concepts/context-propagation.md +++ b/content/pt/docs/concepts/context-propagation.md @@ -15,7 +15,7 @@ sistema que é distribuído arbitrariamente entre processos e limites de rede. Para compreender a propagação de contexto, você precisa entender dois conceitos distintos: contexto e propagação. -## Contexto +## Contexto {#context} O contexto é um objeto que contém as informações necessárias para que o serviço emissor e receptor, ou @@ -28,7 +28,7 @@ serviço B. O ID do rasto que está no contexto também será usado para o próx trecho criado no serviço B, o que significa que o trecho faz parte do mesmo rastro que o trecho do serviço A. -## Propagação +## Propagação {#propagation} Propagação é o mecanismo que move o contexto entre serviços e processos. Ele serializa ou desserializa o objeto de contexto e fornece as informações diff --git a/content/pt/docs/concepts/sampling/index.md b/content/pt/docs/concepts/sampling/index.md index 27caec960d79..3288147887ca 100644 --- a/content/pt/docs/concepts/sampling/index.md +++ b/content/pt/docs/concepts/sampling/index.md @@ -103,7 +103,7 @@ fornecedor ou com recursos computacionais em hospedagem própria, dependendo do seu _backend_ de observabilidade, da natureza dos seus dados e das suas tentativas de realizar amostragem de forma eficaz. -## Amostragem pela Cabeça +## Amostragem pela Cabeça {#head-sampling} A amostragem pela cabeça (_head sampling_) é uma técnica de amostragem usada para tomar uma decisão de amostragem o mais cedo possível. A decisão de amostrar diff --git a/content/pt/docs/concepts/signals/traces.md b/content/pt/docs/concepts/signals/traces.md index d8d3271b6b44..f96ad916dd5e 100644 --- a/content/pt/docs/concepts/signals/traces.md +++ b/content/pt/docs/concepts/signals/traces.md @@ -136,7 +136,7 @@ Para compreender como o rastreamento no OpenTelemetry funciona, vamos analisar uma lista de componentes que terão um papel fundamental na instrumentação do nosso código. -## Trace Provider +## Trace Provider {#tracer-provider} Um Trace Provider (às vezes chamado de `TracerProvider`) é uma fábrica de `rastros`. Na maioria das aplicações, um Trace Provider é inicializado uma vez e diff --git a/content/pt/docs/what-is-opentelemetry.md b/content/pt/docs/what-is-opentelemetry.md index dbc5ca01c050..c70ca4ef35db 100644 --- a/content/pt/docs/what-is-opentelemetry.md +++ b/content/pt/docs/what-is-opentelemetry.md @@ -108,7 +108,7 @@ pode ser estendido incluem: Embora a maioria dos usuários possa não precisar estender o OpenTelemetry, o projeto é projetado para tornar isso possível em quase todos os níveis. -## História +## História {#history} O OpenTelemetry é um projeto da [Cloud Native Computing Foundation (CNCF)](https://www.cncf.io) que é resultado From f80d9079ceea0bf640759377792ae38c4e815284 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Wed, 13 Nov 2024 05:45:06 -0600 Subject: [PATCH 16/21] Auto-update registry versions (1c01fda8cc057d3ae5bd6aca2a24b920ed938247) (#5597) --- data/registry/exporter-dotnet-inmemory.yml | 2 +- data/registry/exporter-dotnet-prometheus-aspnetcore.yml | 2 +- data/registry/exporter-dotnet-prometheus-httplistener.yml | 2 +- data/registry/exporter-js-sap-cloud-logging.yml | 2 +- data/registry/instrumentation-ruby-elasticsearch.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/data/registry/exporter-dotnet-inmemory.yml b/data/registry/exporter-dotnet-inmemory.yml index 07cf5e6fc115..91eb8e6e5575 100644 --- a/data/registry/exporter-dotnet-inmemory.yml +++ b/data/registry/exporter-dotnet-inmemory.yml @@ -17,4 +17,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Exporter.InMemory - version: 1.10.0-rc.1 + version: 1.10.0 diff --git a/data/registry/exporter-dotnet-prometheus-aspnetcore.yml b/data/registry/exporter-dotnet-prometheus-aspnetcore.yml index ff19ad374680..5c3978f479e1 100644 --- a/data/registry/exporter-dotnet-prometheus-aspnetcore.yml +++ b/data/registry/exporter-dotnet-prometheus-aspnetcore.yml @@ -20,4 +20,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Exporter.Prometheus.AspNetCore - version: 1.9.0-beta.2 + version: 1.10.0-beta.1 diff --git a/data/registry/exporter-dotnet-prometheus-httplistener.yml b/data/registry/exporter-dotnet-prometheus-httplistener.yml index b53f88e6e3d4..3e0316a0479f 100644 --- a/data/registry/exporter-dotnet-prometheus-httplistener.yml +++ b/data/registry/exporter-dotnet-prometheus-httplistener.yml @@ -18,4 +18,4 @@ createdAt: 2022-11-07 package: registry: nuget name: OpenTelemetry.Exporter.Prometheus.HttpListener - version: 1.9.0-beta.2 + version: 1.10.0-beta.1 diff --git a/data/registry/exporter-js-sap-cloud-logging.yml b/data/registry/exporter-js-sap-cloud-logging.yml index aca044a763b5..bfaf2ca56339 100644 --- a/data/registry/exporter-js-sap-cloud-logging.yml +++ b/data/registry/exporter-js-sap-cloud-logging.yml @@ -23,4 +23,4 @@ isFirstParty: false package: registry: npm name: '@sap/opentelemetry-exporter-for-sap-cloud-logging' - version: 0.1.1 + version: 0.2.0 diff --git a/data/registry/instrumentation-ruby-elasticsearch.yml b/data/registry/instrumentation-ruby-elasticsearch.yml index 0c6f37f2d837..fa866d0c4b85 100644 --- a/data/registry/instrumentation-ruby-elasticsearch.yml +++ b/data/registry/instrumentation-ruby-elasticsearch.yml @@ -20,4 +20,4 @@ isNative: true package: registry: gems name: elasticsearch - version: 8.15.0 + version: 8.16.0 From ff1ae893dd7846c09cb6850b1c642f2bae141164 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Wed, 13 Nov 2024 05:49:27 -0600 Subject: [PATCH 17/21] Update opentelemetry-java-instrumentation version to v2.10.0 (#5598) --- content/en/docs/languages/java/_index.md | 2 +- static/refcache.json | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/content/en/docs/languages/java/_index.md b/content/en/docs/languages/java/_index.md index e2351e81c0b1..50d2da30240b 100644 --- a/content/en/docs/languages/java/_index.md +++ b/content/en/docs/languages/java/_index.md @@ -6,7 +6,7 @@ description: >- aliases: [/java, /java/metrics, /java/tracing] cascade: vers: - instrumentation: 2.9.0 + instrumentation: 2.10.0 otel: 1.44.1 contrib: 1.38.0 semconv: 1.28.0 diff --git a/static/refcache.json b/static/refcache.json index 30cb7c919941..88714c65c68e 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -11739,6 +11739,10 @@ "StatusCode": 200, "LastSeen": "2024-01-30T05:18:35.161372-05:00" }, + "https://repo1.maven.org/maven2/io/opentelemetry/instrumentation/opentelemetry-instrumentation-bom-alpha/2.10.0-alpha/opentelemetry-instrumentation-bom-alpha-2.10.0-alpha.pom": { + "StatusCode": 206, + "LastSeen": "2024-11-13T10:47:55.011955709Z" + }, "https://repo1.maven.org/maven2/io/opentelemetry/instrumentation/opentelemetry-instrumentation-bom-alpha/2.7.0-alpha/opentelemetry-instrumentation-bom-alpha-2.7.0-alpha.pom": { "StatusCode": 206, "LastSeen": "2024-10-23T20:20:08.34491-05:00" @@ -11747,6 +11751,10 @@ "StatusCode": 206, "LastSeen": "2024-10-23T20:19:21.596018-05:00" }, + "https://repo1.maven.org/maven2/io/opentelemetry/instrumentation/opentelemetry-instrumentation-bom/2.10.0/opentelemetry-instrumentation-bom-2.10.0.pom": { + "StatusCode": 206, + "LastSeen": "2024-11-13T10:47:53.144495226Z" + }, "https://repo1.maven.org/maven2/io/opentelemetry/instrumentation/opentelemetry-instrumentation-bom/2.7.0/opentelemetry-instrumentation-bom-2.7.0.pom": { "StatusCode": 206, "LastSeen": "2024-10-23T20:20:07.402964-05:00" From a4d29d40e7604280d5d4a326e1a1492953ba6d70 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Wed, 13 Nov 2024 15:03:30 +0100 Subject: [PATCH 18/21] Update registry schema to allow any https URL for authors (#5605) --- data/registry-schema.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/registry-schema.json b/data/registry-schema.json index edbedd799c81..c605d190742c 100644 --- a/data/registry-schema.json +++ b/data/registry-schema.json @@ -109,9 +109,9 @@ }, "url": { "type": "string", - "description": "The URL of the author", - "pattern": "^https:\\/\\/github\\.com\\/([a-zA-Z0-9](?:-?[a-zA-Z0-9]){0,38})$", - "errorMessage": "The URL of the author must be a valid GitHub user URL" + "description": "The URL of the author. This can be a website or a GitHub handle URL.", + "format": "uri", + "pattern": "^https://.*$" } }, "if": { From 34d97aefac45ffa43d279a56726ada4c7a699904 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Em=C3=ADdio=20Neto?= <9735060+emdneto@users.noreply.github.com> Date: Wed, 13 Nov 2024 11:05:20 -0300 Subject: [PATCH 19/21] [pt] Temporarily patch page to avoid link-check failure (#5603) --- .htmltest.yml | 2 -- content/pt/docs/concepts/instrumentation/libraries.md | 11 +++-------- scripts/check-i18n.sh | 2 +- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/.htmltest.yml b/.htmltest.yml index 129dbe107d92..dff29e7f9298 100644 --- a/.htmltest.yml +++ b/.htmltest.yml @@ -12,8 +12,6 @@ IgnoreDirs: - ^(../)?blog/(\d+/)?page/\d+ # TODO drop next line after https://github.com/open-telemetry/opentelemetry.io/issues/5423 is fixed for ja pages: - ^ja/docs/concepts/instrumentation/libraries/ - # TODO drop next line after https://github.com/open-telemetry/opentelemetry.io/issues/5423 is fixed for pt pages: - - ^pt/docs/concepts/instrumentation/libraries/ # TODO drop next lines after https://github.com/open-telemetry/opentelemetry.io/issues/5555 is fixed for these pages: - ^zh/docs/concepts/signals/baggage/ - ^zh/docs/zero-code/php/ diff --git a/content/pt/docs/concepts/instrumentation/libraries.md b/content/pt/docs/concepts/instrumentation/libraries.md index f9dd1e39938d..b33f1af65a18 100644 --- a/content/pt/docs/concepts/instrumentation/libraries.md +++ b/content/pt/docs/concepts/instrumentation/libraries.md @@ -2,11 +2,7 @@ title: Bibliotecas description: Aprenda como adicionar instrumentação nativa à sua biblioteca. weight: 40 -default_lang_commit: a570a00c7a238ffe26528d7bfb20efdbaf939c39 -htmltest: - IgnoreDirs: - # TODO drop next line after https://github.com/open-telemetry/opentelemetry.io/issues/5423 is fixed for pt pages: - - ^pt/docs/concepts/instrumentation/libraries/ +default_lang_commit: a570a00c7a238ffe26528d7bfb20efdbaf939c39 # + link-fix patch --- O OpenTelemetry fornece [bibliotecas de instrumentação][] para várias @@ -314,9 +310,8 @@ Aqui estão os consulte a documentação do OpenTelemetry no seu idioma. No caso de um sistema de mensagens, você pode receber mais de uma mensagem de -uma vez. As mensagens recebidas se tornam -[_links_](/docs/languages/java/instrumentation/#create-spans-with-links) no -trecho que você cria. Consulte as +uma vez. As mensagens recebidas se tornam _links_ no trecho que você cria. +Consulte as [convenções de mensagens](/docs/specs/semconv/messaging/messaging-spans/) para mais detalhes (AVISO: as convenções de mensagens estão [em construção](https://github.com/open-telemetry/oteps/pull/173) 🚧). diff --git a/scripts/check-i18n.sh b/scripts/check-i18n.sh index df729741a05b..00cbe4fddda6 100755 --- a/scripts/check-i18n.sh +++ b/scripts/check-i18n.sh @@ -250,7 +250,7 @@ function main() { for f in $TARGETS; do ((FILE_COUNT++)) - LASTCOMMIT_FF=$(perl -ne "print \"\$1\" if /^$I18N_DLC_KEY:\\s*(.*)/" "$f") + LASTCOMMIT_FF=$(perl -ne "print \"\$1\" if /^$I18N_DLC_KEY:\\s*([a-f0-9]+)/i" "$f") LASTCOMMIT="$LASTCOMMIT_FF" if [[ $LIST_KIND == "ALL" && -n $COMMIT_HASH_ARG ]]; then From ad58587fa2bd7d8a2773ad3a36408215663cd752 Mon Sep 17 00:00:00 2001 From: Patrice Chalin Date: Wed, 13 Nov 2024 09:18:13 -0500 Subject: [PATCH 20/21] Registry: add missing URL for Traefik (#5602) Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> --- .../application-integration-go-traefik-hub-api-management.yml | 3 ++- static/refcache.json | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/data/registry/application-integration-go-traefik-hub-api-management.yml b/data/registry/application-integration-go-traefik-hub-api-management.yml index 8eec96632b80..4ffe278c3f46 100644 --- a/data/registry/application-integration-go-traefik-hub-api-management.yml +++ b/data/registry/application-integration-go-traefik-hub-api-management.yml @@ -13,8 +13,9 @@ description: behavior. authors: - name: Traefik Labs + url: https://github.com/immanuelfodor urls: website: https://traefik.io/traefik-hub/ docs: https://doc.traefik.io/traefik-hub/operations/metrics -createdAt: '2024-08-06' +createdAt: 2024-08-06 isNative: true diff --git a/static/refcache.json b/static/refcache.json index 88714c65c68e..765546941467 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -5255,6 +5255,10 @@ "StatusCode": 200, "LastSeen": "2024-01-18T19:13:40.755331-05:00" }, + "https://github.com/immanuelfodor": { + "StatusCode": 200, + "LastSeen": "2024-11-13T13:16:21.346606655Z" + }, "https://github.com/instana/go-otel-exporter": { "StatusCode": 200, "LastSeen": "2024-01-18T19:10:14.475135-05:00" From 13e2b443a16f06d25a1f8500ec1b536d6261a78c Mon Sep 17 00:00:00 2001 From: Victorsesan <156327324+Victorsesan@users.noreply.github.com> Date: Fri, 15 Nov 2024 02:05:45 +0100 Subject: [PATCH 21/21] Update content/es/docs/kubernetes/getting-started.md Co-authored-by: Fabrizio Ferri-Benedetti --- content/es/docs/kubernetes/getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/es/docs/kubernetes/getting-started.md b/content/es/docs/kubernetes/getting-started.md index 591c10788dac..2259cb60bb8a 100644 --- a/content/es/docs/kubernetes/getting-started.md +++ b/content/es/docs/kubernetes/getting-started.md @@ -90,7 +90,7 @@ Esta instancia del recopilador utilizará los siguientes componentes: - [Filelog Receiver](../collector/components/#filelog-receiver): para recopilar Registros de Kubernetes y registros de aplicaciones escritos en stdout/stderr. -Vamos a descomponerlos. +Vamos a ver sus partes. ### Receptor OTLP