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 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. diff --git a/.htmltest.yml b/.htmltest.yml index d2adbac45b64..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: @@ -81,6 +73,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/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/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 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/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つのプロジェクトが統合された成果物です。 これらのプロジェクトはどちらも、コードを計装し、オブザーバビリティバックエンドにテレメトリーデータを送信する方法の標準がないという問題を解決するために作られました。 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 9a282c4db0b9..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) }} @@ -85,7 +89,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 -}} +
  • @@ -141,6 +161,19 @@

    Deprecated

    {{ end -}} {{- .description | markdownify -}}

    + + +
    + {{ if .tags }} +
    + {{ range .tags }} + {{ $tag := . }} + {{ $tag }} + {{ end }} +
    + {{ end }} +
    + {{ with $package -}} {{ if not (eq .quickInstall false) }}
    Quick Install
    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 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 -}}
    + + + + 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/)|;