diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b66258e3a8f7..986d32b7e680 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -24,26 +24,25 @@ content-modules/semantic-conventions @open-telemetry/docs-maintainers @open- content/en/blog/ @open-telemetry/docs-maintainers content/en/community/end-user/ @open-telemetry/docs-approvers @open-telemetry/sig-end-user-approvers content/en/docs/collector @open-telemetry/docs-approvers @open-telemetry/collector-approvers +content/en/docs/contributing/ @open-telemetry/docs-approvers @open-telemetry/docs-maintainers content/en/docs/demo @open-telemetry/docs-approvers @open-telemetry/demo-approvers -content/en/docs/languages/cpp/ @open-telemetry/docs-approvers @open-telemetry/cpp-approvers -content/en/docs/languages/erlang/ @open-telemetry/docs-approvers @open-telemetry/erlang-approvers -content/en/docs/languages/go/ @open-telemetry/docs-approvers @open-telemetry/go-approvers @open-telemetry/go-instrumentation-approvers -content/en/docs/languages/java/ @open-telemetry/docs-approvers @open-telemetry/java-approvers @open-telemetry/java-instrumentation-approvers -content/en/docs/languages/js/ @open-telemetry/docs-approvers @open-telemetry/javascript-approvers -content/en/docs/languages/net/ @open-telemetry/docs-approvers @open-telemetry/dotnet-approvers @open-telemetry/dotnet-instrumentation-approvers -content/en/docs/languages/php/ @open-telemetry/docs-approvers @open-telemetry/php-approvers -content/en/docs/languages/python/ @open-telemetry/docs-approvers @open-telemetry/python-approvers -content/en/docs/languages/ruby/ @open-telemetry/docs-approvers @open-telemetry/ruby-approvers @open-telemetry/ruby-contrib-approvers -content/en/docs/languages/rust/ @open-telemetry/docs-approvers @open-telemetry/rust-approvers -content/en/docs/languages/swift/ @open-telemetry/docs-approvers @open-telemetry/swift-approvers -content/en/docs/kubernetes/operator/ @open-telemetry/docs-approvers @open-telemetry/operator-approvers content/en/docs/kubernetes/helm/ @open-telemetry/docs-approvers @open-telemetry/helm-approvers -content/en/docs/specs/ @open-telemetry/docs-approvers @open-telemetry/specs-approvers +content/en/docs/kubernetes/operator/ @open-telemetry/docs-approvers @open-telemetry/operator-approvers +content/en/docs/languages/cpp/ @open-telemetry/docs-approvers @open-telemetry/cpp-approvers +content/en/docs/languages/erlang/ @open-telemetry/docs-approvers @open-telemetry/erlang-approvers +content/en/docs/languages/go/ @open-telemetry/docs-approvers @open-telemetry/go-approvers @open-telemetry/go-instrumentation-approvers +content/en/docs/languages/java/ @open-telemetry/docs-approvers @open-telemetry/java-approvers @open-telemetry/java-instrumentation-approvers +content/en/docs/languages/js/ @open-telemetry/docs-approvers @open-telemetry/javascript-approvers +content/en/docs/languages/net/ @open-telemetry/docs-approvers @open-telemetry/dotnet-approvers @open-telemetry/dotnet-instrumentation-approvers +content/en/docs/languages/php/ @open-telemetry/docs-approvers @open-telemetry/php-approvers +content/en/docs/languages/python/ @open-telemetry/docs-approvers @open-telemetry/python-approvers +content/en/docs/languages/ruby/ @open-telemetry/docs-approvers @open-telemetry/ruby-approvers @open-telemetry/ruby-contrib-approvers +content/en/docs/languages/rust/ @open-telemetry/docs-approvers @open-telemetry/rust-approvers +content/en/docs/languages/swift/ @open-telemetry/docs-approvers @open-telemetry/swift-approvers content/en/docs/security/ @open-telemetry/docs-approvers @open-telemetry/sig-security-maintainers +content/en/docs/specs/ @open-telemetry/docs-approvers @open-telemetry/specs-approvers +content/en/docs/zero-code/java/ @open-telemetry/docs-approvers @open-telemetry/java-approvers @open-telemetry/java-instrumentation-approvers +content/en/docs/zero-code/js/ @open-telemetry/docs-approvers @open-telemetry/javascript-approvers +content/en/docs/zero-code/net/ @open-telemetry/docs-approvers @open-telemetry/dotnet-approvers @open-telemetry/dotnet-instrumentation-approvers content/en/ecosystem/demo/ @open-telemetry/demo-approvers @open-telemetry/demo-approvers -content/en/docs/contributing/ @open-telemetry/docs-approvers @open-telemetry/docs-maintainers -content/zh/ @open-telemetry/docs-zh-approvers -content/en/docs/zero-code/java/ @open-telemetry/docs-approvers @open-telemetry/java-approvers @open-telemetry/java-instrumentation-approvers -content/en/docs/zero-code/js/ @open-telemetry/docs-approvers @open-telemetry/javascript-approvers -content/en/docs/zero-code/net/ @open-telemetry/docs-approvers @open-telemetry/dotnet-approvers @open-telemetry/dotnet-instrumentation-approvers - +content/zh/ @open-telemetry/docs-maintainers @open-telemetry/docs-zh-approvers diff --git a/README.md b/README.md index 20e8a68d7ccd..cb27b13cb7c9 100644 --- a/README.md +++ b/README.md @@ -28,15 +28,15 @@ to the registry][]. ## Contributing We have curated some issues with the tags [help wanted][] and [good first -issue][]. This should allow you to quickly find a place to contribute. See -[CONTRIBUTING.md][] for more information. +issue][]. This should allow you to quickly find a place to contribute. See [CONTRIBUTING.md][] +for more information. We, the OTel Communications SIG, meet every two weeks on Monday at 10:00 PT. Check out the [OpenTelemetry community calendar][] for the Zoom link and any updates to this schedule. -Meeting notes are available as a public [Google doc][]. If you have trouble -accessing the doc, get in touch in the `#otel-comms` channel on [Slack][]. +Meeting notes are available as a public [Google doc][]. If you have trouble accessing +the doc, get in touch in the `#otel-comms` channel on [Slack][]. Here is a list of community roles with current and previous members: @@ -62,8 +62,8 @@ Here is a list of community roles with current and previous members: - [Morgan McLean](https://github.com/mtwo) - [jparsana](https://github.com/jparsana) -Learn more about roles in the [community repository][]. Thanks to [all who have -already contributed][contributors]! +Learn more about roles in the [community repository][]. Thanks to [all who have already +contributed][contributors]! ## Licenses diff --git a/content/en/blog/2019/opentelemetry-governance-committee-explained/index.md b/content/en/blog/2019/opentelemetry-governance-committee-explained/index.md index c32b2e24fb2f..0d57e712b82d 100644 --- a/content/en/blog/2019/opentelemetry-governance-committee-explained/index.md +++ b/content/en/blog/2019/opentelemetry-governance-committee-explained/index.md @@ -74,7 +74,6 @@ your questions! Thanks [Sarah Novotny](https://twitter.com/sarahnovotny) for review and feedback! -_A version of this article was [originally posted][] on -[medium.com/opentelemetry](https://medium.com/opentelemetry)._ +_A version of this article was [originally posted][] on [medium.com/opentelemetry](https://medium.com/opentelemetry)._ [originally posted]: {{% param canonical_url %}} diff --git a/content/en/blog/2021/gc-election.md b/content/en/blog/2021/gc-election.md index 7fad088401b3..3c477b0e8f57 100644 --- a/content/en/blog/2021/gc-election.md +++ b/content/en/blog/2021/gc-election.md @@ -6,7 +6,6 @@ canonical_url: https://medium.com/opentelemetry/announcing-the-2021-opentelemetr --- The OpenTelemetry project is excited to announce the 2021 OpenTelemetry -Governance Committee (GC) election. For all the details, see the [original -post][]. +Governance Committee (GC) election. For all the details, see the [original post][]. [original post]: {{% param canonical_url %}} diff --git a/content/en/blog/2021/womens-day.md b/content/en/blog/2021/womens-day.md index 65966a157fbd..b06df675da78 100644 --- a/content/en/blog/2021/womens-day.md +++ b/content/en/blog/2021/womens-day.md @@ -6,7 +6,6 @@ canonical_url: https://medium.com/opentelemetry/opentelemetry-observes-internati --- Happy International Women’s Day! The OpenTelemetry project would like to extend -our thanks to all our women contributors. For all the details, see the [original -post][]. +our thanks to all our women contributors. For all the details, see the [original post][]. [original post]: {{% param canonical_url %}} diff --git a/content/en/blog/2022/debug-otel-with-otel/index.md b/content/en/blog/2022/debug-otel-with-otel/index.md index e95f5d7a6b9c..530842a4f0bf 100644 --- a/content/en/blog/2022/debug-otel-with-otel/index.md +++ b/content/en/blog/2022/debug-otel-with-otel/index.md @@ -229,8 +229,8 @@ in the NGINX module and we need to fix that. ### The fix -To fix our problem we [added some checks to the module for NGINX][], that make -sure that the trace headers are only set once. +To fix our problem we [added some checks to the module for NGINX][], that make sure +that the trace headers are only set once. This fix is contained in the [v1.0.1 release of the otel-webserver-module][]. This means you can update the `Dockerfile` to install the NGINX module like the diff --git a/content/en/blog/2022/exponential-histograms/index.md b/content/en/blog/2022/exponential-histograms/index.md index e5c666358263..4630f7b500c8 100644 --- a/content/en/blog/2022/exponential-histograms/index.md +++ b/content/en/blog/2022/exponential-histograms/index.md @@ -40,13 +40,12 @@ The SDK is used to configure what happens with the data collected by the API. This typically includes processing it and exporting it out of process for analysis, often to an observability platform. -The API entry point for metrics is the [meter provider][]. It provides meters -for different scopes, where a scope is just a logical unit of application code. -For example, instrumentation for an HTTP client library would have a different -scope and therefore a different meter than instrumentation for a database client -library. You use meters to obtain instruments. You use instruments to report -measurements, which consist of a value and set of attributes. This Java code -snippet demonstrates the workflow: +The API entry point for metrics is the [meter provider][]. It provides meters for +different scopes, where a scope is just a logical unit of application code. For example, +instrumentation for an HTTP client library would have a different scope and therefore +a different meter than instrumentation for a database client library. You use meters +to obtain instruments. You use instruments to report measurements, which consist +of a value and set of attributes. This Java code snippet demonstrates the workflow: ```java OpenTelemetry openTelemetry = // declare OpenTelemetry instance @@ -74,8 +73,7 @@ and when the sum of the things is more important than their individual values the distribution of measurements is relevant for analysis. For example, a histogram is a natural choice for tracking response times for HTTP servers, because it's useful to analyze the distribution of response times to evaluate -SLAs and identify trends. To learn more, see the guidelines for [instrument -selection][]. +SLAs and identify trends. To learn more, see the guidelines for [instrument selection][]. I mentioned earlier that the SDK aggregates measurements from instruments. Each instrument type has a default aggregation strategy (or simply [aggregation][]) @@ -127,10 +125,10 @@ request, you can determine: requests resolve quickly but a small number of requests take a long time and bring down the average. -The second type of OpenTelemetry histogram is the [exponential bucket -histogram][]. Exponential bucket histograms have buckets and bucket counts, but -instead of explicitly defining the bucket boundaries, the boundaries are -computed based on an exponential scale. More specifically, each bucket is +The second type of OpenTelemetry histogram is the [exponential +bucket histogram][]. Exponential bucket histograms have buckets and bucket +counts, but instead of explicitly defining the bucket boundaries, the boundaries +are computed based on an exponential scale. More specifically, each bucket is defined by an index _i_ and has bucket boundaries _(base\*\*i, base\*\*(i+1)]_, where _base\*\*i_ means that _base_ is raised to the power of _i_. The base is derived from a scale factor that is adjustable to reflect the range of reported @@ -199,14 +197,13 @@ large range of measurement values. Let's bring everything together with a proper demonstration comparing explicit bucket histograms to exponential bucket histograms. I've put together some -[example code][] that simulates tracking response time to an HTTP server in -milliseconds. It records one million samples to an explicit bucket histogram -with the default buckets, and to an exponential bucket histogram with a number -of buckets that produces roughly the same size of [OTLP][] -encoded, -Gzip-compressed payload as the explicit bucket defaults. Through trial and -error, I determined that ~40 exponential buckets produce an equivalent payload -size to the default explicit bucket histogram with 11 buckets. (Your results may -vary.) +[example code][] that simulates tracking response time to an HTTP server in milliseconds. +It records one million samples to an explicit bucket histogram with the default buckets, +and to an exponential bucket histogram with a number of buckets that produces roughly +the same size of [OTLP][] -encoded, Gzip-compressed payload as the explicit bucket +defaults. Through trial and error, I determined that ~40 exponential buckets produce +an equivalent payload size to the default explicit bucket histogram with 11 buckets. +(Your results may vary.) I wanted the distribution of samples to reflect what we might see in an actual HTTP server, with bands of response times corresponding to different operations. diff --git a/content/en/blog/2022/instrument-apache-httpd-server/index.md b/content/en/blog/2022/instrument-apache-httpd-server/index.md index 2dffb1d2b64d..b5975f6c7c5d 100644 --- a/content/en/blog/2022/instrument-apache-httpd-server/index.md +++ b/content/en/blog/2022/instrument-apache-httpd-server/index.md @@ -8,13 +8,12 @@ cSpell:ignore: Centos centos7 Debajit debuggability libmod uncompress webserver --- If you are using Apache HTTP Server and in dire need of some observability tool -to monitor your web server, the [OpenTelemetry Module for Apache HTTP Server][] -is the right candidate for you: it enables tracing of incoming requests to the -server and it will capture the response time of many modules (including -`mod_proxy`) involved in such an incoming request. With that you will get -hierarchical time consumption by each module. This article demonstrates the -monitoring capabilities of the OpenTelemetry Module for Apache HTTP Server and -quick guide to get started with the module. +to monitor your web server, the [OpenTelemetry Module for Apache HTTP Server][] is +the right candidate for you: it enables tracing of incoming requests to the server +and it will capture the response time of many modules (including `mod_proxy`) involved +in such an incoming request. With that you will get hierarchical time consumption +by each module. This article demonstrates the monitoring capabilities of the OpenTelemetry +Module for Apache HTTP Server and quick guide to get started with the module. ## Getting Started with OpenTelemetry Module diff --git a/content/en/blog/2022/k8s-metadata/index.md b/content/en/blog/2022/k8s-metadata/index.md index 013aae54726e..4a343f878c83 100644 --- a/content/en/blog/2022/k8s-metadata/index.md +++ b/content/en/blog/2022/k8s-metadata/index.md @@ -172,11 +172,10 @@ reducing the scope of the collector service account to a single namespace. ## Using Resource detector processor -As of [recently][pr#832], the [OpenTelemetry operator][] sets the -`OTEL_RESOURCE_ATTRIBUTES` environment variable on the collector container with -the K8s pod attributes. This lets you to use the resource detector processor, -which attaches the environment variable values to the spans. This only works -when the collector is deployed in sidecar mode. +As of [recently][pr#832], the [OpenTelemetry operator][] sets the `OTEL_RESOURCE_ATTRIBUTES` +environment variable on the collector container with the K8s pod attributes. This +lets you to use the resource detector processor, which attaches the environment variable +values to the spans. This only works when the collector is deployed in sidecar mode. For example, if you deploy the following manifest: diff --git a/content/en/blog/2022/kubecon-na.md b/content/en/blog/2022/kubecon-na.md index 0e36d81a3d2c..b46d6417835a 100644 --- a/content/en/blog/2022/kubecon-na.md +++ b/content/en/blog/2022/kubecon-na.md @@ -8,8 +8,8 @@ cSpell:ignore: Kowall Logz Pothulapati unconference Vineeth The OpenTelemetry project maintainers, and members of the governance committee and technical committee are excited to be at [KubeCon NA][] in a few weeks! Join -in to meet up in person or virtually for [OpenTelemetry](/) activities in -Detroit from October 24 - 28, 2022. +in to meet up in person or virtually for [OpenTelemetry](/) activities in Detroit +from October 24 - 28, 2022. There are talks, workshops, an unconference as well as a project booth where you are welcome to stop by, say Hi! and tell us about how you are using diff --git a/content/en/blog/2022/otel-demo-app-nomad/index.md b/content/en/blog/2022/otel-demo-app-nomad/index.md index 7f0ff0eb4cf0..e9b513efb822 100644 --- a/content/en/blog/2022/otel-demo-app-nomad/index.md +++ b/content/en/blog/2022/otel-demo-app-nomad/index.md @@ -350,8 +350,8 @@ Before I wrap this up, I do want to give a HUGE shoutout to [Luiz Aoqui](https://www.linkedin.com/in/luizaoqui/) of HashiCorp, who helped me tweak my Nomad jobspecs, and to [Riaan Nolan](https://www.linkedin.com/in/riaannolan/), for his continued work -on HashiQube. (Aside, both [Luiz] and [Riaan] were my guests on the [On-Call Me -Maybe Podcast]!) +on HashiQube. (Aside, both [Luiz] and [Riaan] were my guests on the [On-Call +Me Maybe Podcast]!) I will now leave you with a picture of Phoebe the rat, peering out of a pink basket. Doesn’t she look cute? 🥰 diff --git a/content/en/blog/2023/contributing-to-otel/index.md b/content/en/blog/2023/contributing-to-otel/index.md index ac910e12b9f0..3746a3153c30 100644 --- a/content/en/blog/2023/contributing-to-otel/index.md +++ b/content/en/blog/2023/contributing-to-otel/index.md @@ -25,9 +25,9 @@ projects? I don't know about you, but for me, up until last year, the prospect of contributing to open source was just plain _scary_!! I mean, when you open up a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) -(PR), _[you are putting yourself out there]_, to be judged by those little -GitHub avatars that make up the approvers list for the repository you're -contributing to. YIKES! +(PR), _[you are putting yourself out there]_, to be judged by those little GitHub +avatars that make up the approvers list for the repository you're contributing to. +YIKES! But as scary as the thought of opening a PR might be, it's also SO VERY SATISFYING to see your contributions merged into a codebase. And most diff --git a/content/en/blog/2023/ecs-otel-semconv-convergence.md b/content/en/blog/2023/ecs-otel-semconv-convergence.md index e76417d4beea..fdb3ec523b12 100644 --- a/content/en/blog/2023/ecs-otel-semconv-convergence.md +++ b/content/en/blog/2023/ecs-otel-semconv-convergence.md @@ -47,13 +47,12 @@ and join the discussion on our - [Announcement from Elastic][] - [OpenTelemetry Semantic Conventions][] -- [OTEP 199: Merge Elastic Common Schema with OpenTelemetry Semantic - Conventions][] -- [OTEP Issue 197: Proposal: Add support for Elastic Common Schema (ECS) in - OpenTelemetry][] +- [OTEP 199: Merge Elastic Common Schema with OpenTelemetry Semantic Conventions][] +- [OTEP Issue 197: Proposal: Add support for Elastic Common Schema (ECS) + in OpenTelemetry][] - [OTEP Pull Request 199: Support Elastic Common Schema in OpenTelemetry][] -- [OTEP Pull Request 222: Support Elastic Common Schema (ECS) in - OpenTelemetry][] +- [OTEP Pull Request 222: Support Elastic Common Schema (ECS) + in OpenTelemetry][] [Announcement from Elastic]: https://elastic.co/blog/ecs-elastic-common-schema-otel-opentelemetry-announcement diff --git a/content/en/blog/2023/end-user-q-and-a-03.md b/content/en/blog/2023/end-user-q-and-a-03.md index 734fa6094f33..849faa757736 100644 --- a/content/en/blog/2023/end-user-q-and-a-03.md +++ b/content/en/blog/2023/end-user-q-and-a-03.md @@ -298,11 +298,14 @@ The team also leaned heavily on and on the OTel Community for additional support. Are you currently using any processors on the OTel Collector? \ -The team is currently experimenting with processors, namely for data masking ([transform processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/transformprocessor), -or [redaction processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/redactionprocessor)), -especially as they move to using OTel Logs, which will contain sensitive data that -they won’t want to transmit to their Observability backend. They currently, however, -are only using the [batch processor](https://github.com/open-telemetry/opentelemetry-collector/blob/main/processor/batchprocessor/README.md). +The team is currently experimenting with processors, namely for data masking +([transform processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/transformprocessor), +or +[redaction processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/redactionprocessor)), +especially as they move to using OTel Logs, which will contain sensitive data +that they won’t want to transmit to their Observability backend. They currently, +however, are only using the +[batch processor](https://github.com/open-telemetry/opentelemetry-collector/blob/main/processor/batchprocessor/README.md). ### Are you aware of any teams using span events? diff --git a/content/en/blog/2023/exponential-histograms.md b/content/en/blog/2023/exponential-histograms.md index 9b481cf8f681..757201196f14 100644 --- a/content/en/blog/2023/exponential-histograms.md +++ b/content/en/blog/2023/exponential-histograms.md @@ -6,14 +6,13 @@ cSpell:ignore: Ganesh Ruslan subsetting Vernekar Vovalov canonical_url: https://dyladan.me/histograms/2023/05/04/exponential-histograms/ --- -Previously, in [Why Histograms?][] and [Histograms vs Summaries][], I went over -the basics of histograms and summaries, explaining the tradeoffs, benefits, and -limitations of each. Because they're easy to understand and demonstrate, those -posts focused on so-called explicit bucket histograms. The exponential bucket -histogram, also referred to as native histogram in Prometheus, is a low-cost, -efficient alternative to explicit bucket histograms. In this post, I go through -what they are, how they work, and the problems they solve that explicit bucket -histograms struggle with. +Previously, in [Why Histograms?][] and [Histograms vs Summaries][], I went over the +basics of histograms and summaries, explaining the tradeoffs, benefits, and limitations +of each. Because they're easy to understand and demonstrate, those posts focused +on so-called explicit bucket histograms. The exponential bucket histogram, also referred +to as native histogram in Prometheus, is a low-cost, efficient alternative to explicit +bucket histograms. In this post, I go through what they are, how they work, and the +problems they solve that explicit bucket histograms struggle with. ## Types of histograms @@ -130,8 +129,9 @@ relative error = (bucketWidth / 2) / bucketMidpoint = 4.329% ``` -For more information regarding histogram errors, see [OTEP 149][] and the -[specification for exponential histogram aggregations][]. +For more information regarding histogram errors, see [OTEP 149][] and the [specification +for +exponential histogram aggregations][]. ## Choosing a scale diff --git a/content/en/blog/2023/kubecon-eu.md b/content/en/blog/2023/kubecon-eu.md index 5091e3e93549..49f399a8a3eb 100644 --- a/content/en/blog/2023/kubecon-eu.md +++ b/content/en/blog/2023/kubecon-eu.md @@ -8,8 +8,8 @@ author: '[Severin Neumann](https://github.com/svrnm)' --- The OpenTelemetry project maintainers, members of the governance committee, and -technical committee are excited to be at [KubeCon EU][] in Amsterdam from April -18 - 21, 2023! +technical committee are excited to be at [KubeCon EU][] in Amsterdam from April 18 - +21, 2023! Read on to learn about all the things related OpenTelemetry during KubeCon. @@ -41,15 +41,14 @@ Come network with OpenTelemetry maintainers and core contributors during the [OpenTelemetry project meeting](https://sched.co/1JWS7), on Tuesday April 18, 2023 from 16:00 - 17:00. You can attend with a _standard in-person pass_. -[Observability Day][] _fosters collaboration, discussion, and knowledge sharing -of cloud-native observability projects_. This event will be held on April 18, -2023 from 9:00 - 17:00. There will be several sessions on OpenTelemetry as well. +[Observability Day][] _fosters collaboration, discussion, and knowledge sharing of +cloud-native observability projects_. This event will be held on April 18, 2023 from +9:00 - 17:00. There will be several sessions on OpenTelemetry as well. > **IMPORTANT access note**: You > need an _in-person all-access_ pass for on-site access to **Observability -> Day**. For details, see [KubeCon registration][]. If you have a virtual -> ticket, you will be able to follow **Observability Day** through a live -> stream. +> Day**. For details, see [KubeCon registration][]. If you have a virtual ticket, +> you will be able to follow **Observability Day** through a live stream. ## OpenTelemetry Project Booth @@ -67,9 +66,9 @@ You will find us in the Solutions Showcase in Hall 5, Kiosk Number 20. You can help us improve the project by sharing your thoughts and feedback about your OpenTelemetry adoption, implementation, and usage! We also invite you to -fill out our [community survey][]. We will create action items from your -comments as appropriate. Check [#otel-user-research][] in CNCF's Slack instance -for survey results and action item updates to come after KubeCon EU. +fill out our [community survey][]. We will create action items from your comments +as appropriate. Check [#otel-user-research][] in CNCF's Slack instance for survey +results and action item updates to come after KubeCon EU. Come join us to listen, learn, and get involved in OpenTelemetry. diff --git a/content/en/blog/2023/kubecon-na.md b/content/en/blog/2023/kubecon-na.md index 643fbd8fc131..6a28a41b229f 100644 --- a/content/en/blog/2023/kubecon-na.md +++ b/content/en/blog/2023/kubecon-na.md @@ -8,8 +8,8 @@ author: '[Severin Neumann](https://github.com/svrnm) (Cisco)' --- The OpenTelemetry project maintainers, members of the governance committee, and -technical committee are thrilled to be at [KubeCon NA][] in Chicago from -November 6 - 9, 2023. +technical committee are thrilled to be at [KubeCon NA][] in Chicago from November +6 - 9, 2023. Read on to learn about all the things related OpenTelemetry during KubeCon. @@ -78,15 +78,14 @@ OpenTelemetry maintainers in making OpenTelemetry better for everyone during the ## Co-located Events -[Observability Day][] _fosters collaboration, discussion, and knowledge sharing -of cloud-native observability projects_. This event will be held on November 6, -2023 from 9am - 5pm. There will be several sessions on OpenTelemetry as well. +[Observability Day][] _fosters collaboration, discussion, and knowledge sharing of +cloud-native observability projects_. This event will be held on November 6, 2023 +from 9am - 5pm. There will be several sessions on OpenTelemetry as well. > **IMPORTANT access note**: You > need an _in-person all-access_ pass for on-site access to **Observability -> Day**. For details, see [KubeCon registration][]. If you have a virtual -> ticket, you will be able to follow **Observability Day** through a live -> stream. +> Day**. For details, see [KubeCon registration][]. If you have a virtual ticket, +> you will be able to follow **Observability Day** through a live stream. ## OpenTelemetry Project Booth @@ -102,9 +101,9 @@ Project Pavilion. If you’re lucky, you may even pick up some OpenTelemetry swa You can help us improve the project by sharing your thoughts and feedback about your OpenTelemetry adoption, implementation, and usage. We also invite you to -fill out our [community survey][]. We will create action items from your -comments as appropriate. Check [#otel-user-research][] in CNCF's Slack instance -for survey results and action item updates to come after KubeCon NA. +fill out our [community survey][]. We will create action items from your comments +as appropriate. Check [#otel-user-research][] in CNCF's Slack instance for survey +results and action item updates to come after KubeCon NA. ## OpenTelemetry Observatory diff --git a/content/en/blog/2023/logs-collection/index.md b/content/en/blog/2023/logs-collection/index.md index 7408c916fad2..3f3512516462 100644 --- a/content/en/blog/2023/logs-collection/index.md +++ b/content/en/blog/2023/logs-collection/index.md @@ -420,8 +420,8 @@ extend Yoda's code to do the following: [transform or attributes processors](/docs/collector/transforming-telemetry/). 1. Add [tracing](/docs/concepts/signals/traces/) support by emitting spans, where it makes sense. -1. Add an Observability backend such as OpenSearch (along with [Data Prepper]) - to the setup, allowing to ingest spans and logs in OTLP format. +1. Add an Observability backend such as OpenSearch (along with [Data Prepper]) to + the setup, allowing to ingest spans and logs in OTLP format. 1. Once you have traces and logs ingested in a backend, try to correlate these two telemetry signal types in the backend along with a frontend such as Grafana. diff --git a/content/en/blog/2023/sunsetting-opencensus.md b/content/en/blog/2023/sunsetting-opencensus.md index 4ad2f71e9fbb..04bcfc307e7c 100644 --- a/content/en/blog/2023/sunsetting-opencensus.md +++ b/content/en/blog/2023/sunsetting-opencensus.md @@ -90,6 +90,7 @@ repository[^python-timeline]. maintainers. [^shim-next-release]: Python and JavaScript shim packages will be released soon. + [^shim-support]: These shims implement the stable [OpenCensus Compatibility specification](/docs/specs/otel/compatibility/opencensus#migration-path) diff --git a/content/en/blog/2024/java-metric-systems-compared/index.md b/content/en/blog/2024/java-metric-systems-compared/index.md index 69a21fa2c920..6085b3c6907e 100644 --- a/content/en/blog/2024/java-metric-systems-compared/index.md +++ b/content/en/blog/2024/java-metric-systems-compared/index.md @@ -13,8 +13,7 @@ across many popular languages, OpenTelemetry reduces the cognitive load of polyglot teams by providing one vocabulary and one toolkit. While that’s all true, today I’d like to zoom in on a specific signal and -language, and talk about the performance of the [OpenTelemetry Java][] metrics -SDK. +language, and talk about the performance of the [OpenTelemetry Java][] metrics SDK. ## Metrics Primer @@ -473,11 +472,9 @@ benefit every application, but are especially important to applications with high cardinality and with strict performance SLAs. If you’re reading this and considering Java metric systems, I hope you chose -[OpenTelemetry Java][]. It’s a powerful and highly performant tool on its own, -but comes with APIs for other key observability signals, a -[rich instrumentation ecosystem](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md), -[implementations in a variety of other languages](/docs/languages/), and a -well-supported +[OpenTelemetry Java][]. It’s a powerful and highly performant tool on its own, but +comes with APIs for other key observability signals, a [rich instrumentation ecosystem](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md), +[implementations in a variety of other languages](/docs/languages/), and a well-supported [open governance structure](https://github.com/open-telemetry/community). ## Acknowledgements diff --git a/content/en/blog/2024/kubecon-eu.md b/content/en/blog/2024/kubecon-eu.md index 1af8ce7a9fca..0b6e3742e849 100644 --- a/content/en/blog/2024/kubecon-eu.md +++ b/content/en/blog/2024/kubecon-eu.md @@ -10,9 +10,8 @@ author: '[Severin Neumann](https://github.com/svrnm) (Cisco)' --- The OpenTelemetry project maintainers, members of the governance committee, and -technical committee are thrilled to be at [KubeCon + CloudNativeCon Europe][] -and at the co-located -[Observability Day](https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/co-located-events/observability-day/) +technical committee are thrilled to be at [KubeCon + CloudNativeCon Europe][] and +at the co-located [Observability Day](https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/co-located-events/observability-day/) in Paris from March 19 - 22, 2024. Read on to learn about all the things related OpenTelemetry during KubeCon. @@ -46,9 +45,9 @@ it again right before KubeCon! ## Observability Day -_[Observability Day][] fosters collaboration, discussion, and knowledge sharing -of cloud-native observability projects_. This event will be held on March 19, -2024 from 9:00 - 17:35. There will be several sessions on OpenTelemetry as well: +_[Observability Day][] fosters collaboration, discussion, and knowledge sharing of +cloud-native observability projects_. This event will be held on March 19, 2024 from +9:00 - 17:35. There will be several sessions on OpenTelemetry as well: - **[Welcome + Project Updates](https://sched.co/1YGT9)**
by Eduardo Silva, FluentBit & Austin Parker, honeycomb.io
Tuesday, March 19th • 09:00 - @@ -90,8 +89,8 @@ of cloud-native observability projects_. This event will be held on March 19, {{% alert title="Important access note" color="danger" %}} You need an _in-person all-access_ pass for on-site access to **Observability -Day**. For details, see [KubeCon registration][]. If you have a virtual ticket, -you will be able to follow **Observability Day** through a live stream. +Day**. For details, see [KubeCon registration][]. If you have a virtual ticket, you +will be able to follow **Observability Day** through a live stream. [kubecon registration]: https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/register/ diff --git a/content/en/blog/2024/profiling.md b/content/en/blog/2024/profiling.md index a91eb80d67cf..c55baec614b5 100644 --- a/content/en/blog/2024/profiling.md +++ b/content/en/blog/2024/profiling.md @@ -123,4 +123,5 @@ adding support for profiling, client-side RUM, and more. It’s a great time to get involved – check out our [website](https://opentelemetry.io) to learn more! [^1]: Pending due diligence and review by the OpenTelemetry maintainers. + [^2]: According to public download statistics of our .NET, Java, and Python APIs diff --git a/content/en/docs/collector/_index.md b/content/en/docs/collector/_index.md index c8a8b4008b1a..bbc027013f53 100644 --- a/content/en/docs/collector/_index.md +++ b/content/en/docs/collector/_index.md @@ -4,7 +4,7 @@ description: Vendor-agnostic way to receive, process and export telemetry data. aliases: [collector/about] cascade: vers: 0.101.0 -weight: 10 +weight: 270 --- ![OpenTelemetry Collector diagram with Jaeger, OTLP and Prometheus integration](img/otel-collector.svg) diff --git a/content/en/docs/collector/distributions.md b/content/en/docs/collector/distributions.md index 9b3c581e6678..af9e63e425db 100644 --- a/content/en/docs/collector/distributions.md +++ b/content/en/docs/collector/distributions.md @@ -3,9 +3,9 @@ title: Distributions weight: 25 --- -The OpenTelemetry project currently offers [pre-built distributions][] of the -collector. The components included in the [distributions][] can be found by in -the `manifest.yaml` of each distribution. +The OpenTelemetry project currently offers [pre-built distributions][] of the collector. +The components included in the [distributions][] can be found by in the `manifest.yaml` +of each distribution. [pre-built distributions]: https://github.com/open-telemetry/opentelemetry-collector-releases/releases diff --git a/content/en/docs/collector/installation.md b/content/en/docs/collector/installation.md index 282aaad8339a..e69c6e01e947 100644 --- a/content/en/docs/collector/installation.md +++ b/content/en/docs/collector/installation.md @@ -10,8 +10,8 @@ systems and architectures. The following instructions show how to download and install the latest stable version of the Collector. If you aren't familiar with the deployment models, components, and repositories -applicable to the OpenTelemetry Collector, first review the [Data Collection][] -and [Deployment Methods][] page. +applicable to the OpenTelemetry Collector, first review the [Data Collection][] and +[Deployment Methods][] page. ## Docker @@ -84,10 +84,10 @@ The previous example is meant to serve as a starting point, to be extended and customized before actual production usage. For production-ready customization and installation, see [OpenTelemetry Helm Charts][]. -You can also use the [OpenTelemetry Operator][] to provision and maintain an -OpenTelemetry Collector instance, with features such as automatic upgrade -handling, `Service` configuration based on the OpenTelemetry configuration, -automatic sidecar injection into deployments, and more. +You can also use the [OpenTelemetry Operator][] to provision and maintain an OpenTelemetry +Collector instance, with features such as automatic upgrade handling, `Service` configuration +based on the OpenTelemetry configuration, automatic sidecar injection into deployments, +and more. For guidance on how to use the Collector with Kubernetes, see [Kubernetes Getting Started](/docs/kubernetes/getting-started/). diff --git a/content/en/docs/collector/internal-telemetry.md b/content/en/docs/collector/internal-telemetry.md index b1a95067ba94..ad33cc5d02e1 100644 --- a/content/en/docs/collector/internal-telemetry.md +++ b/content/en/docs/collector/internal-telemetry.md @@ -98,8 +98,8 @@ critical analysis. Log output is found in `stderr`. You can configure logs in the config `service::telemetry::logs`. The [configuration -options](https://github.com/open-telemetry/opentelemetry-collector/blob/v{{% -param vers %}}/service/telemetry/config.go) are: +options](https://github.com/open-telemetry/opentelemetry-collector/blob/v{{% param +vers %}}/service/telemetry/config.go) are: | Field name | Default value | Description | | ---------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | diff --git a/content/en/docs/concepts/_index.md b/content/en/docs/concepts/_index.md index 93e1e5df8d64..cd9dde94bb2c 100644 --- a/content/en/docs/concepts/_index.md +++ b/content/en/docs/concepts/_index.md @@ -3,7 +3,7 @@ title: OpenTelemetry Concepts linkTitle: Concepts description: Key concepts in OpenTelemetry aliases: [concepts/overview] -weight: 2 +weight: 170 --- This section covers data sources and key components of the OpenTelemetry diff --git a/content/en/docs/concepts/instrumentation/libraries.md b/content/en/docs/concepts/instrumentation/libraries.md index 864d2caff0db..a2bd6b7cd3a6 100644 --- a/content/en/docs/concepts/instrumentation/libraries.md +++ b/content/en/docs/concepts/instrumentation/libraries.md @@ -5,8 +5,8 @@ aliases: [../instrumenting-library] weight: 40 --- -OpenTelemetry provides [instrumentation libraries][] for many libraries, which -is typically done through library hooks or monkey-patching library code. +OpenTelemetry provides [instrumentation libraries][] for many libraries, which is +typically done through library hooks or monkey-patching library code. Native library instrumentation with OpenTelemetry provides better observability and developer experience for users, removing the need for libraries to expose @@ -249,8 +249,8 @@ module might already have OpenTelemetry integration -- to find out, see the context on all logs, so users can correlate them. If your language and ecosystem don't have common logging support, use [span -events][] to share additional app details. Events maybe more convenient if you -want to add attributes as well. +events][] to share additional app details. Events maybe more convenient if you want +to add attributes as well. As a rule of thumb, use events or logs for verbose data instead of spans. Always attach events to the span instance that your instrumentation created. Avoid diff --git a/content/en/docs/contributing/_index.md b/content/en/docs/contributing/_index.md index 3c0d35a670f9..217cdbdfe7d5 100644 --- a/content/en/docs/contributing/_index.md +++ b/content/en/docs/contributing/_index.md @@ -2,7 +2,7 @@ title: Contributing description: Learn how to contribute to OpenTelemetry documentation. aliases: [/docs/contribution-guidelines] -weight: 200 +weight: 980 cSpell:ignore: prepopulated spacewhite --- @@ -421,9 +421,9 @@ close the terminal window. #### Site deploys and PR previews -If you submit a PR, Netlify creates a [deploy preview][] so that you can review -your changes. Once your PR is merged, Netlify deploys the updated site to the -production server. +If you submit a PR, Netlify creates a [deploy preview][] so that you can review your +changes. Once your PR is merged, Netlify deploys the updated site to the production +server. > **Note**: PR previews include _draft pages_, but production builds do not. diff --git a/content/en/docs/demo/_index.md b/content/en/docs/demo/_index.md index b09e5ec46468..f4ed9dd79043 100644 --- a/content/en/docs/demo/_index.md +++ b/content/en/docs/demo/_index.md @@ -3,7 +3,7 @@ title: OpenTelemetry Demo Documentation linkTitle: Demo cascade: repo: https://github.com/open-telemetry/opentelemetry-demo -weight: 2 +weight: 180 cSpell:ignore: OLJCESPC --- diff --git a/content/en/docs/demo/forking.md b/content/en/docs/demo/forking.md index e3f4930d5078..6aa882a3f337 100644 --- a/content/en/docs/demo/forking.md +++ b/content/en/docs/demo/forking.md @@ -3,8 +3,8 @@ title: Forking the demo repository linkTitle: Forking --- -The [demo repository][] is designed to be forked and used as a tool to show off -what you are doing with OpenTelemetry. +The [demo repository][] is designed to be forked and used as a tool to show off what +you are doing with OpenTelemetry. Setting up a fork or a demo usually only requires overriding some environment variables and possibly replacing some container images. diff --git a/content/en/docs/faas/_index.md b/content/en/docs/faas/_index.md index f9200a395538..4debac8078f4 100644 --- a/content/en/docs/faas/_index.md +++ b/content/en/docs/faas/_index.md @@ -4,7 +4,7 @@ linkTitle: FaaS description: >- OpenTelemetry supports various methods of monitoring Function-as-a-Service provided by different cloud vendors -weight: 12 +weight: 360 --- Functions as a Service (FaaS) is an important serverless compute platform for diff --git a/content/en/docs/getting-started/_index.md b/content/en/docs/getting-started/_index.md index 14b382184599..2b60257680a5 100644 --- a/content/en/docs/getting-started/_index.md +++ b/content/en/docs/getting-started/_index.md @@ -2,7 +2,7 @@ title: Getting Started description: Get started with OpenTelemetry based on your role. no_list: true -weight: 1 +weight: 160 --- Select a role[^1] to get started: diff --git a/content/en/docs/kubernetes/_index.md b/content/en/docs/kubernetes/_index.md index 3592df5d6bcd..c79806534bbc 100644 --- a/content/en/docs/kubernetes/_index.md +++ b/content/en/docs/kubernetes/_index.md @@ -1,7 +1,7 @@ --- title: OpenTelemetry with Kubernetes linkTitle: Kubernetes -weight: 11 +weight: 350 description: Using OpenTelemetry with Kubernetes --- diff --git a/content/en/docs/languages/_index.md b/content/en/docs/languages/_index.md index f1ae703374f6..9aeb9e2184f4 100644 --- a/content/en/docs/languages/_index.md +++ b/content/en/docs/languages/_index.md @@ -1,9 +1,9 @@ --- title: Language APIs & SDKs -description: >- +description: OpenTelemetry code instrumentation is supported for many popular programming languages -weight: 2 +weight: 250 aliases: [/docs/instrumentation] redirects: [{ from: /docs/instrumentation/*, to: ':splat' }] --- diff --git a/content/en/docs/languages/erlang/instrumentation.md b/content/en/docs/languages/erlang/instrumentation.md index 7f0c714c0ada..8d815f5daaef 100644 --- a/content/en/docs/languages/erlang/instrumentation.md +++ b/content/en/docs/languages/erlang/instrumentation.md @@ -267,11 +267,10 @@ end ### Semantic Attributes Semantic Attributes are attributes that are defined by the [OpenTelemetry -Specification][] in order to provide a shared set of attribute keys across -multiple languages, frameworks, and runtimes for common concepts like HTTP -methods, status codes, user agents, and more. These attribute keys are generated -from the specification and provided in -[opentelemetry_semantic_conventions](https://hex.pm/packages/opentelemetry_semantic_conventions). +Specification][] in order to provide a shared set of attribute keys across multiple +languages, frameworks, and runtimes for common concepts like HTTP methods, status +codes, user agents, and more. These attribute keys are generated from the specification +and provided in [opentelemetry_semantic_conventions](https://hex.pm/packages/opentelemetry_semantic_conventions). For example, an instrumentation for an HTTP client or server would need to include semantic attributes like the scheme of the URL: diff --git a/content/en/docs/languages/go/getting-started.md b/content/en/docs/languages/go/getting-started.md index 4f7baea20e52..33f95abf625f 100644 --- a/content/en/docs/languages/go/getting-started.md +++ b/content/en/docs/languages/go/getting-started.md @@ -396,11 +396,7 @@ const name = "rolldice" var ( tracer = otel.Tracer(name) meter = otel.Meter(name) - logger = otelslog.NewLogger( - otelslog.WithInstrumentationScope(instrumentation.Scope{ - Name: name, - }), - ) + logger = otelslog.NewLogger(name) rollCnt metric.Int64Counter ) diff --git a/content/en/docs/languages/go/instrumentation.md b/content/en/docs/languages/go/instrumentation.md index aa5811b0b7be..c9b61dc8ddbe 100644 --- a/content/en/docs/languages/go/instrumentation.md +++ b/content/en/docs/languages/go/instrumentation.md @@ -185,10 +185,10 @@ span.SetAttributes(myKey.String("a value")) #### Semantic Attributes Semantic Attributes are attributes that are defined by the [OpenTelemetry -Specification][] in order to provide a shared set of attribute keys across -multiple languages, frameworks, and runtimes for common concepts like HTTP -methods, status codes, user agents, and more. These attributes are available in -the `go.opentelemetry.io/otel/semconv/v1.21.0` package. +Specification][] in order to provide a shared set of attribute keys across multiple +languages, frameworks, and runtimes for common concepts like HTTP methods, status +codes, user agents, and more. These attributes are available in the `go.opentelemetry.io/otel/semconv/v1.21.0` +package. For details, see [Trace semantic conventions][]. diff --git a/content/en/docs/languages/java/configuration.md b/content/en/docs/languages/java/configuration.md new file mode 100644 index 000000000000..a44662cac9db --- /dev/null +++ b/content/en/docs/languages/java/configuration.md @@ -0,0 +1,413 @@ +--- +title: Configuration +linkTitle: Configuration +weight: 10 +aliases: [config] +# prettier-ignore +cSpell:ignore: authservice blrp Dotel ignore LOWMEMORY myservice ottrace PKCS retryable +--- + +The OpenTelemetry SDK provides a working implementation of the API, and can be +set up and configured in a number of ways. The Java SDK supports most of the +available [configuration options](/docs/languages/sdk-configuration/). For +conformance details, see the +[compliance matrix](https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md). + +{{% alert title="System Properties and Environment Variables" color="info" %}} +Any setting configurable with a system property can also be configured with an +environment variable. Apply the following steps to convert a system property to +an environment variable: + +- Convert the name to uppercase. +- Replace all `.` and `-` characters with `_`. + +For example `otel.instrumentation.common.default-enabled` would convert to +`OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED`. + +{{% /alert %}} + +## General + +The autoconfigure module registers Java shutdown hooks to shut down the SDK when +appropriate. Please note that since this project uses `java.util.logging` for +all of it's logging, some of that logging may be suppressed during shutdown +hooks. This is a bug in the JDK itself, and not something we can control. If you +require logging during shutdown hooks, please consider using `System.out` rather +than a logging framework that might shut itself down in a shutdown hook, thus +suppressing your log messages. See this +[JDK bug](https://bugs.openjdk.java.net/browse/JDK-8161253) for more details. + +{{% alert title="Signal configuration" color="info" %}} + +The text placeholder `{signal}` refers to the supported +[OpenTelemetry Signal](/docs/concepts/signals/). Valid values include `traces`, +`metrics`, and `logs`. + +{{% /alert %}} + +### Configuration Priority + +Signal specific configurations take priority over the generic versions. + +For example, if you set both `otel.exporter.otlp.endpoint` and +`otel.exporter.otlp.traces.endpoint`, the latter will take precedence. + +### Disabling OpenTelemetrySdk + +The OpenTelemetry SDK can be disabled entirely. If disabled, +`AutoConfiguredOpenTelemetrySdk#getOpenTelemetrySdk()` will return a minimally +configured instance (i.e. `OpenTelemetrySdk.builder().build()`). + +| System property | Description | Default | +| ------------------- | ----------------------------------------- | ------- | +| `otel.sdk.disabled` | If `true`, disable the OpenTelemetry SDK. | `false` | + +### Exporters + +Exporters output the telemetry. The following configuration properties are +common to all exporters: + +| System property | Purpose | +| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `otel.{signal}.exporter` | List of exporters to be used for {signal}, separated by commas. Default is `otlp`. `none` means no auto-configured exporter. | +| `otel.java.experimental.exporter.memory_mode` | If `reusable_data`, enable reusable memory mode (on exporters which support it) to reduce allocations. Default is `immutable_data`. This option is experimental and subject to change or removal.[^1] | + +[^1]: + +Exporters which adhere to +`otel.java.experimental.exporter.memory_mode=reusable_data` are +`OtlpGrpcMetricExporter`, `OtlpHttpMetricExporter`, and `PrometheusHttpServer`. +Support for additional exporters may be added in the future. + +#### OTLP exporter (span, metric, and log exporters) + +The [OpenTelemetry Protocol (OTLP)](/docs/specs/otlp) span, metric, and log +exporters + +| System property | Description | Default | +| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- | +| `otel.{signal}.exporter` | Select the OpenTelemetry exporter for {signal}. | otlp | +| `otel.exporter.otlp.endpoint` | The OTLP traces, metrics, and logs endpoint to connect to. Must be a URL with a scheme of either `http` or `https` based on the use of TLS. If protocol is `http/protobuf` the version and signal will be appended to the path (e.g. `v1/traces`, `v1/metrics`, or `v1/logs`). | `http://localhost:4317` when protocol is `grpc`, and `http://localhost:4318/v1/{signal}` when protocol is `http/protobuf`. | +| `otel.exporter.otlp.{signal}.endpoint` | The OTLP {signal} endpoint to connect to. Must be a URL with a scheme of either `http` or `https` based on the use of TLS. | `http://localhost:4317` when protocol is `grpc`, and `http://localhost:4318/v1/{signal}` when protocol is `http/protobuf`. | +| `otel.exporter.otlp.certificate` | The path to the file containing trusted certificates to use when verifying an OTLP trace, metric, or log server's TLS credentials. The file should contain one or more X.509 certificates in PEM format. | The host platform's trusted root certificates are used. | +| `otel.exporter.otlp.{signal}.certificate` | The path to the file containing trusted certificates to use when verifying an OTLP {signal} server's TLS credentials. The file should contain one or more X.509 certificates in PEM format. | The host platform's trusted root certificates are used | +| `otel.exporter.otlp.client.key` | The path to the file containing private client key to use when verifying an OTLP trace, metric, or log client's TLS credentials. The file should contain one private key PKCS8 PEM format. | No client key file is used. | +| `otel.exporter.otlp.{signal}.client.key` | The path to the file containing private client key to use when verifying an OTLP {signal} client's TLS credentials. The file should contain one private key PKCS8 PEM format. | No client key file is used. | +| `otel.exporter.otlp.client.certificate` | The path to the file containing trusted certificates to use when verifying an OTLP trace, metric, or log client's TLS credentials. The file should contain one or more X.509 certificates in PEM format. | No chain file is used. | +| `otel.exporter.otlp.{signal}.client.certificate` | The path to the file containing trusted certificates to use when verifying an OTLP {signal} server's TLS credentials. The file should contain one or more X.509 certificates in PEM format. | No chain file is used. | +| `otel.exporter.otlp.headers` | Key-value pairs separated by commas to pass as request headers on OTLP trace, metric, and log requests. | | +| `otel.exporter.otlp.{signal}.headers` | Key-value pairs separated by commas to pass as request headers on OTLP {signal} requests. | | +| `otel.exporter.otlp.compression` | The compression type to use on OTLP trace, metric, and log requests. Options include `gzip`. | No compression will be used. | +| `otel.exporter.otlp.{signal}.compression` | The compression type to use on OTLP {signal} requests. Options include `gzip`. | No compression will be used. | +| `otel.exporter.otlp.timeout` | The maximum waiting time, in milliseconds, allowed to send each OTLP trace, metric, and log batch. | `10000` | +| `otel.exporter.otlp.{signal}.timeout` | The maximum waiting time, in milliseconds, allowed to send each OTLP {signal} batch. | `10000` | +| `otel.exporter.otlp.protocol` | The transport protocol to use on OTLP trace, metric, and log requests. Options include `grpc` and `http/protobuf`. | `grpc` [^2] | +| `otel.exporter.otlp.{signal}.protocol` | The transport protocol to use on OTLP {signal} requests. Options include `grpc` and `http/protobuf`. | `grpc` [^2] | +| `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`, enable [experimental retry support](#otlp-exporter-retry). | `false` | + +[^2]: + +OpenTelemetry Java agent 2.x uses `http/protobuf` by default. + +To configure the service name for the OTLP exporter, add the `service.name` key +to the OpenTelemetry Resource. For example: +`OTEL_RESOURCE_ATTRIBUTES=service.name=myservice`. + +##### OTLP exporter retry + +[OTLP](/docs/specs/otlp/#otlpgrpc-response) requires that +[transient](/docs/specs/otel/protocol/exporter/#retry) errors be handled with a +retry strategy. When retry is enabled, retryable gRPC status codes are retried +using an exponential backoff with jitter algorithm as described in the +[gRPC Retry Design](https://github.com/grpc/proposal/blob/master/A6-client-retries.md#exponential-backoff). + +The policy has the following configuration, which there is currently no way to +customize: + +| Option | Description | Default | +| ------------------- | --------------------------------------------------------------- | ------- | +| `maxAttempts` | The maximum number of attempts, including the original request. | `5` | +| `initialBackoff` | The initial backoff duration. | `1s` | +| `maxBackoff` | The maximum backoff duration. | `5s` | +| `backoffMultiplier` | The backoff multiplier. | `1.5` | + +#### Logging exporter + +The logging exporter prints the name of the span along with its attributes to +stdout. It's mainly used for testing and debugging. + +| Environment variable | Description | +| -------------------------------- | ----------------------------------------- | +| `otel.{signal}.exporter=console` | Select the logging exporter for {signal}. | + +The logging exporter is also set when `otel.{signal}.exporter`, is set to +`logging`. `logging` is a deprecated alias for `console`, the preferred value as +[defined in the specification](/docs/specs/otel/configuration/sdk-environment-variables/#exporter-selection). + +#### Logging OTLP JSON exporter + +The logging-otlp exporter writes the telemetry data to the JUL logger in OTLP +JSON form. It's a more verbose output mainly used for testing and debugging. + +| Environment variable | Description | +| ------------------------------------- | --------------------------------------------------- | +| `otel.{signal}.exporter=logging-otlp` | Select the logging OTLP JSON exporter for {signal}. | + +{{% alert title="Note" color="info" %}} While the +`OtlpJsonLogging{Signal}Exporters` are stable, specifying their use via +`otel.{signal}.exporter=logging-otlp` is experimental and subject to change or +removal. {{% /alert %}} + +### Resources + +A resource is the immutable representation of the entity producing the +telemetry. See [Resource semantic conventions](/docs/specs/semconv/resource/) +for more details. + +| System Property | Description | +| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------- | +| `otel.resource.attributes` | Specify resource attributes in the following format: `key1=val1,key2=val2,key3=val3`. | +| `otel.service.name` | Specify logical service name. Takes precedence over `service.name` defined with `otel.resource.attributes`. | +| `otel.experimental.resource.disabled-keys` | Specify resource attribute keys that are filtered. | + +You almost always want to specify the +[`service.name`](/docs/specs/semconv/resource/#service) for your application. It +corresponds to how you describe the application, for example `authservice` could +be an application that authenticates requests. If not specified, SDK defaults +the service name to `unknown_service:java`. + +### ResourceProvider SPI + +The +[autoconfigure-spi](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure-spi) +SDK extension provides a `ResourceProvider` SPI that allows libraries to +automatically provide Resources, which are merged into a single Resource by the +autoconfiguration module. You can create your own `ResourceProvider`, or +optionally use an artifact that includes built-in ResourceProviders: + +- [io.opentelemetry.instrumentation:opentelemetry-resources](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/resources) + includes providers for a + [predefined set of common resources](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources) +- [io.opentelemetry.contrib:opentelemetry-aws-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources) + includes providers for + [common AWS resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource) +- [io.opentelemetry.contrib:opentelemetry-gcp-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources) + includes providers for + [common GCP resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource) + +### Disabling automatic ResourceProviders + +If you are using the `ResourceProvider` SPI, which many instrumentation agent +distributions include automatically, you can turn on or off one or more of them +by using the following configuration items: + +| Environment variable | Description | +| --------------------------------------- | -------------------------------------------------------------------------------------------- | +| `otel.java.enabled.resource.providers` | Turns on one or more `ResourceProvider` types. If unset, all resource providers are enabled. | +| `otel.java.disabled.resource.providers` | Turns off one or more `ResourceProvider` types. | + +The value for these properties must be a comma-separated list of fully qualified +`ResourceProvider` class names. For example, if you don't want to expose the +name of the operating system through the resource, you can pass the following +JVM argument: + +`-Dotel.java.disabled.resource.providers=io.opentelemetry.instrumentation.resources.OsResourceProvider` + +### Attribute limits + +These properties can be used to control the maximum number and length of +attributes. + +| System property | Description | Default | +| ----------------------------------- | -------------------------------------------------------------------------------------- | -------- | +| `otel.attribute.value.length.limit` | The maximum length of attribute values. Applies to spans and logs. | No limit | +| `otel.attribute.count.limit` | The maximum number of attributes. Applies to spans, span events, span links, and logs. | `128` | + +### Propagators + +The propagators determine which distributed tracing header formats are used, and +which baggage propagation header formats are used. + +| System property | Description | Default | +| ------------------ | -------------------------------------------------------------------------------- | ---------------------------- | +| `otel.propagators` | The propagators to be used. Use a comma-separated list for multiple propagators. | `tracecontext,baggage` (W3C) | + +Supported values are the following: + +| Value | Description | +| -------------- | ---------------------------------------------------------------------------------------------------------------- | +| `tracecontext` | [W3C Trace Context](https://www.w3.org/TR/trace-context/) (add `baggage` as well to include W3C baggage). | +| `baggage` | [W3C Baggage](https://www.w3.org/TR/baggage/). | +| `b3` | [B3 Single](https://github.com/openzipkin/b3-propagation#single-header). | +| `b3multi` | [B3 Multi](https://github.com/openzipkin/b3-propagation#multiple-headers). | +| `jaeger` | [Jaeger](https://www.jaegertracing.io/docs/1.21/client-libraries/#propagation-format) (includes Jaeger baggage). | +| `xray` | [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-tracingheader). | +| `ottrace` | [OT Trace](https://github.com/opentracing?q=basic&type=&language=). | + +## Tracer provider + +The following configuration options are specific to `SdkTracerProvider`. See +[general configuration](#general) for general configuration. + +### Span exporters + +The following exporters are only available for the trace signal. See +[exporters](#exporters) for general exporter configuration. + +#### Jaeger exporter + +{{% alert color="info" %}} The Jaeger exporters (artifacts +`opentelemetry-exporter-jaeger` and `opentelemetry-exporter-jaeger-thrift`) were +removed in the +[1.35.0](https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.35.0) +release (last published in `1.34.0`) and are no longer available in later +versions of autoconfigure. {{% /alert %}} + +Jaeger now has [native support for OTLP](/blog/2022/jaeger-native-otlp/), and +users should export to Jaeger using [OTLP](/docs/languages/java/exporters/#otlp) +instead. + +#### Zipkin exporter + +The [Zipkin](https://zipkin.io/zipkin-api/) exporter sends JSON in +[Zipkin format](https://zipkin.io/zipkin-api/#/default/post_spans) to a +specified HTTP URL. + +| System property | Description | +| ------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `otel.traces.exporter=zipkin` | Select the Zipkin exporter | +| `otel.exporter.zipkin.endpoint` | The Zipkin endpoint to connect to. Default is `http://localhost:9411/api/v2/spans`. Currently only HTTP is supported. | + +### Batch span processor + +| System property | Description | Default | +| -------------------------------- | --------------------------------------------------------------- | ------- | +| `otel.bsp.schedule.delay` | The interval, in milliseconds, between two consecutive exports. | `5000` | +| `otel.bsp.max.queue.size` | The maximum queue size. | `2048` | +| `otel.bsp.max.export.batch.size` | The maximum batch size. | `512` | +| `otel.bsp.export.timeout` | The maximum allowed time, in milliseconds, to export data. | `30000` | + +### Sampler + +The sampler configures whether spans will be recorded for any call to +`SpanBuilder.startSpan`. + +| System property | Description | Default | +| ------------------------- | ----------------------------------------------------------------------- | ----------------------- | +| `otel.traces.sampler` | The sampler to use for tracing. | `parentbased_always_on` | +| `otel.traces.sampler.arg` | An argument to the configured tracer if supported, for example a ratio. | | + +Supported values for `otel.traces.sampler` are: + +| Value | Description | +| -------------------------- | ------------------------------------------------------------------------------ | +| `always_on` | AlwaysOnSampler | +| `always_off` | AlwaysOffSampler | +| `traceidratio` | TraceIdRatioBased. `otel.traces.sampler.arg` sets the ratio. | +| `parentbased_always_on` | ParentBased(root=AlwaysOnSampler) | +| `parentbased_always_off` | ParentBased(root=AlwaysOffSampler) | +| `parentbased_traceidratio` | ParentBased(root=TraceIdRatioBased). `otel.traces.sampler.arg` sets the ratio. | + +### Span limits + +See [attribute limits](#attribute-limits) for general attribute limit +configuration. + +These properties can be used to control the maximum size of spans by placing +limits on attributes, events, and links. + +| System property | Description | Default | +| ---------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------- | +| `otel.span.attribute.value.length.limit` | The maximum length of span attribute values. Takes precedence over `otel.attribute.value.length.limit`. | No limit | +| `otel.span.attribute.count.limit` | The maximum number of attributes per span. Takes precedence over `otel.attribute.count.limit`. | `128` | +| `otel.span.event.count.limit` | The maximum number of events per span. | `128` | +| `otel.span.link.count.limit` | The maximum number of links per span. | `128` | + +## Meter provider + +The following configuration options are specific to `SdkMeterProvider`. See +[general configuration](#general) for general configuration. + +### Exemplars + +| System property | Description | Default | +| ------------------------------ | ------------------------------------------------------------------------------------ | ------------- | +| `otel.metrics.exemplar.filter` | The filter for exemplar sampling. Can be `ALWAYS_OFF`, `ALWAYS_ON` or `TRACE_BASED`. | `TRACE_BASED` | + +### Periodic Metric Reader + +| System property | Description | Default | +| ----------------------------- | ------------------------------------------------------------------------ | ------- | +| `otel.metric.export.interval` | The interval, in milliseconds, between the start of two export attempts. | `60000` | + +### Metric exporters + +The following exporters are only available for the metric signal. See +[exporters](#exporters) for general exporter configuration. + +#### Prometheus exporter + +The +[Prometheus](https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md) +exporter. + +| System property | Description | Default | +| ---------------------------------- | ---------------------------------------------------------------------------------- | --------- | +| `otel.metrics.exporter=prometheus` | Select the Prometheus exporter | | +| `otel.exporter.prometheus.port` | The local port used to bind the prometheus metric server. Default is `9464`. | `9464` | +| `otel.exporter.prometheus.host` | The local address used to bind the prometheus metric server. Default is `0.0.0.0`. | `0.0.0.0` | + +Note that this is a pull exporter - it opens up a server on the local process +listening on the specified host and port, which a Prometheus server scrapes +from. + +### Cardinality Limits + +| System property | Description | Default | +| --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ------- | +| `otel.experimental.metrics.cardinality.limit` | If set, configure experimental cardinality limit. The value dictates the maximum number of distinct points per metric. | `2000` | + +## Logger provider + +The following configuration options are specific to `SdkLoggerProvider`. See +[general configuration](#general) for general configuration. + +### Batch log record processor + +| System property | Description | Default | +| --------------------------------- | --------------------------------------------------------------- | ------- | +| `otel.blrp.schedule.delay` | The interval, in milliseconds, between two consecutive exports. | `1000` | +| `otel.blrp.max.queue.size` | The maximum queue size. | `2048` | +| `otel.blrp.max.export.batch.size` | The maximum batch size. | `512` | +| `otel.blrp.export.timeout` | The maximum allowed time, in milliseconds, to export data. | `30000` | + +## Customizing the OpenTelemetry SDK + +Autoconfiguration exposes SPI +[hooks](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi) +for customizing behavior programmatically as needed. It's recommended to use the +above configuration properties where possible, only implementing the SPI to add +functionality not found in the SDK by default. + +## File Configuration + +**Status**: [Experimental](/docs/specs/otel/versioning-and-stability) + +{{% alert title="Note" color="warning" %}} When a config file is specified, +other environment variables described in this document along with SPI +[customizations](#customizing-the-opentelemetry-sdk) are ignored. The contents +of the file alone dictate SDK configuration. {{% /alert %}} + +File configuration allows for configuration via a YAML as described in +[opentelemetry-configuration](https://github.com/open-telemetry/opentelemetry-configuration) +and [file configuration](/docs/specs/otel/configuration/file-configuration/). + +To use, include +`io.opentelemetry:opentelemetry-sdk-extension:incubator:` and specify +the path to the config file as described in the table below. + +| System property | Purpose | Default | +| ------------------------------- | --------------------------------------- | ------- | +| `otel.experimental.config.file` | The path to the SDK configuration file. | Unset | diff --git a/content/en/docs/languages/java/exporters.md b/content/en/docs/languages/java/exporters.md index 624c3ce1c352..65d535ff4ecf 100644 --- a/content/en/docs/languages/java/exporters.md +++ b/content/en/docs/languages/java/exporters.md @@ -91,9 +91,8 @@ Note, that in the case of exporting via OTLP you do not need to set `OTEL_TRACES_EXPORTER`, `OTEL_METRICS_EXPORTER` and `OTEL_LOGS_EXPORTER` since `otlp` is their default value -In the case of [manual configuration] you can update the -[example app](/docs/languages/java/instrumentation#example-app) like the -following: +In the case of [manual configuration] you can update the [example app](/docs/languages/java/instrumentation#example-app) +like the following: ```java { hl_lines=["12-14",21,"39-53"] } package otel; diff --git a/content/en/docs/languages/java/getting-started.md b/content/en/docs/languages/java/getting-started.md index ad8a7addbecc..68de7ef50d5e 100644 --- a/content/en/docs/languages/java/getting-started.md +++ b/content/en/docs/languages/java/getting-started.md @@ -19,10 +19,9 @@ Ensure that you have the following installed locally: ## Example Application -The following example uses a basic [Spring Boot] application. You can use -another web framework, such as Apache Wicket or Play. For a complete list of -libraries and supported frameworks, consult the -[registry](/ecosystem/registry/?component=instrumentation&language=java). +The following example uses a basic [Spring Boot] application. You can use another +web framework, such as Apache Wicket or Play. For a complete list of libraries and +supported frameworks, consult the [registry](/ecosystem/registry/?component=instrumentation&language=java). For more elaborate examples, see [examples](/docs/languages/java/examples/). @@ -137,8 +136,8 @@ agent][] in a number of ways, the steps below use environment variables. to the JAR file.{{% /alert %}} 2. Set and export variables that specify the Java agent JAR and a [console - exporter][], using a notation suitable for your shell/terminal environment - — we illustrate a notation for bash-like shells: + exporter][], using a notation suitable for your shell/terminal environment — + we illustrate a notation for bash-like shells: ```sh export JAVA_TOOL_OPTIONS="-javaagent:PATH/TO/opentelemetry-javaagent.jar" \ @@ -240,8 +239,7 @@ For more: - Try [zero-code instrumentation](/docs/zero-code/java/agent/) on one of your own apps. - For light-weight customized telemetry, try [annotations][]. -- Learn about [manual instrumentation][] and try out more - [examples](/docs/languages/java/examples/). +- Learn about [manual instrumentation][] and try out more [examples](/docs/languages/java/examples/). - Take a look at the [OpenTelemetry Demo](/docs/demo/), which includes Java based [Ad Service](/docs/demo/services/ad/) and Kotlin based [Fraud Detection Service](/docs/demo/services/fraud-detection/) diff --git a/content/en/docs/languages/java/instrumentation.md b/content/en/docs/languages/java/instrumentation.md index a207e332e214..f3bc30d67749 100644 --- a/content/en/docs/languages/java/instrumentation.md +++ b/content/en/docs/languages/java/instrumentation.md @@ -579,9 +579,10 @@ To do [Tracing](/docs/concepts/signals/traces/) you'll need to acquire a First, a `Tracer` must be acquired, which is responsible for creating spans and interacting with the [Context](#context-propagation). A tracer is acquired by using the OpenTelemetry API specifying the name and version of the [library -instrumenting][instrumentation library] the [instrumented library] or -application to be monitored. More information is available in the specification -chapter [Obtaining a Tracer]. +instrumenting][instrumentation library] the [instrumented library] or application +to be monitored. More information is available in the specification chapter [Obtaining +a +Tracer]. Anywhere in your application where you write manual tracing code should call `getTracer` to acquire a tracer. For example: @@ -1567,8 +1568,8 @@ exporters out of the box: - Logging Exporter: saves the telemetry data into log streams. Varieties include `LoggingSpanExporter` and `OtlpJsonLoggingSpanExporter`. - OpenTelemetry Protocol Exporter: sends the data in OTLP to the [OpenTelemetry - Collector] or other OTLP receivers. Varieties include `OtlpGrpcSpanExporter` - and `OtlpHttpSpanExporter`. + Collector] or other OTLP receivers. Varieties include `OtlpGrpcSpanExporter` and + `OtlpHttpSpanExporter`. Other exporters can be found in the [OpenTelemetry Registry]. @@ -1685,8 +1686,8 @@ particular backend. OpenTelemetry provides the following exporters out of the box: - OpenTelemetry Protocol Exporter: sends the data in OTLP to the [OpenTelemetry - Collector] or other OTLP receivers. Varieties include - `OtlpGrpcLogRecordExporter` and `OtlpHttpLogRecordExporter`. + Collector] or other OTLP receivers. Varieties include `OtlpGrpcLogRecordExporter` + and `OtlpHttpLogRecordExporter`. - `InMemoryLogRecordExporter`: keeps the data in memory, useful for testing and debugging. - Logging Exporter: saves the telemetry data into log streams. Varieties include diff --git a/content/en/docs/languages/js/exporters.md b/content/en/docs/languages/js/exporters.md index 401ed6884541..3b00b9ad964c 100644 --- a/content/en/docs/languages/js/exporters.md +++ b/content/en/docs/languages/js/exporters.md @@ -134,8 +134,8 @@ collector. #### Use OTLP exporter with HTTP/JSON or HTTP/protobuf [OpenTelemetry Collector Exporter with gRPC][] works only with Node.js, -therefore you are limited to use the [OpenTelemetry Collector Exporter with -HTTP/JSON][] or [OpenTelemetry Collector Exporter with HTTP/protobuf][]. +therefore you are limited to use the [OpenTelemetry Collector Exporter +with HTTP/JSON][] or [OpenTelemetry Collector Exporter with HTTP/protobuf][]. Make sure that the receiving end of your exporter (collector or observability backend) accepts `http/json` if you are using [OpenTelemetry Collector Exporter @@ -161,9 +161,8 @@ If your website and collector are hosted at a different origin, your browser might block the requests going out to your collector. You need to configure special headers for Cross-Origin Resource Sharing (CORS). -The OpenTelemetry Collector provides [a feature][] for http-based receivers to -add the required headers to allow the receiver to accept traces from a web -browser: +The OpenTelemetry Collector provides [a feature][] for http-based receivers to add +the required headers to allow the receiver to accept traces from a web browser: ```yaml receivers: diff --git a/content/en/docs/languages/js/resources.md b/content/en/docs/languages/js/resources.md index 7972a35f5a75..f0dc34e02c6e 100644 --- a/content/en/docs/languages/js/resources.md +++ b/content/en/docs/languages/js/resources.md @@ -12,13 +12,13 @@ Node.js SDK. ## Setup -Follow the instructions in the [Getting Started - Node.js][], so that you have -the files `package.json`, `app.js` and `tracing.js`. +Follow the instructions in the [Getting Started - Node.js][], so that you have the +files `package.json`, `app.js` and `tracing.js`. ## Process & Environment Resource Detection -Out of the box, the Node.js SDK detects [process and process runtime -resources][] and takes attributes from the environment variable +Out of the box, the Node.js SDK detects [process and process +runtime resources][] and takes attributes from the environment variable `OTEL_RESOURCE_ATTRIBUTES`. You can verify what it detects by turning on diagnostic logging in `tracing.js`: diff --git a/content/en/docs/languages/net/getting-started.md b/content/en/docs/languages/net/getting-started.md index f7fd44784209..29301d2e10f3 100644 --- a/content/en/docs/languages/net/getting-started.md +++ b/content/en/docs/languages/net/getting-started.md @@ -265,8 +265,7 @@ For more: - Run this example with another [exporter][] for telemetry data. - Try [automatic instrumentation](/docs/zero-code/net/) on one of your own apps. -- Learn about [manual instrumentation][] and try out more - [examples](/docs/languages/net/examples/). +- Learn about [manual instrumentation][] and try out more [examples](/docs/languages/net/examples/). - Take a look at the [OpenTelemetry Demo](/docs/demo/), which includes .NET based [Cart Service](/docs/demo/services/cart/). diff --git a/content/en/docs/languages/net/resources.md b/content/en/docs/languages/net/resources.md index 4d51bbddff83..42b4eea6e9e6 100644 --- a/content/en/docs/languages/net/resources.md +++ b/content/en/docs/languages/net/resources.md @@ -8,8 +8,8 @@ cSpell:ignore: myhost pcarter uuidgen ## Setup -Follow the instructions in the [Getting Started][], so that you have a running -.NET app exporting data to the console. +Follow the instructions in the [Getting Started][], so that you have a running .NET +app exporting data to the console. ## Adding resources with environment variables diff --git a/content/en/docs/languages/php/getting-started.md b/content/en/docs/languages/php/getting-started.md index fc22043fc94a..8a8d5667b063 100644 --- a/content/en/docs/languages/php/getting-started.md +++ b/content/en/docs/languages/php/getting-started.md @@ -488,8 +488,7 @@ For more: - Run this example with another [exporter][] for telemetry data. - Try [automatic instrumentation](../automatic/) on one of your own apps. -- Learn more about [manual instrumentation][] and try out some - [examples](/docs/languages/php/examples/). +- Learn more about [manual instrumentation][] and try out some [examples](/docs/languages/php/examples/). - Take a look at the [OpenTelemetry Demo](/docs/demo/), which includes the PHP based [Quote Service](/docs/demo/services/quote/). diff --git a/content/en/docs/languages/ruby/getting-started.md b/content/en/docs/languages/ruby/getting-started.md index 8a5f2a35e0f4..16430e6a8f6f 100644 --- a/content/en/docs/languages/ruby/getting-started.md +++ b/content/en/docs/languages/ruby/getting-started.md @@ -177,12 +177,12 @@ Adding tracing to a single service is a great first step. OpenTelemetry provides a few more features that will allow you gain even deeper insights! - [Exporters][] allow you to export your data to a preferred backend. -- [Context propagation][] is perhaps one of the most powerful concepts in - OpenTelemetry because it will upgrade your single service trace into a - _distributed trace_, which makes it possible for OpenTelemetry vendors to - visualize a request from end-to-end across process and network boundaries. -- [Span events][] allow you to add a human-readable message on a span that - represents "something happening" during its lifetime. +- [Context propagation][] is perhaps one of the most powerful concepts in OpenTelemetry + because it will upgrade your single service trace into a _distributed trace_, which + makes it possible for OpenTelemetry vendors to visualize a request from end-to-end + across process and network boundaries. +- [Span events][] allow you to add a human-readable message on a span that represents + "something happening" during its lifetime. - [Instrumentation][instrumentation] will give provide you the ability to enrich your traces with domain specific data. - [The OpenTelemetry Demo](/docs/demo/) includes the Ruby based diff --git a/content/en/docs/migration/_index.md b/content/en/docs/migration/_index.md index e090451d8296..3b0ea9ef9938 100644 --- a/content/en/docs/migration/_index.md +++ b/content/en/docs/migration/_index.md @@ -1,15 +1,15 @@ --- title: Migration description: How to migrate to OpenTelemetry -weight: 50 +weight: 950 --- ## OpenTracing and OpenCensus OpenTelemetry was created as a merger of OpenTracing and OpenCensus. From the -start, OpenTelemetry was considered [to be the next major version of both -OpenTracing and OpenCensus][]. Because of that, one of the [key goals][] of the -OpenTelemetry project is to provide backward compatibility with both projects +start, OpenTelemetry was considered [to be the next major version of +both OpenTracing and OpenCensus][]. Because of that, one of the [key goals][] of +the OpenTelemetry project is to provide backward compatibility with both projects and a migration story for existing users. If you come from one of these projects, you can follow the migration guides for diff --git a/content/en/docs/security/_index.md b/content/en/docs/security/_index.md index 27d2cfac5544..85c229f08e23 100644 --- a/content/en/docs/security/_index.md +++ b/content/en/docs/security/_index.md @@ -1,4 +1,4 @@ --- title: Security -weight: 150 +weight: 970 --- diff --git a/content/en/docs/specs/_index.md b/content/en/docs/specs/_index.md index 37a50f61faaa..d1f0487f015f 100644 --- a/content/en/docs/specs/_index.md +++ b/content/en/docs/specs/_index.md @@ -2,7 +2,7 @@ title: Specifications linkTitle: Specs aliases: [reference, specification] -weight: 100 +weight: 960 # Temporary redirect rules until they are added to the spec pages redirects: # OTel spec diff --git a/content/en/docs/what-is-opentelemetry.md b/content/en/docs/what-is-opentelemetry.md index 901cde135a41..4e5c1db9c431 100644 --- a/content/en/docs/what-is-opentelemetry.md +++ b/content/en/docs/what-is-opentelemetry.md @@ -2,7 +2,7 @@ title: What is OpenTelemetry? description: A short explanation of what OpenTelemetry is and isn't. aliases: [/about, /docs/concepts/what-is-opentelemetry, /otel] -weight: -1 +weight: 150 --- OpenTelemetry is an diff --git a/content/en/docs/zero-code/_index.md b/content/en/docs/zero-code/_index.md index 0807395341a3..e2c748fc7576 100644 --- a/content/en/docs/zero-code/_index.md +++ b/content/en/docs/zero-code/_index.md @@ -1,6 +1,6 @@ --- title: Zero-code Instrumentation -weight: 2 +weight: 260 cSpell:ignore: pageinfo --- @@ -13,8 +13,8 @@ see [Issue #4427] {{% /pageinfo %}} -OpenTelemetry [zero-code instrumentation][] is supported for the languages -listed below in the section index. +OpenTelemetry [zero-code instrumentation][] is supported for the languages listed +below in the section index. If you are using Kubernetes, you can use the [OpenTelemetry Operator for Kubernetes][otel-op] to [inject zero-code instrumentation] for .NET, Java, diff --git a/content/en/docs/zero-code/java/agent/annotations.md b/content/en/docs/zero-code/java/agent/annotations.md index 02f2defc6f63..2df0e753319a 100644 --- a/content/en/docs/zero-code/java/agent/annotations.md +++ b/content/en/docs/zero-code/java/agent/annotations.md @@ -107,8 +107,9 @@ using `@WithSpan` and you want to suppress some of them without modifying the code. {{% config_option - name="otel.instrumentation.opentelemetry-instrumentation-annotations.exclude-methods" %}} -Suppress `@WithSpan` instrumentation for specific methods. Format is `my.package.MyClass1[method1,method2];my.package.MyClass2[method3]`. + name="otel.instrumentation.opentelemetry-instrumentation-annotations.exclude-methods" %}} Suppress +`@WithSpan` instrumentation for specific methods. Format is +`my.package.MyClass1[method1,method2];my.package.MyClass2[method3]`. {{% /config_option %}} ## Creating spans around methods with `otel.instrumentation.methods.include` diff --git a/content/en/docs/zero-code/java/agent/configuration.md b/content/en/docs/zero-code/java/agent/configuration.md index 37650ca67620..ac75cd828e9b 100644 --- a/content/en/docs/zero-code/java/agent/configuration.md +++ b/content/en/docs/zero-code/java/agent/configuration.md @@ -10,25 +10,8 @@ cSpell:ignore: akka armeria classloaders couchbase Customizer datasource dbcp Do ## SDK Autoconfiguration The SDK's autoconfiguration module is used for basic configuration of the agent. -Read the -[docs](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure) -to find settings such as configuring export or sampling. - -Here are some quick links into those docs for the configuration options for -specific portions of the SDK & agent: - -- [Exporters](https://github.com/open-telemetry/opentelemetry-java/blob/main/sdk-extensions/autoconfigure/README.md#exporters) - - [OTLP exporter (span, metric, and log exporters)](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure/README.md#otlp-exporter-span-metric-and-log-exporters) - - [Jaeger exporter](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure/README.md#jaeger-exporter) - - [Zipkin exporter](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure/README.md#zipkin-exporter) - - [Prometheus exporter](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure/README.md#prometheus-exporter) - - [Logging exporter](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure/README.md#logging-exporter) -- [Trace context propagation](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure/README.md#propagator) -- [OpenTelemetry Resource and service name](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure/README.md#opentelemetry-resource) -- [Batch span processor](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure/README.md#batch-span-processor) -- [Sampler](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure/README.md#sampler) -- [Span limits](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure/README.md#span-limits) -- [Using SPI to further configure the SDK](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure/README.md#customizing-the-opentelemetry-sdk) +Read the [docs](/docs/languages/java/configuration) to find settings such as +configuring export or sampling. {{% alert title="Important" color="warning" %}} @@ -44,15 +27,17 @@ In addition to the resource configuration from the SDK autoconfiguration, you can enable additional resource providers that are disabled by default: {{% config_option - name="otel.resource.providers.aws.enabled" - default=false -%}} Enables the [AWS Resource Provider](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources). +name="otel.resource.providers.aws.enabled" +default=false +%}} Enables the +[AWS Resource Provider](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources). {{% /config_option %}} {{% config_option - name="otel.resource.providers.gcp.enabled" - default=false -%}} Enables the [GCP Resource Provider](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources). +name="otel.resource.providers.gcp.enabled" +default=false +%}} Enables the +[GCP Resource Provider](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources). {{% /config_option %}} ## Configuring the agent @@ -188,8 +173,8 @@ This behavior is turned on by default for all database instrumentations. Use the following property to disable it: {{% config_option - name="otel.instrumentation.common.db-statement-sanitizer.enabled" - default=true +name="otel.instrumentation.common.db-statement-sanitizer.enabled" +default=true %}} Enables the DB statement sanitization. {{% /config_option %}} ### Capturing HTTP request and response headers @@ -243,8 +228,8 @@ You can configure the agent to capture the consumer message receive telemetry in messaging instrumentation. Use the following property to enable it: {{% config_option - name="otel.instrumentation.messaging.experimental.receive-telemetry.enabled" - default=false +name="otel.instrumentation.messaging.experimental.receive-telemetry.enabled" +default=false %}} Enables the consumer message receive telemetry. {{% /config_option %}} Note that this will cause the consumer side to start a new trace, with only a @@ -271,22 +256,26 @@ and {{% config_option name="otel.instrumentation.common.enduser.enabled" default=false -%}} Common flag for enabling/disabling enduser attributes. {{% /config_option %}} +%}} Common flag for enabling/disabling enduser attributes. +{{% /config_option %}} {{% config_option name="otel.instrumentation.common.enduser.id.enabled" default=false -%}} Determines whether to capture `enduser.id` semantic attribute. {{% /config_option %}} +%}} Determines whether to capture `enduser.id` semantic attribute. +{{% /config_option %}} {{% config_option name="otel.instrumentation.common.enduser.role.enabled" default=false -%}} Determines whether to capture `enduser.role` semantic attribute. {{% /config_option %}} +%}} Determines whether to capture `enduser.role` semantic attribute. +{{% /config_option %}} {{% config_option name="otel.instrumentation.common.enduser.scope.enabled" default=false -%}} Determines whether to capture `enduser.scope` semantic attribute. {{% /config_option %}} +%}} Determines whether to capture `enduser.scope` semantic attribute. +{{% /config_option %}} #### Spring Security @@ -299,14 +288,14 @@ names: {{% config_option name="otel.instrumentation.spring-security.enduser.role.granted-authority-prefix" default=ROLE_ -%}} Prefix of granted authorities identifying roles to capture in the `enduser.role` -semantic attribute. {{% /config_option %}} +%}} Prefix of granted authorities identifying roles to capture in the +`enduser.role` semantic attribute. {{% /config_option %}} {{% config_option name="otel.instrumentation.spring-security.enduser.scope.granted-authority-prefix" default=SCOPE_ -%}} Prefix of granted authorities identifying scopes to capture in the `enduser.scopes` -semantic attribute. {{% /config_option %}} +%}} Prefix of granted authorities identifying scopes to capture in the +`enduser.scopes` semantic attribute. {{% /config_option %}} ## Suppressing specific instrumentation @@ -491,13 +480,13 @@ associated span name on the parent [SpanKind.Server](/docs/specs/otel/trace/api/#spankind) span. {{% config_option - name="otel.instrumentation.common.experimental.controller-telemetry.enabled" - default=false +name="otel.instrumentation.common.experimental.controller-telemetry.enabled" +default=false %}} Set to `true` to enable controller telemetry. {{% /config_option %}} {{% config_option - name="otel.instrumentation.common.experimental.view-telemetry.enabled" - default=false +name="otel.instrumentation.common.experimental.view-telemetry.enabled" +default=false %}} Set to `true` to enable view telemetry. {{% /config_option %}} ### Instrumentation span suppression behavior diff --git a/content/en/docs/zero-code/net/getting-started.md b/content/en/docs/zero-code/net/getting-started.md index 612dd083c0f3..1d00bbaa45a4 100644 --- a/content/en/docs/zero-code/net/getting-started.md +++ b/content/en/docs/zero-code/net/getting-started.md @@ -107,8 +107,8 @@ dotnet run ## Instrumentation Next, you'll use a [OpenTelemetry .NET Automatic Instrumentation](../) to -instrument the application at launch time. While you can [configure .NET -Automatic Instrumentation][] in a number of ways, the steps below use Unix-shell +instrument the application at launch time. While you can [configure +.NET Automatic Instrumentation][] in a number of ways, the steps below use Unix-shell or PowerShell scripts. > **Note**: PowerShell commands require elevated (administrator) privileges. @@ -150,10 +150,10 @@ or PowerShell scripts. {{% /tab %}} {{< /tabpane >}} -3. Set and export variables that specify a [console exporter][], then execute - script configuring other necessary environment variables using a notation - suitable for your shell/terminal environment — we illustrate a notation - for bash-like shells and PowerShell: +3. Set and export variables that specify a [console exporter][], then execute script + configuring other necessary environment variables using a notation suitable for + your shell/terminal environment — we illustrate a notation for bash-like + shells and PowerShell: {{< tabpane text=true >}} {{% tab Unix-shell %}} diff --git a/content/en/ecosystem/registry/adding.md b/content/en/ecosystem/registry/adding.md index 9546be7f48c1..d5268955db3e 100644 --- a/content/en/ecosystem/registry/adding.md +++ b/content/en/ecosystem/registry/adding.md @@ -7,9 +7,8 @@ description: How to add entries to the registry. Do you maintain or contribute to an integration for OpenTelemetry? We'd love to feature your project in the [registry](../)! -To add your project, submit a [pull request][]. You'll need to create a data -file in [data/registry][] for your project, by using the following template: -[registry-entry.yml][]. +To add your project, submit a [pull request][]. You'll need to create a data file +in [data/registry][] for your project, by using the following template: [registry-entry.yml][]. [data/registry]: https://github.com/open-telemetry/opentelemetry.io/tree/main/data/registry diff --git a/content/zh/docs/concepts/_index.md b/content/zh/docs/concepts/_index.md index 59402010b524..5fa4f7a6b9fa 100644 --- a/content/zh/docs/concepts/_index.md +++ b/content/zh/docs/concepts/_index.md @@ -1,9 +1,9 @@ --- -title: OpenTelemetry 概念 +title: OpenTelemetry 概念 linkTitle: 概念 description: OpenTelemetry 核心概念 aliases: [concepts/overview] -weight: 2 +weight: 170 --- 在本节中,你将了解 OpenTelemetry 项目的数据来源和关键组件。 diff --git a/content/zh/docs/concepts/semantic-conventions.md b/content/zh/docs/concepts/semantic-conventions.md new file mode 100644 index 000000000000..7acc19c3865d --- /dev/null +++ b/content/zh/docs/concepts/semantic-conventions.md @@ -0,0 +1,39 @@ +--- +title: 语义约定 +description: 不同类型的操作和数据的通用名称。 +weight: 30 +--- + + + + +OpenTelemetry 定义了[语义约定](/docs/specs/semconv/), +为不同类型的操作和数据指定通用名称。 +使用语义约定的好处是遵循通用的命名方案,可以在代码库、库和平台之间实现标准化。 + +语义约定适用于链路追踪、指标、日志和资源: + + +- [链路追踪语义约定](/docs/specs/semconv/general/trace/) +- [指标语义约定](/docs/specs/semconv/general/metrics/) +- [日志语义约定](/docs/specs/semconv/general/logs/) +- [资源语义约定](/docs/specs/semconv/resource/) diff --git a/content/zh/docs/demo/_index.md b/content/zh/docs/demo/_index.md new file mode 100644 index 000000000000..e4df5a94a0e7 --- /dev/null +++ b/content/zh/docs/demo/_index.md @@ -0,0 +1,168 @@ +--- +title: OpenTelemetry 演示文档 +linkTitle: 演示 +cascade: + repo: https://github.com/open-telemetry/opentelemetry-demo +weight: 2 +cSpell:ignore: OLJCESPC +--- + + + + +欢迎使用 [OpenTelemetry 演示](/ecosystem/demo/)文档, +此文档介绍了如何安装和运行演示,以及一些可用来查看 OpenTelemetry 实际运行情况的场景。 + + +## 运行演示 + +想要部署演示并查看其实际效果吗?从这里开始: + +- [Docker](docker-deployment/) +- [Kubernetes](kubernetes-deployment/) + + +## 语言特性参考 + +想要了解特定编程语言的工具是如何工作的?从这里开始: + + +| 语言 | 自动插桩 | 插桩库 | 手动插桩 | +| ---------- | ------------------- | -------------------- | ------------------------------------ | +| .NET | | [购物车服务](services/cart/) | [购物车服务](services/cart/) | +| C++ | | | [货币服务](services/currency/) | +| Go | | [会计服务](services/accounting/)、[结账服务](services/checkout/)、[产品目录服务](services/product-catalog/) | [结账服务](services/checkout/)、 [产品目录服务](services/product-catalog/) | +| Java | [广告服务](services/ad/) | | [广告服务](services/ad/) | +| JavaScript | | [前端](services/frontend/) | [前端](services/frontend/)、[支付服务](services/payment/) | +| Kotlin | | [欺诈检测服务](services/fraud-detection/) | | +| PHP | | [报价服务](services/quote/) | [报价服务](services/quote/) | +| Python | [推荐服务](services/recommendation/) | | [推荐服务](services/recommendation/) | +| Ruby | | [电子邮件服务](services/email/) | [电子邮件服务](services/email/) | +| Rust | | [发货服务](services/shipping/) | [发货服务](services/shipping/) | + + +## 服务文档 + +有关如何在每个服务中部署 OpenTelemetry 的具体信息可以在此处找到: + + +- [广告服务](services/ad/) +- [购物车服务](services/cart/) +- [结账服务](services/checkout/) +- [电子邮箱服务](services/email/) +- [前端](services/frontend/) +- [负载生成器](services/load-generator/) +- [支付服务](services/payment/) +- [产品目录服务](services/product-catalog/) +- [报价服务](services/quote/) +- [推荐服务](services/recommendation/) +- [发货服务](services/shipping/) +- [图片提供商服务](services/imageprovider/) + + +## 应用场景 + +如何使用 OpenTelemetry 解决问题?这些场景将引导你解决一些预先配置的问题, +并向你展示如何解释 OpenTelemetry 数据来解决这些问题。 + +随着时间的推移,我们将添加更多场景: + +- 使用功能标志服务为产品 ID 为 `OLJCESPC7Z` 的 `GetProduct` 请求生成[产品目录错误](feature-flags) +- 发现内存泄漏并使用指标和追踪对其进行诊断,[阅读更多](scenarios/recommendation-cache/) + + +## 参考 + +项目参考文档,例如需求和功能矩阵: + +- [架构](architecture/) +- [开发](development/) +- [功能标志参考](feature-flags/) +- [指标功能矩阵](telemetry-features/metric-coverage/) +- [要求](./requirements/) +- [截图](screenshots/) +- [服务](services/) +- [Span 属性参考](telemetry-features/manual-span-attributes/) +- [测试](tests/) +- [Trace 功能矩阵](telemetry-features/trace-coverage/) diff --git a/content/zh/docs/kubernetes/_index.md b/content/zh/docs/kubernetes/_index.md new file mode 100644 index 000000000000..052d11cbaa07 --- /dev/null +++ b/content/zh/docs/kubernetes/_index.md @@ -0,0 +1,31 @@ +--- +title: 使用 Kubernetes 部署 OpenTelemetry +linkTitle: Kubernetes +weight: 11 +description: Using OpenTelemetry with Kubernetes +--- + + + + +## 介绍 + +[Kubernetes](https://kubernetes.io/) +是一个用于自动化部署、扩缩容和管理容器化应用的开源系统。 +它已成为一种广泛采用的行业工具,导致对可观测性工具的需求不断增加。 +因此,OpenTelemetry 创建了许多不同的工具来帮助 Kubernetes 用户观测他们的集群和服务。 diff --git a/content/zh/docs/what-is-opentelemetry.md b/content/zh/docs/what-is-opentelemetry.md index c0bfdc9be52c..4fe615c70b64 100644 --- a/content/zh/docs/what-is-opentelemetry.md +++ b/content/zh/docs/what-is-opentelemetry.md @@ -1,7 +1,7 @@ --- title: 什么是 OpenTelemetry? description: 简短说明 OpenTelemetry 是什么,不是什么。 -weight: -1 +weight: 150 --- OpenTelemetry diff --git a/data/registry/instrumentation-js-remix.yml b/data/registry/instrumentation-js-remix.yml index 7db6a301efee..9ecb19386545 100644 --- a/data/registry/instrumentation-js-remix.yml +++ b/data/registry/instrumentation-js-remix.yml @@ -17,4 +17,4 @@ createdAt: 2022-02-10 package: registry: npm name: opentelemetry-instrumentation-remix - version: 0.7.0 + version: 0.7.1 diff --git a/layouts/shortcodes/docs/languages/exporters/intro.md b/layouts/shortcodes/docs/languages/exporters/intro.md index 9d2867a6dd6a..be714cb9b1e7 100644 --- a/layouts/shortcodes/docs/languages/exporters/intro.md +++ b/layouts/shortcodes/docs/languages/exporters/intro.md @@ -51,8 +51,8 @@ them up. diff --git a/layouts/shortcodes/docs/languages/exporters/outro.md b/layouts/shortcodes/docs/languages/exporters/outro.md index a6ccb6adc578..8f4add50c32c 100644 --- a/layouts/shortcodes/docs/languages/exporters/outro.md +++ b/layouts/shortcodes/docs/languages/exporters/outro.md @@ -3,8 +3,7 @@ ## Custom exporters Finally, you can also write your own exporter. For more information, see the -[SpanExporter Interface in the API -documentation]({{ $spanExporterInterfaceUrl }}). +[SpanExporter Interface in the API documentation]({{ $spanExporterInterfaceUrl }}). ## Batching span and log records diff --git a/package.json b/package.json index ad4f722c49d6..b788f8d9b7dc 100644 --- a/package.json +++ b/package.json @@ -95,15 +95,15 @@ }, "devDependencies": { "autoprefixer": "^10.4.19", - "cspell": "^8.0.0", + "cspell": "^8.8.3", "gulp": "^4.0.2", - "hugo-extended": "0.126.1", - "markdown-link-check": "^3.12.1", + "hugo-extended": "0.126.2", + "markdown-link-check": "^3.12.2", "markdownlint": "^0.34.0", "postcss-cli": "^11.0.0", - "prettier": "^3.0.3", + "prettier": "^3.3.0", "require-dir": "^1.2.0", - "textlint": "^14.0.1", + "textlint": "^14.0.4", "textlint-filter-rule-allowlist": "^4.0.0", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-terminology": "^5.0.0", diff --git a/static/refcache.json b/static/refcache.json index cd2d2696b11a..d326c9ffadd1 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -211,6 +211,10 @@ "StatusCode": 206, "LastSeen": "2024-01-30T15:25:24.128818-05:00" }, + "https://bugs.openjdk.java.net/browse/JDK-8161253": { + "StatusCode": 200, + "LastSeen": "2024-05-25T07:41:26.50757-04:00" + }, "https://bundler.io/": { "StatusCode": 206, "LastSeen": "2024-01-30T06:01:19.540115-05:00" @@ -3751,6 +3755,10 @@ "StatusCode": 200, "LastSeen": "2024-01-30T16:15:09.842104-05:00" }, + "https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.35.0": { + "StatusCode": 200, + "LastSeen": "2024-04-27T13:39:34.845798-04:00" + }, "https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.38.0": { "StatusCode": 200, "LastSeen": "2024-05-24T10:11:28.259677-05:00" @@ -6023,6 +6031,10 @@ "StatusCode": 206, "LastSeen": "2024-03-19T10:16:59.755536357Z" }, + "https://opentelemetry.io/blog/2022/jaeger-native-otlp/": { + "StatusCode": 206, + "LastSeen": "2024-04-27T13:39:35.171666-04:00" + }, "https://opentelemetry.io/blog/2024/otel-collector-anti-patterns/": { "StatusCode": 206, "LastSeen": "2024-05-06T07:53:28.679391-07:00" @@ -9471,6 +9483,10 @@ "StatusCode": 206, "LastSeen": "2024-01-18T19:07:54.399973-05:00" }, + "https://zipkin.io/zipkin-api/#/default/post_spans": { + "StatusCode": 206, + "LastSeen": "2024-04-27T13:39:35.686013-04:00" + }, "https://zoom.us/j/5227112777": { "StatusCode": 200, "LastSeen": "2024-01-18T19:55:41.25487-05:00"