From 309d458724d82d237a433fa909671e6e90e4d9aa Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Tue, 5 Mar 2024 16:06:22 +0100 Subject: [PATCH 01/16] Add page around PR checks to contribution guidelines. (#4006) --- content/en/docs/contributing/_index.md | 10 +- content/en/docs/contributing/pr-checks.md | 110 ++++++++++++++++++++ content/en/docs/contributing/style-guide.md | 78 ++++++++++++++ static/refcache.json | 20 ++++ 4 files changed, 210 insertions(+), 8 deletions(-) create mode 100644 content/en/docs/contributing/pr-checks.md diff --git a/content/en/docs/contributing/_index.md b/content/en/docs/contributing/_index.md index 9811c7734fd2..69d7592d94cd 100644 --- a/content/en/docs/contributing/_index.md +++ b/content/en/docs/contributing/_index.md @@ -369,14 +369,8 @@ using [Netlify](https://www.netlify.com/). the OpenTelemetry website with your changes applied. This is how reviewers check your changes. -Other checks might also fail, including: - -- File name checks -- Links resolution -- Markdown formatting -- Spelling - -GitHub also automatically assigns labels to a PR to help reviewers. +Other checks might also fail, see the +[list of all PR checks](/docs/contributing/pr-checks). #### Fix content issues automatically diff --git a/content/en/docs/contributing/pr-checks.md b/content/en/docs/contributing/pr-checks.md new file mode 100644 index 000000000000..64b1e2d9ae0a --- /dev/null +++ b/content/en/docs/contributing/pr-checks.md @@ -0,0 +1,110 @@ +--- +title: Pull request checks +description: Learn how to make your pull request successfully pass all checks +weight: 40 +cSpell:ignore: REFCACHE +--- + +When you raise a +[pull request](https://docs.github.com/en/get-started/learning-about-github/github-glossary#pull-request) +(PR) with the +[opentelemetry.io repository](https://github.com/open-telemetry/opentelemetry.io) +a set of checks are executed. The PR checks verify that... + +- … you have signed the [CLA](#easy-cla). +- …your commit can be deployed through [Netlify](#netlify-deployment) + successfully. +- … your changes are compliant with our [style guide](#style-checks). + +{{% alert title="Note" color="primary" %}} + +If any of the PR checks fails, please try to +[fix content issues automatically](/docs/contributing/#fix-content-issues-automatically) +first by running `npm run fix:all` on your machine. + +Additionally, you can comment `/fix:all` on your Pull Request. This will make +the OpenTelemetry Bot run those commands on your behalf and update the PR. Make +sure that you pull those changes locally. + +Only if your issues persist, read below what the different checks do and how you +can recover from a failed state. + +{{% /alert %}} + +## Easy CLA + +This check fails if you haven't +[signed the CLA](/docs/contributing/#sign-the-cla). + +## Netlify deployment + +If the [Netlify](https://www.netlify.com/) build fails, select **Details** for +more information. + +## Style checks + +To make sure that contributions follow our +[style guide](/docs/contributing/style-guide) we have implemented a set of +checks that verify style guide rules and fail l if they find any issues. + +The following list describes current checks and what you can do to fix related +errors: + +### TEXT linter + +This check verifies that +[OpenTelemetry-specific terms and words are used consistently across the site](/docs/contributing/style-guide#opentelemetryio-word-list). + +If any issues are found, annotations are added to your files in the +`files changed` view of your PR. Fix those to turn the check green. As an +alternative, you can run `npm run check:text -- --fix` locally to fix most +issues. Run `npm run check:text` again and manually fix the remaining issues. + +### MARKDOWN linter + +This check verifies that +[standards and consistency for Markdown files are enforced](/docs/contributing/style-guide#markdown-standards). + +If any issues are found, run `npm:run format` to fix most issues. For more +complex issues, run `npm run check:markdown` and apply the suggested changes. + +### SPELLING check + +This check verifies that +[all words are spelled correctly](/docs/contributing/style-guide#spell-checking). + +### CSPELL:IGNORE check + +This check will verify that all words in your cSpell ignore list are normalized. + +If this check fails, run `npm run fix:dict` locally and push the changes in a +new commit. + +### FILENAME check + +This check verifies that all +[files are formatted by prettier](/docs/contributing/style-guide#file-format). + +If this check fails, run `npm fix:format` locally and push the changes in a new +commit. + +### FILE FORMAT + +This check verifies that all +[file names are in kebab-case](/docs/contributing/style-guide#file-names). + +If this check fails, run `npm fix:filenames` locally and push the changes in a +new commit. + +### BUILD and CHECK LINKS / REFCACHE updates? + +This check verifies that all links that your commits are introducing are +functional. + +Run `npm run check:links` to check them locally. This also updates the reference +cache, or `REFCACHE`. Push any changes to the `REFCACHE` in a new commit. + +### WARNINGS in build log? + +If this check fails, review the build log for any other potential issues. Ask +maintainers for help, if you are unsure how to recover. diff --git a/content/en/docs/contributing/style-guide.md b/content/en/docs/contributing/style-guide.md index 5e874ffd00d2..3d3341733982 100644 --- a/content/en/docs/contributing/style-guide.md +++ b/content/en/docs/contributing/style-guide.md @@ -14,6 +14,18 @@ documentation style is inspired by the following style guides: The following sections contain guidance that is specific to the OpenTelemetry project. +{{% alert title="Note" color="primary" %}} + +Many requirements of our style guide can be enforced by running automation: +before submitting a +[pull request](https://docs.github.com/en/get-started/learning-about-github/github-glossary#pull-request) +(PR), run `npm run fix:all` on your local machine and commit the changes. + +If you run into errors or [failed PR checks](/docs/contributing/pr-checks), read +about our style guide below and what you can do to fix certain common issues. + +{{% /alert %}} + ## OpenTelemetry.io word list A list of OpenTelemetry-specific terms and words to be used consistently across @@ -37,3 +49,69 @@ file. See also the [Glossary](/docs/concepts/glossary/) for a list of OpenTelemetry terms and their definition. + +Run `npm run check:text` to verify that all terms and words are written +properly. + +Run `npm run check:text -- --fix` to fix terms and words that are not written +properly. + +## Markdown standards + +To enforce standards and consistency for Markdown files, all files should follow +certain rules, enforced by +[markdownlint](https://github.com/DavidAnson/markdownlint). For a full list, +check the +[`.markdownlint.json`](https://github.com/open-telemetry/opentelemetry.io/blob/main/.markdownlint.json) +file. + +Run `npm run check:markdown` to verify that all files follow the standard. + +Run `npm run fix:markdown` to fix Markdown related formatting issues. + +## Spell checking + +Use [CSpell](https://github.com/streetsidesoftware/cspell) to make sure that all +your text is spelled correctly. For a list of words that are specific to the +OpenTelemetry website, see the +[`.cspell.yml`](https://github.com/open-telemetry/opentelemetry.io/blob/main/.cspell.yml) +file. + +Run `npm run check:spelling` to verify that all your words are spelled +correctly. If `cspell` indicates an `Unknown word` error, verify if you wrote +that word correctly. If so, add this word to the `cSpell:ignore` section at the +top of your file. If no such section exists, you can add it to the front matter +of a Markdown file: + +```markdown +--- +title: PageTitle +cSpell:ignore: +--- +``` + +For any other file, add `cSpell:ignore ` in a comment line appropriate for +the file's context. For a [registry](/ecosystem/registry/) entry YAML file file, +it might look like this: + +```yaml +# cSpell:ignore +title: registryEntryTitle +``` + +Website tooling normalizes page-specific dictionaries (that is, the +`cSpell:ignore` word lists), by removing duplicate words, deleting words in the +global word list, and sorting words. To normalize page-specific dictionaries, +run `npm run fix:dict`. + +## File format + +To enforce a certain standard on how files are structured, all files should be +formatted by [prettier](https://prettier.io). Run `npm fix:format` before +submitting a PR, or run it afterwards and push an additional commit. + +## File names + +All file names should be in +[kebab case](https://en.wikipedia.org/wiki/Letter_case#Kebab_case). Run +`npm fix:filenames` to automatically rename your files. diff --git a/static/refcache.json b/static/refcache.json index e9267181f5de..d7e77fca24bb 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -1007,6 +1007,10 @@ "StatusCode": 206, "LastSeen": "2024-01-30T06:05:58.662694-05:00" }, + "https://docs.github.com/en/get-started/learning-about-github/github-glossary#pull-request": { + "StatusCode": 206, + "LastSeen": "2024-02-15T11:30:46.466434+01:00" + }, "https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests": { "StatusCode": 206, "LastSeen": "2024-01-30T15:25:17.633498-05:00" @@ -1731,6 +1735,10 @@ "StatusCode": 200, "LastSeen": "2024-01-18T19:02:27.095072-05:00" }, + "https://en.wikipedia.org/wiki/Letter_case#Kebab_case": { + "StatusCode": 200, + "LastSeen": "2024-02-15T11:30:50.951761+01:00" + }, "https://en.wikipedia.org/wiki/Log_file": { "StatusCode": 200, "LastSeen": "2024-01-18T19:01:58.409935-05:00" @@ -2003,6 +2011,10 @@ "StatusCode": 200, "LastSeen": "2024-01-18T19:10:56.414699-05:00" }, + "https://github.com/DavidAnson/markdownlint": { + "StatusCode": 200, + "LastSeen": "2024-02-15T11:30:50.043802+01:00" + }, "https://github.com/DebajitDas": { "StatusCode": 200, "LastSeen": "2024-01-18T20:04:53.923765-05:00" @@ -4087,6 +4099,10 @@ "StatusCode": 200, "LastSeen": "2024-01-18T19:12:56.889858-05:00" }, + "https://github.com/streetsidesoftware/cspell": { + "StatusCode": 200, + "LastSeen": "2024-02-15T11:30:50.628118+01:00" + }, "https://github.com/strimzi": { "StatusCode": 200, "LastSeen": "2024-01-18T20:05:40.859417-05:00" @@ -6555,6 +6571,10 @@ "StatusCode": 206, "LastSeen": "2024-01-30T16:05:44.189442-05:00" }, + "https://prettier.io": { + "StatusCode": 206, + "LastSeen": "2024-02-15T11:32:15.231585+01:00" + }, "https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html": { "StatusCode": 200, "LastSeen": "2024-01-18T19:10:54.695167-05:00" From 818ff29cc365f22e41adec2de91488ed95a1e567 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Tue, 5 Mar 2024 19:03:37 +0100 Subject: [PATCH 02/16] Update opentelemetry-collector-releases version to v0.96.0 (#4095) --- content/en/docs/collector/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/collector/_index.md b/content/en/docs/collector/_index.md index 4da753fac14f..6754dd4e6584 100644 --- a/content/en/docs/collector/_index.md +++ b/content/en/docs/collector/_index.md @@ -3,7 +3,7 @@ title: Collector description: Vendor-agnostic way to receive, process and export telemetry data. aliases: [collector/about] cascade: - vers: 0.95.0 + vers: 0.96.0 weight: 10 --- From 85205e7c1ea0442d381e70c822ecadd6611f6113 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Imm=C3=A1nuel!?= <21174107+immanuelfodor@users.noreply.github.com> Date: Wed, 6 Mar 2024 10:32:05 +0100 Subject: [PATCH 03/16] Fix Traefik Hub documentation link (#4101) --- data/ecosystem/integrations.yaml | 2 +- static/refcache.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/ecosystem/integrations.yaml b/data/ecosystem/integrations.yaml index ac20ddb9a148..162ac0408112 100644 --- a/data/ecosystem/integrations.yaml +++ b/data/ecosystem/integrations.yaml @@ -148,7 +148,7 @@ oss: false - name: Traefik Hub API Management url: https://traefik.io/traefik-hub/ - docsUrl: https://doc.traefik.io/traefik-hub/operations/telemetry/overview/ + docsUrl: https://doc.traefik.io/traefik-hub/operations/metrics components: [Go] oss: false - name: Strimzi diff --git a/static/refcache.json b/static/refcache.json index d7e77fca24bb..b0738208fda9 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -763,7 +763,7 @@ "StatusCode": 206, "LastSeen": "2024-01-22T08:13:47.191476+01:00" }, - "https://doc.traefik.io/traefik-hub/operations/telemetry/overview/": { + "https://doc.traefik.io/traefik-hub/operations/metrics": { "StatusCode": 206, "LastSeen": "2024-01-30T16:07:39.690877-05:00" }, From 16c96bc2b3014ae16b4341cc8f62541a85f60837 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Wed, 6 Mar 2024 18:21:51 +0100 Subject: [PATCH 04/16] Auto-update registry versions (161b8aed65903c94c5851b262346d4dd8e43f31a) (#4100) Co-authored-by: Phillip Carter --- data/registry/instrumentation-js-autotelic-fastify.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/registry/instrumentation-js-autotelic-fastify.yml b/data/registry/instrumentation-js-autotelic-fastify.yml index eacad234bbce..e99c267373e3 100644 --- a/data/registry/instrumentation-js-autotelic-fastify.yml +++ b/data/registry/instrumentation-js-autotelic-fastify.yml @@ -18,4 +18,4 @@ createdAt: 2020-08-28 package: name: '@autotelic/fastify-opentelemetry' registry: npm - version: 0.19.0 + version: 0.20.0 From 5cd2527e905116295c8e3051c56d748d6c7bbbc5 Mon Sep 17 00:00:00 2001 From: Adriana Villela <50256412+avillela@users.noreply.github.com> Date: Wed, 6 Mar 2024 15:38:56 -0500 Subject: [PATCH 05/16] Update end user feedback sessions (#4104) --- content/en/blog/2024/kubecon-eu.md | 25 +++++++++++-------- .../otel-collector-anti-patterns/index.md | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/content/en/blog/2024/kubecon-eu.md b/content/en/blog/2024/kubecon-eu.md index 3438e7670834..421f929c0269 100644 --- a/content/en/blog/2024/kubecon-eu.md +++ b/content/en/blog/2024/kubecon-eu.md @@ -105,26 +105,31 @@ Expo Hall. This will be a place for informal chats, meetups, and other discussions led by OpenTelemetry community members and maintainers. Check out the schedule of activities [here](https://shorturl.at/qEUX1). -If you’d like to participate and lead a discussion or short presentation, out to -the +If you’d like to participate and lead a discussion or short presentation, reach +out to the [OpenTelemetry End User Working Group](https://cloud-native.slack.com/archives/C01RT3MSWGZ) to indicate your interest. You can help us improve the project by sharing your thoughts and feedback about your OpenTelemetry adoption, implementation, and usage. -To join a feedback session, book online below: +To join a feedback session, book online below. All times in Central European +Time (CET). -- [End User Feedback Sessions 1](https://calendly.com/otel-euwg/end-user-feedback-sessions-1?month=2024-03) -- [End User Feedback Sessions 2](https://calendly.com/otel-euwg/end-user-feedback-sessions-2?month=2024-03) -- [End User Feedback Sessions 3](https://calendly.com/otel-euwg/end-user-feedback-sessions-3?month=2024-03) -- [End User Feedback Sessions 4](https://calendly.com/otel-euwg/end-user-feedback-sessions-4?month=2024-03) -- [End User Feedback Sessions 5](https://calendly.com/otel-euwg/end-user-feedback-sessions-5?month=2024-03) +- **March 20th, 10:45-11:45:** + [End User Feedback Session - Profiling](https://calendly.com/otel-euwg/end-user-feedback-sessions-1?month=2024-03) +- **March 20th, 11:45-12:45:** + [End User Feedback Session - .NET & .NET Auto-Instrumentation](https://calendly.com/otel-euwg/end-user-feedback-sessions-2?month=2024-03) +- **March 20th, 15:00-16:00:** + [End User Feedback Session - JavaScript](https://calendly.com/otel-euwg/end-user-feedback-sessions-3?month=2024-03) +- **March 21st, 11:00-12:00:** + [End User Feedback Session - Semantic Conventions](https://calendly.com/otel-euwg/end-user-feedback-sessions-4?month=2024-03) +- **March 21st, 14:30-15:30:** + [End User Feedback Session - Comms (website, docs)](https://calendly.com/otel-euwg/end-user-feedback-sessions-5?month=2024-03) A maximum of 5 participants will join one SIG maintainer to provide feedback for that SIG. Sessions will be recorded and posted on the -[OTel YouTube channel](https://youtube.com/@otel-official). The final SIG list -is still TBD, so check back here often! +[OTel YouTube channel](https://youtube.com/@otel-official). We will create action items from your comments as appropriate. Check [#otel-user-research][] in CNCF's Slack instance for results and action item diff --git a/content/en/blog/2024/otel-collector-anti-patterns/index.md b/content/en/blog/2024/otel-collector-anti-patterns/index.md index 17cf49cdca6a..e37aa76b837c 100644 --- a/content/en/blog/2024/otel-collector-anti-patterns/index.md +++ b/content/en/blog/2024/otel-collector-anti-patterns/index.md @@ -3,7 +3,7 @@ title: OpenTelemetry Collector Antipatterns linkTitle: OTel Collector Antipatterns date: 2024-03-01 author: >- - [Adriana Villela](https://github.com/avillela) (Lightstep), + [Adriana Villela](https://github.com/avillela) (ServiceNow), canonical_url: https://open.substack.com/pub/geekingoutpodcast/p/opentelemetry-collector-anti-patterns cSpell:ignore: antipattern antipatterns From 20c6611372fb2ff34f3156709c59e998214bf5a7 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Thu, 7 Mar 2024 08:10:38 +0100 Subject: [PATCH 06/16] Auto-update registry versions (d125d66352180ff830245e0852178af9da46a2f3) (#4106) --- data/registry/instrumentation-js-amqplib.yml | 2 +- data/registry/instrumentation-js-aws-lambda.yml | 2 +- data/registry/instrumentation-js-aws-sdk.yml | 2 +- data/registry/instrumentation-js-bunyan.yml | 2 +- data/registry/instrumentation-js-cassandra-driver.yml | 2 +- data/registry/instrumentation-js-cassandra.yml | 2 +- data/registry/instrumentation-js-connect.yml | 2 +- data/registry/instrumentation-js-cucumber.yml | 2 +- data/registry/instrumentation-js-dataloader.yml | 2 +- data/registry/instrumentation-js-dns.yml | 2 +- data/registry/instrumentation-js-document-load.yml | 2 +- data/registry/instrumentation-js-express.yml | 2 +- data/registry/instrumentation-js-fastify.yml | 2 +- data/registry/instrumentation-js-fs.yml | 2 +- data/registry/instrumentation-js-generic-pool.yml | 2 +- data/registry/instrumentation-js-graphql.yml | 2 +- data/registry/instrumentation-js-hapi.yml | 2 +- data/registry/instrumentation-js-ioredis.yml | 2 +- data/registry/instrumentation-js-knex.yml | 2 +- data/registry/instrumentation-js-koa.yml | 2 +- data/registry/instrumentation-js-long-task.yml | 2 +- data/registry/instrumentation-js-lru-memoizer.yml | 2 +- data/registry/instrumentation-js-memcached.yml | 2 +- data/registry/instrumentation-js-mongodb.yml | 2 +- data/registry/instrumentation-js-mongoose-instrumentation.yml | 2 +- data/registry/instrumentation-js-mysql.yml | 2 +- data/registry/instrumentation-js-mysql2.yml | 2 +- data/registry/instrumentation-js-nestjs-core.yml | 2 +- data/registry/instrumentation-js-nestjs.yml | 2 +- data/registry/instrumentation-js-net.yml | 2 +- data/registry/instrumentation-js-pg.yml | 2 +- data/registry/instrumentation-js-pillarjs-router.yml | 2 +- data/registry/instrumentation-js-pino.yml | 2 +- data/registry/instrumentation-js-postgres.yml | 2 +- data/registry/instrumentation-js-redis-4.yml | 2 +- data/registry/instrumentation-js-redis.yml | 2 +- data/registry/instrumentation-js-restify.yml | 2 +- data/registry/instrumentation-js-router.yml | 2 +- data/registry/instrumentation-js-socket.io.yml | 2 +- data/registry/instrumentation-js-tedious.yml | 2 +- data/registry/instrumentation-js-user-interaction.yml | 2 +- data/registry/instrumentation-js-winston.yml | 2 +- data/registry/resource-detector-js-alibabacloud.yml | 2 +- data/registry/resource-detector-js-aws.yml | 2 +- data/registry/resource-detector-js-azure.yml | 2 +- data/registry/resource-detector-js-container.yml | 2 +- data/registry/resource-detector-js-gcp.yml | 2 +- data/registry/resource-detector-js-instana.yml | 2 +- 48 files changed, 48 insertions(+), 48 deletions(-) diff --git a/data/registry/instrumentation-js-amqplib.yml b/data/registry/instrumentation-js-amqplib.yml index 1d6cc73b1cb9..86fba2fa6a6d 100644 --- a/data/registry/instrumentation-js-amqplib.yml +++ b/data/registry/instrumentation-js-amqplib.yml @@ -14,7 +14,7 @@ authors: package: name: '@opentelemetry/instrumentation-amqplib' registry: npm - version: 0.34.0 + version: 0.35.0 urls: repo: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-amqplib createdAt: 2020-06-15 diff --git a/data/registry/instrumentation-js-aws-lambda.yml b/data/registry/instrumentation-js-aws-lambda.yml index fd190c081fe4..42d55da900fc 100644 --- a/data/registry/instrumentation-js-aws-lambda.yml +++ b/data/registry/instrumentation-js-aws-lambda.yml @@ -15,4 +15,4 @@ createdAt: 2021-07-08 package: name: '@opentelemetry/instrumentation-aws-lambda' registry: npm - version: 0.38.0 + version: 0.39.0 diff --git a/data/registry/instrumentation-js-aws-sdk.yml b/data/registry/instrumentation-js-aws-sdk.yml index 7706646ec0e2..c6ddb246bb0d 100644 --- a/data/registry/instrumentation-js-aws-sdk.yml +++ b/data/registry/instrumentation-js-aws-sdk.yml @@ -17,4 +17,4 @@ createdAt: 2020-06-15 package: name: '@opentelemetry/instrumentation-aws-sdk' registry: npm - version: 0.38.1 + version: 0.39.0 diff --git a/data/registry/instrumentation-js-bunyan.yml b/data/registry/instrumentation-js-bunyan.yml index 498f595b0a4b..f36ce303d222 100644 --- a/data/registry/instrumentation-js-bunyan.yml +++ b/data/registry/instrumentation-js-bunyan.yml @@ -16,4 +16,4 @@ createdAt: 2021-07-08 package: name: '@opentelemetry/instrumentation-bunyan' registry: npm - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-cassandra-driver.yml b/data/registry/instrumentation-js-cassandra-driver.yml index 23ae328d7d7d..3815e1f35f74 100644 --- a/data/registry/instrumentation-js-cassandra-driver.yml +++ b/data/registry/instrumentation-js-cassandra-driver.yml @@ -16,4 +16,4 @@ createdAt: 2021-07-08 package: name: '@opentelemetry/instrumentation-cassandra-driver' registry: npm - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-cassandra.yml b/data/registry/instrumentation-js-cassandra.yml index 595e6692abed..fb34d6553135 100644 --- a/data/registry/instrumentation-js-cassandra.yml +++ b/data/registry/instrumentation-js-cassandra.yml @@ -17,4 +17,4 @@ createdAt: 2021-07-08 package: registry: npm name: '@opentelemetry/instrumentation-cassandra-driver' - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-connect.yml b/data/registry/instrumentation-js-connect.yml index 530421f36015..eb0af507f606 100644 --- a/data/registry/instrumentation-js-connect.yml +++ b/data/registry/instrumentation-js-connect.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: name: '@opentelemetry/instrumentation-connect' registry: npm - version: 0.33.0 + version: 0.34.0 diff --git a/data/registry/instrumentation-js-cucumber.yml b/data/registry/instrumentation-js-cucumber.yml index 19d75466b1b9..e9aea617175f 100644 --- a/data/registry/instrumentation-js-cucumber.yml +++ b/data/registry/instrumentation-js-cucumber.yml @@ -17,4 +17,4 @@ createdAt: 2022-10-27 package: registry: npm name: '@opentelemetry/instrumentation-cucumber' - version: 0.3.0 + version: 0.4.0 diff --git a/data/registry/instrumentation-js-dataloader.yml b/data/registry/instrumentation-js-dataloader.yml index eb2f2dfeeafb..c9754ab90a2c 100644 --- a/data/registry/instrumentation-js-dataloader.yml +++ b/data/registry/instrumentation-js-dataloader.yml @@ -15,4 +15,4 @@ createdAt: 2022-10-27 package: registry: npm name: '@opentelemetry/instrumentation-dataloader' - version: 0.6.0 + version: 0.7.0 diff --git a/data/registry/instrumentation-js-dns.yml b/data/registry/instrumentation-js-dns.yml index 2228dea337f4..6275ca2d75ce 100644 --- a/data/registry/instrumentation-js-dns.yml +++ b/data/registry/instrumentation-js-dns.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-dns' - version: 0.33.0 + version: 0.34.0 diff --git a/data/registry/instrumentation-js-document-load.yml b/data/registry/instrumentation-js-document-load.yml index c3bb66736ac7..8e436308747c 100644 --- a/data/registry/instrumentation-js-document-load.yml +++ b/data/registry/instrumentation-js-document-load.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-document-load' - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-express.yml b/data/registry/instrumentation-js-express.yml index 353c566e88cd..294b5c7efcb9 100644 --- a/data/registry/instrumentation-js-express.yml +++ b/data/registry/instrumentation-js-express.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-express' - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-fastify.yml b/data/registry/instrumentation-js-fastify.yml index 63b53716f83d..ec3e20f81425 100644 --- a/data/registry/instrumentation-js-fastify.yml +++ b/data/registry/instrumentation-js-fastify.yml @@ -15,4 +15,4 @@ createdAt: 2020-08-28 package: registry: npm name: '@opentelemetry/instrumentation-fastify' - version: 0.33.0 + version: 0.34.0 diff --git a/data/registry/instrumentation-js-fs.yml b/data/registry/instrumentation-js-fs.yml index bb39a3dc2106..8412398943e4 100644 --- a/data/registry/instrumentation-js-fs.yml +++ b/data/registry/instrumentation-js-fs.yml @@ -15,4 +15,4 @@ createdAt: 2021-07-08 package: registry: npm name: '@opentelemetry/instrumentation-fs' - version: 0.9.0 + version: 0.10.0 diff --git a/data/registry/instrumentation-js-generic-pool.yml b/data/registry/instrumentation-js-generic-pool.yml index f598e54784eb..fa1609960466 100644 --- a/data/registry/instrumentation-js-generic-pool.yml +++ b/data/registry/instrumentation-js-generic-pool.yml @@ -16,4 +16,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-generic-pool' - version: 0.33.0 + version: 0.34.0 diff --git a/data/registry/instrumentation-js-graphql.yml b/data/registry/instrumentation-js-graphql.yml index b08073b72abd..c0630ec34f19 100644 --- a/data/registry/instrumentation-js-graphql.yml +++ b/data/registry/instrumentation-js-graphql.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-graphql' - version: 0.37.0 + version: 0.38.0 diff --git a/data/registry/instrumentation-js-hapi.yml b/data/registry/instrumentation-js-hapi.yml index 2ee854fff824..feb2ff1e9d9e 100644 --- a/data/registry/instrumentation-js-hapi.yml +++ b/data/registry/instrumentation-js-hapi.yml @@ -15,4 +15,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-hapi' - version: 0.34.0 + version: 0.35.0 diff --git a/data/registry/instrumentation-js-ioredis.yml b/data/registry/instrumentation-js-ioredis.yml index 60858fba262c..27c1694d92c8 100644 --- a/data/registry/instrumentation-js-ioredis.yml +++ b/data/registry/instrumentation-js-ioredis.yml @@ -15,4 +15,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-ioredis' - version: 0.37.0 + version: 0.38.0 diff --git a/data/registry/instrumentation-js-knex.yml b/data/registry/instrumentation-js-knex.yml index 80a2cd3ee959..4df576a5f3d8 100644 --- a/data/registry/instrumentation-js-knex.yml +++ b/data/registry/instrumentation-js-knex.yml @@ -17,4 +17,4 @@ createdAt: 2021-07-08 package: registry: npm name: '@opentelemetry/instrumentation-knex' - version: 0.33.0 + version: 0.34.0 diff --git a/data/registry/instrumentation-js-koa.yml b/data/registry/instrumentation-js-koa.yml index d11905385b95..1f19337b85bf 100644 --- a/data/registry/instrumentation-js-koa.yml +++ b/data/registry/instrumentation-js-koa.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-koa' - version: 0.37.0 + version: 0.38.0 diff --git a/data/registry/instrumentation-js-long-task.yml b/data/registry/instrumentation-js-long-task.yml index d7b88cc1a871..fb38abb4c3dc 100644 --- a/data/registry/instrumentation-js-long-task.yml +++ b/data/registry/instrumentation-js-long-task.yml @@ -14,4 +14,4 @@ createdAt: 2021-07-08 package: registry: npm name: '@opentelemetry/instrumentation-long-task' - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-lru-memoizer.yml b/data/registry/instrumentation-js-lru-memoizer.yml index 6096a9f73ec9..a6387ad9e1f2 100644 --- a/data/registry/instrumentation-js-lru-memoizer.yml +++ b/data/registry/instrumentation-js-lru-memoizer.yml @@ -17,4 +17,4 @@ createdAt: 2022-10-27 package: registry: npm name: '@opentelemetry/instrumentation-lru-memoizer' - version: 0.34.0 + version: 0.35.0 diff --git a/data/registry/instrumentation-js-memcached.yml b/data/registry/instrumentation-js-memcached.yml index 7543afb7f343..1d0024a3630f 100644 --- a/data/registry/instrumentation-js-memcached.yml +++ b/data/registry/instrumentation-js-memcached.yml @@ -15,4 +15,4 @@ createdAt: 2021-07-08 package: registry: npm name: '@opentelemetry/instrumentation-memcached' - version: 0.33.0 + version: 0.34.0 diff --git a/data/registry/instrumentation-js-mongodb.yml b/data/registry/instrumentation-js-mongodb.yml index 5c1fd61c1bd2..341054d025aa 100644 --- a/data/registry/instrumentation-js-mongodb.yml +++ b/data/registry/instrumentation-js-mongodb.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-mongodb' - version: 0.39.0 + version: 0.40.0 diff --git a/data/registry/instrumentation-js-mongoose-instrumentation.yml b/data/registry/instrumentation-js-mongoose-instrumentation.yml index 9da704362627..a4fa71096bb0 100644 --- a/data/registry/instrumentation-js-mongoose-instrumentation.yml +++ b/data/registry/instrumentation-js-mongoose-instrumentation.yml @@ -16,4 +16,4 @@ createdAt: 2021-02-17 package: registry: npm name: '@opentelemetry/instrumentation-mongoose' - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-mysql.yml b/data/registry/instrumentation-js-mysql.yml index c2c6d4cf974a..54d0951f5ff9 100644 --- a/data/registry/instrumentation-js-mysql.yml +++ b/data/registry/instrumentation-js-mysql.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-mysql' - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-mysql2.yml b/data/registry/instrumentation-js-mysql2.yml index 92d303b4c72d..cc4101f13e00 100644 --- a/data/registry/instrumentation-js-mysql2.yml +++ b/data/registry/instrumentation-js-mysql2.yml @@ -18,4 +18,4 @@ createdAt: 2021-07-08 package: registry: npm name: '@opentelemetry/instrumentation-mysql2' - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-nestjs-core.yml b/data/registry/instrumentation-js-nestjs-core.yml index 6668f697e615..e33ee4a43a8e 100644 --- a/data/registry/instrumentation-js-nestjs-core.yml +++ b/data/registry/instrumentation-js-nestjs-core.yml @@ -17,4 +17,4 @@ createdAt: 2021-07-09 package: registry: npm name: '@opentelemetry/instrumentation-nestjs-core' - version: 0.34.0 + version: 0.35.0 diff --git a/data/registry/instrumentation-js-nestjs.yml b/data/registry/instrumentation-js-nestjs.yml index d72cadd0b58f..d7d52ef06caa 100644 --- a/data/registry/instrumentation-js-nestjs.yml +++ b/data/registry/instrumentation-js-nestjs.yml @@ -16,4 +16,4 @@ createdAt: 2021-07-09 package: registry: npm name: '@opentelemetry/instrumentation-nestjs-core' - version: 0.34.0 + version: 0.35.0 diff --git a/data/registry/instrumentation-js-net.yml b/data/registry/instrumentation-js-net.yml index 6f2124b03ff5..f503bd46b827 100644 --- a/data/registry/instrumentation-js-net.yml +++ b/data/registry/instrumentation-js-net.yml @@ -14,4 +14,4 @@ createdAt: 2021-07-08 package: registry: npm name: '@opentelemetry/instrumentation-net' - version: 0.33.0 + version: 0.34.0 diff --git a/data/registry/instrumentation-js-pg.yml b/data/registry/instrumentation-js-pg.yml index bbce9be6b591..052d42e7ea76 100644 --- a/data/registry/instrumentation-js-pg.yml +++ b/data/registry/instrumentation-js-pg.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-pg' - version: 0.38.0 + version: 0.39.0 diff --git a/data/registry/instrumentation-js-pillarjs-router.yml b/data/registry/instrumentation-js-pillarjs-router.yml index 6466f29ce38a..931727243069 100644 --- a/data/registry/instrumentation-js-pillarjs-router.yml +++ b/data/registry/instrumentation-js-pillarjs-router.yml @@ -20,4 +20,4 @@ createdAt: 2021-07-08 package: registry: npm name: '@opentelemetry/instrumentation-restify' - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-pino.yml b/data/registry/instrumentation-js-pino.yml index 23a08d088600..c3c50694f04b 100644 --- a/data/registry/instrumentation-js-pino.yml +++ b/data/registry/instrumentation-js-pino.yml @@ -16,4 +16,4 @@ createdAt: 2021-07-08 package: registry: npm name: '@opentelemetry/instrumentation-pino' - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-postgres.yml b/data/registry/instrumentation-js-postgres.yml index 2a1ed226854a..39669fe4043f 100644 --- a/data/registry/instrumentation-js-postgres.yml +++ b/data/registry/instrumentation-js-postgres.yml @@ -17,4 +17,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-pg' - version: 0.38.0 + version: 0.39.0 diff --git a/data/registry/instrumentation-js-redis-4.yml b/data/registry/instrumentation-js-redis-4.yml index 395a6d403d25..f122e3549c86 100644 --- a/data/registry/instrumentation-js-redis-4.yml +++ b/data/registry/instrumentation-js-redis-4.yml @@ -14,4 +14,4 @@ createdAt: 2022-10-27 package: registry: npm name: '@opentelemetry/instrumentation-redis-4' - version: 0.36.0 + version: 0.37.0 diff --git a/data/registry/instrumentation-js-redis.yml b/data/registry/instrumentation-js-redis.yml index 5162966142d2..d57544045d23 100644 --- a/data/registry/instrumentation-js-redis.yml +++ b/data/registry/instrumentation-js-redis.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-redis' - version: 0.36.0 + version: 0.37.0 diff --git a/data/registry/instrumentation-js-restify.yml b/data/registry/instrumentation-js-restify.yml index 9be5d9f5f530..7b426a89cd54 100644 --- a/data/registry/instrumentation-js-restify.yml +++ b/data/registry/instrumentation-js-restify.yml @@ -15,4 +15,4 @@ createdAt: 2021-07-08 package: registry: npm name: '@opentelemetry/instrumentation-restify' - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-router.yml b/data/registry/instrumentation-js-router.yml index d78394453089..44afaac1f8e1 100644 --- a/data/registry/instrumentation-js-router.yml +++ b/data/registry/instrumentation-js-router.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-router' - version: 0.34.0 + version: 0.35.0 diff --git a/data/registry/instrumentation-js-socket.io.yml b/data/registry/instrumentation-js-socket.io.yml index 2e75da6576c2..d555e0643a0f 100644 --- a/data/registry/instrumentation-js-socket.io.yml +++ b/data/registry/instrumentation-js-socket.io.yml @@ -16,4 +16,4 @@ createdAt: 2022-10-27 package: registry: npm name: '@opentelemetry/instrumentation-socket.io' - version: 0.36.0 + version: 0.37.0 diff --git a/data/registry/instrumentation-js-tedious.yml b/data/registry/instrumentation-js-tedious.yml index 25f669dff74e..ca3f4b200aea 100644 --- a/data/registry/instrumentation-js-tedious.yml +++ b/data/registry/instrumentation-js-tedious.yml @@ -16,4 +16,4 @@ createdAt: 2022-10-27 package: registry: npm name: '@opentelemetry/instrumentation-tedious' - version: 0.7.0 + version: 0.8.0 diff --git a/data/registry/instrumentation-js-user-interaction.yml b/data/registry/instrumentation-js-user-interaction.yml index 302de86cd3a5..17f4b378f8c0 100644 --- a/data/registry/instrumentation-js-user-interaction.yml +++ b/data/registry/instrumentation-js-user-interaction.yml @@ -14,4 +14,4 @@ createdAt: 2020-11-09 package: registry: npm name: '@opentelemetry/instrumentation-user-interaction' - version: 0.35.0 + version: 0.36.0 diff --git a/data/registry/instrumentation-js-winston.yml b/data/registry/instrumentation-js-winston.yml index 701542fb6f7b..d4918ac63fd9 100644 --- a/data/registry/instrumentation-js-winston.yml +++ b/data/registry/instrumentation-js-winston.yml @@ -16,4 +16,4 @@ createdAt: 2021-07-08 package: registry: npm name: '@opentelemetry/instrumentation-winston' - version: 0.34.0 + version: 0.35.0 diff --git a/data/registry/resource-detector-js-alibabacloud.yml b/data/registry/resource-detector-js-alibabacloud.yml index 6ec9c9a3d64d..3fee4353eb6e 100644 --- a/data/registry/resource-detector-js-alibabacloud.yml +++ b/data/registry/resource-detector-js-alibabacloud.yml @@ -16,4 +16,4 @@ createdAt: 2022-12-07 package: registry: npm name: '@opentelemetry/resource-detector-alibaba-cloud' - version: 0.28.6 + version: 0.28.7 diff --git a/data/registry/resource-detector-js-aws.yml b/data/registry/resource-detector-js-aws.yml index 7d63e4a1ea27..259720874d90 100644 --- a/data/registry/resource-detector-js-aws.yml +++ b/data/registry/resource-detector-js-aws.yml @@ -15,4 +15,4 @@ createdAt: 2022-12-07 package: registry: npm name: '@opentelemetry/resource-detector-aws' - version: 1.3.6 + version: 1.4.0 diff --git a/data/registry/resource-detector-js-azure.yml b/data/registry/resource-detector-js-azure.yml index 79857e1e2a3e..00a8e5cd5e34 100644 --- a/data/registry/resource-detector-js-azure.yml +++ b/data/registry/resource-detector-js-azure.yml @@ -15,4 +15,4 @@ createdAt: 2022-12-07 package: registry: npm name: '@opentelemetry/resource-detector-azure' - version: 0.2.4 + version: 0.2.5 diff --git a/data/registry/resource-detector-js-container.yml b/data/registry/resource-detector-js-container.yml index 920c8458b977..1b8aeebce09f 100644 --- a/data/registry/resource-detector-js-container.yml +++ b/data/registry/resource-detector-js-container.yml @@ -17,4 +17,4 @@ createdAt: 2022-12-07 package: registry: npm name: '@opentelemetry/resource-detector-container' - version: 0.3.6 + version: 0.3.7 diff --git a/data/registry/resource-detector-js-gcp.yml b/data/registry/resource-detector-js-gcp.yml index 15f8d33ffd5f..82a39fc69838 100644 --- a/data/registry/resource-detector-js-gcp.yml +++ b/data/registry/resource-detector-js-gcp.yml @@ -15,4 +15,4 @@ createdAt: 2022-12-07 package: registry: npm name: '@opentelemetry/resource-detector-gcp' - version: 0.29.6 + version: 0.29.7 diff --git a/data/registry/resource-detector-js-instana.yml b/data/registry/resource-detector-js-instana.yml index 928f3f827091..d7775f87a951 100644 --- a/data/registry/resource-detector-js-instana.yml +++ b/data/registry/resource-detector-js-instana.yml @@ -17,4 +17,4 @@ createdAt: 2022-12-07 package: registry: npm name: '@opentelemetry/resource-detector-instana' - version: 0.6.0 + version: 0.7.0 From 9a363d481cbf27bc9a2d63c7ba0f8e9285dd9552 Mon Sep 17 00:00:00 2001 From: Patrice Chalin Date: Thu, 7 Mar 2024 02:36:52 -0500 Subject: [PATCH 07/16] [blog] KubeCon EU 2024 copyedits (#4103) --- content/en/blog/2024/kubecon-eu.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/content/en/blog/2024/kubecon-eu.md b/content/en/blog/2024/kubecon-eu.md index 421f929c0269..8b511f8bf858 100644 --- a/content/en/blog/2024/kubecon-eu.md +++ b/content/en/blog/2024/kubecon-eu.md @@ -102,8 +102,9 @@ you will be able to follow **Observability Day** through a live stream. Drop by and say _"Hi!"_ at OpenTelemetry Observatory presented by Splunk in the Expo Hall. This will be a place for informal chats, meetups, and other -discussions led by OpenTelemetry community members and maintainers. Check out -the schedule of activities [here](https://shorturl.at/qEUX1). +discussions led by OpenTelemetry community members and maintainers. For the +activity schedule, see the +[OTel Observatory Calendar](https://shorturl.at/qEUX1). If you’d like to participate and lead a discussion or short presentation, reach out to the @@ -138,8 +139,8 @@ updates to come after KubeCon EU. Back by popular demand! We'll be recording [Humans of OTel interviews](/blog/2023/humans-of-otel/) at the OTel Observatory. If you'd like to share your experiences as an OpenTelemetry practitioner or -maintainer, sign up for an interview session -[here](https://calendly.com/otel-euwg/humans-of-otel). +maintainer, +[sign up for an interview session](https://calendly.com/otel-euwg/humans-of-otel). Come join us to listen, learn, and get involved in OpenTelemetry. From 2cbd14369fdbdb2c1c9c3dcceb099b0c39c8d204 Mon Sep 17 00:00:00 2001 From: Patrice Chalin Date: Thu, 7 Mar 2024 02:59:25 -0500 Subject: [PATCH 08/16] Add Public Analytics Dashboard to footer & Community pg (#4102) --- hugo.yaml | 4 ++++ static/refcache.json | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/hugo.yaml b/hugo.yaml index e12e049dd3d2..cac33d3e05de 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -110,6 +110,10 @@ params: url: https://docs.google.com/spreadsheets/d/1SYKfjYhZdm2Wh2Cl6KVQalKg_m4NhTPZqq-8SzEVO6s icon: fas fa-video desc: Watch our meeting recordings on Zoom Cloud + - name: Site analytics + url: https://lookerstudio.google.com/s/tSTKxK1ECeU + icon: fa-solid fa-chart-line + desc: Google analytics for opentelemetry.io developer: - name: GitHub url: https://github.com/open-telemetry diff --git a/static/refcache.json b/static/refcache.json index b0738208fda9..fa1dd7a58d81 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -4811,6 +4811,10 @@ "StatusCode": 200, "LastSeen": "2024-01-18T08:53:04.208962-05:00" }, + "https://lookerstudio.google.com/s/tSTKxK1ECeU": { + "StatusCode": 200, + "LastSeen": "2024-03-06T14:56:05.033361-05:00" + }, "https://loom.com": { "StatusCode": 206, "LastSeen": "2024-01-30T05:18:46.161548-05:00" From ffb4ca28e6b2119694fb626f9b5237bdc906997b Mon Sep 17 00:00:00 2001 From: Diego Hurtado Date: Thu, 7 Mar 2024 07:58:48 -0600 Subject: [PATCH 09/16] Add Python benchmarks page (#3754) Co-authored-by: Phillip Carter --- .../en/docs/languages/python/benchmarks.md | 189 ++++++++++++++++++ static/refcache.json | 8 + 2 files changed, 197 insertions(+) create mode 100644 content/en/docs/languages/python/benchmarks.md diff --git a/content/en/docs/languages/python/benchmarks.md b/content/en/docs/languages/python/benchmarks.md new file mode 100644 index 000000000000..39fc1fd2e8f8 --- /dev/null +++ b/content/en/docs/languages/python/benchmarks.md @@ -0,0 +1,189 @@ +--- +title: Benchmarks +weight: 190 +cSpell:ignore: Elems rrggbbaa +--- + + + +The OpenTelemetry Python SDK runs benchmark tests on every commit to the +[opentelemetry-python](https://github.com/open-telemetry/opentelemetry-python/) +repository. The intent of these tests is to track performance trend of critical +operations over time. These test are not a replacement for end-to-end +performance testing. + +
+
+
+ + + + + + diff --git a/static/refcache.json b/static/refcache.json index fa1dd7a58d81..9d4e650964b0 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -3623,6 +3623,10 @@ "StatusCode": 200, "LastSeen": "2024-01-18T19:37:26.943394-05:00" }, + "https://github.com/open-telemetry/opentelemetry-python/": { + "StatusCode": 200, + "LastSeen": "2024-01-10T11:27:53.222542-08:00" + }, "https://github.com/open-telemetry/opentelemetry-python/releases": { "StatusCode": 200, "LastSeen": "2024-01-18T19:37:21.997322-05:00" @@ -5311,6 +5315,10 @@ "StatusCode": 206, "LastSeen": "2024-01-30T16:05:22.694888-05:00" }, + "https://open-telemetry.github.io/opentelemetry-python/benchmarks/data.js": { + "StatusCode": 206, + "LastSeen": "2024-01-10T11:27:53.867156-08:00" + }, "https://open.spotify.com/episode/5YrBEsXoJV3UjrHRrLRqBP": { "StatusCode": 200, "LastSeen": "2024-01-30T15:37:15.579021-05:00" From 0b86a2df4be37ccbd77ea4ae210696137d005972 Mon Sep 17 00:00:00 2001 From: Rajat Khanna Date: Thu, 7 Mar 2024 19:59:42 +0530 Subject: [PATCH 10/16] Improve JS Instrumentation Docs (#4096) Co-authored-by: Trent Mick --- assets/js/tracing.js | 4 +- content/en/docs/demo/services/frontend.md | 17 +++-- .../en/docs/languages/js/instrumentation.md | 62 ++++++++++++------- content/en/docs/languages/js/libraries.md | 18 ++++-- content/en/docs/languages/js/resources.md | 10 +-- content/en/docs/languages/js/serverless.md | 4 +- 6 files changed, 69 insertions(+), 46 deletions(-) diff --git a/assets/js/tracing.js b/assets/js/tracing.js index 54f21a265280..b95c01017703 100644 --- a/assets/js/tracing.js +++ b/assets/js/tracing.js @@ -7,7 +7,7 @@ import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations import { registerInstrumentations } from '@opentelemetry/instrumentation'; import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'; import { Resource } from '@opentelemetry/resources'; -import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; +import { SEMRESATTRS_SERVICE_NAME } from '@opentelemetry/semantic-conventions'; import { ZoneContextManager } from '@opentelemetry/context-zone-peer-dep'; const collectorOptions = { @@ -16,7 +16,7 @@ const collectorOptions = { const exporter = new OTLPTraceExporter(collectorOptions); const resources = new Resource({ - [SemanticResourceAttributes.SERVICE_NAME]: 'opentelemetry.io', + [SEMRESATTRS_SERVICE_NAME]: 'opentelemetry.io', 'browser.language': navigator.language, }); diff --git a/content/en/docs/demo/services/frontend.md b/content/en/docs/demo/services/frontend.md index 0de53609368b..c370adecbd81 100644 --- a/content/en/docs/demo/services/frontend.md +++ b/content/en/docs/demo/services/frontend.md @@ -124,12 +124,12 @@ span = tracer.startSpan(`HTTP ${method}`, { links: [{ context: syntheticSpan.spanContext() }], attributes: { 'app.synthetic_request': true, - [SemanticAttributes.HTTP_TARGET]: target, - [SemanticAttributes.HTTP_STATUS_CODE]: response.statusCode, - [SemanticAttributes.HTTP_METHOD]: method, - [SemanticAttributes.HTTP_USER_AGENT]: headers['user-agent'] || '', - [SemanticAttributes.HTTP_URL]: `${headers.host}${url}`, - [SemanticAttributes.HTTP_FLAVOR]: httpVersion, + [SEMATTRS_HTTP_TARGET]: target, + [SEMATTRS_HTTP_STATUS_CODE]: response.statusCode, + [SEMATTRS_HTTP_METHOD]: method, + [SEMATTRS_HTTP_USER_AGENT]: headers['user-agent'] || '', + [SEMATTRS_HTTP_URL]: `${headers.host}${url}`, + [SEMATTRS_HTTP_FLAVOR]: httpVersion, }, }); ``` @@ -168,7 +168,7 @@ import { SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base'; import { registerInstrumentations } from '@opentelemetry/instrumentation'; import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web'; import { Resource } from '@opentelemetry/resources'; -import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; +import { SEMRESATTRS_SERVICE_NAME } from '@opentelemetry/semantic-conventions'; import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'; const FrontendTracer = async () => { @@ -176,8 +176,7 @@ const FrontendTracer = async () => { const provider = new WebTracerProvider({ resource: new Resource({ - [SemanticResourceAttributes.SERVICE_NAME]: - process.env.NEXT_PUBLIC_OTEL_SERVICE_NAME, + [SEMRESATTRS_SERVICE_NAME]: process.env.NEXT_PUBLIC_OTEL_SERVICE_NAME, }), }); diff --git a/content/en/docs/languages/js/instrumentation.md b/content/en/docs/languages/js/instrumentation.md index ce15570ae37b..af43bf0a6ef7 100644 --- a/content/en/docs/languages/js/instrumentation.md +++ b/content/en/docs/languages/js/instrumentation.md @@ -222,12 +222,15 @@ import { ConsoleMetricExporter, } from '@opentelemetry/sdk-metrics'; import { Resource } from '@opentelemetry/resources'; -import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; +import { + SEMRESATTRS_SERVICE_NAME, + SEMRESATTRS_SERVICE_VERSION, +} from '@opentelemetry/semantic-conventions'; const sdk = new NodeSDK({ resource: new Resource({ - [SemanticResourceAttributes.SERVICE_NAME]: 'yourServiceName', - [SemanticResourceAttributes.SERVICE_VERSION]: '1.0', + [SEMRESATTRS_SERVICE_NAME]: 'yourServiceName', + [SEMRESATTRS_SERVICE_VERSION]: '1.0', }), traceExporter: new ConsoleSpanExporter(), metricReader: new PeriodicExportingMetricReader({ @@ -250,13 +253,14 @@ const { } = require('@opentelemetry/sdk-metrics'); const { Resource } = require('@opentelemetry/resources'); const { - SemanticResourceAttributes, + SEMRESATTRS_SERVICE_NAME, + SEMRESATTRS_SERVICE_VERSION, } = require('@opentelemetry/semantic-conventions'); const sdk = new NodeSDK({ resource: new Resource({ - [SemanticResourceAttributes.SERVICE_NAME]: 'dice-server', - [SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0', + [SEMRESATTRS_SERVICE_NAME]: 'dice-server', + [SEMRESATTRS_SERVICE_VERSION]: '0.1.0', }), traceExporter: new ConsoleSpanExporter(), metricReader: new PeriodicExportingMetricReader({ @@ -347,7 +351,10 @@ SDK initialization code in it: ```ts import { Resource } from '@opentelemetry/resources'; -import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; +import { + SEMRESATTRS_SERVICE_NAME, + SEMRESATTRS_SERVICE_VERSION, +} from '@opentelemetry/semantic-conventions'; import { WebTracerProvider } from '@opentelemetry/sdk-trace-web'; import { BatchSpanProcessor, @@ -356,8 +363,8 @@ import { const resource = Resource.default().merge( new Resource({ - [SemanticResourceAttributes.SERVICE_NAME]: 'service-name-here', - [SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0', + [SEMRESATTRS_SERVICE_NAME]: 'service-name-here', + [SEMRESATTRS_SERVICE_VERSION]: '0.1.0', }), ); @@ -377,7 +384,8 @@ provider.register(); const opentelemetry = require('@opentelemetry/api'); const { Resource } = require('@opentelemetry/resources'); const { - SemanticResourceAttributes, + SEMRESATTRS_SERVICE_NAME, + SEMRESATTRS_SERVICE_VERSION, } = require('@opentelemetry/semantic-conventions'); const { WebTracerProvider } = require('@opentelemetry/sdk-trace-web'); const { @@ -387,8 +395,8 @@ const { const resource = Resource.default().merge( new Resource({ - [SemanticResourceAttributes.SERVICE_NAME]: 'service-name-here', - [SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0', + [SEMRESATTRS_SERVICE_NAME]: 'service-name-here', + [SEMRESATTRS_SERVICE_VERSION]: '0.1.0', }), ); @@ -933,13 +941,19 @@ Add the following to the top of your application file: {{< tabpane text=true >}} {{% tab TypeScript %}} ```ts -import { SemanticAttributes } from '@opentelemetry/semantic-conventions'; +import { + SEMATTRS_CODE_FUNCTION, + SEMATTRS_CODE_FILEPATH, +} from '@opentelemetry/semantic-conventions'; ``` {{% /tab %}} {{% tab JavaScript %}} ```js -const { SemanticAttributes } = require('@opentelemetry/semantic-conventions'); +const { + SEMATTRS_CODE_FUNCTION, + SEMATTRS_CODE_FILEPATH, +} = require('@opentelemetry/semantic-conventions'); ``` {{% /tab %}} {{< /tabpane >}} @@ -949,8 +963,8 @@ Finally, you can update your file to include semantic attributes: ```javascript const doWork = () => { tracer.startActiveSpan('app.doWork', (span) => { - span.setAttribute(SemanticAttributes.CODE_FUNCTION, 'doWork'); - span.setAttribute(SemanticAttributes.CODE_FILEPATH, __filename); + span.setAttribute(SEMATTRS_CODE_FUNCTION, 'doWork'); + span.setAttribute(SEMATTRS_CODE_FILEPATH, __filename); // Do some work... @@ -1244,12 +1258,15 @@ import { PeriodicExportingMetricReader, } from '@opentelemetry/sdk-metrics'; import { Resource } from '@opentelemetry/resources'; -import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; +import { + SEMRESATTRS_SERVICE_NAME, + SEMRESATTRS_SERVICE_VERSION, +} from '@opentelemetry/semantic-conventions'; const resource = Resource.default().merge( new Resource({ - [SemanticResourceAttributes.SERVICE_NAME]: 'dice-server', - [SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0', + [SEMRESATTRS_SERVICE_NAME]: 'dice-server', + [SEMRESATTRS_SERVICE_VERSION]: '0.1.0', }), ); @@ -1279,13 +1296,14 @@ const { } = require('@opentelemetry/sdk-metrics'); const { Resource } = require('@opentelemetry/resources'); const { - SemanticResourceAttributes, + SEMRESATTRS_SERVICE_NAME, + SEMRESATTRS_SERVICE_VERSION, } = require('@opentelemetry/semantic-conventions'); const resource = Resource.default().merge( new Resource({ - [SemanticResourceAttributes.SERVICE_NAME]: 'service-name-here', - [SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0', + [SEMRESATTRS_SERVICE_NAME]: 'service-name-here', + [SEMRESATTRS_SERVICE_VERSION]: '0.1.0', }), ); diff --git a/content/en/docs/languages/js/libraries.md b/content/en/docs/languages/js/libraries.md index a7994d7b5894..f8aa2e059090 100644 --- a/content/en/docs/languages/js/libraries.md +++ b/content/en/docs/languages/js/libraries.md @@ -220,7 +220,10 @@ with a request hook: ```typescript import { Span } from '@opentelemetry/api'; -import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; +import { + SEMATTRS_HTTP_METHOD, + SEMATTRS_HTTP_URL, +} from '@opentelemetry/semantic-conventions'; import { ExpressInstrumentation, ExpressLayerType, @@ -230,8 +233,8 @@ import { const expressInstrumentation = new ExpressInstrumentation({ requestHook: function (span: Span, info: ExpressRequestInfo) { if (info.layerType === ExpressLayerType.REQUEST_HANDLER) { - span.setAttribute(SemanticAttributes.HTTP_METHOD, info.request.method); - span.setAttribute(SemanticAttributes.HTTP_URL, info.request.baseUrl); + span.setAttribute(SEMATTRS_HTTP_METHOD, info.request.method); + span.setAttribute(SEMATTRS_HTTP_URL, info.request.baseUrl); } }, }); @@ -243,7 +246,10 @@ const expressInstrumentation = new ExpressInstrumentation({ ```javascript /*instrumentation.js*/ -const { SemanticAttributes } = require('@opentelemetry/semantic-conventions'); +const { + SEMATTRS_HTTP_METHOD, + SEMATTRS_HTTP_URL, +} = require('@opentelemetry/semantic-conventions'); const { ExpressInstrumentation, ExpressLayerType, @@ -252,8 +258,8 @@ const { const expressInstrumentation = new ExpressInstrumentation({ requestHook: function (span, info) { if (info.layerType === ExpressLayerType.REQUEST_HANDLER) { - span.setAttribute(SemanticAttributes.HTTP_METHOD, info.request.method); - span.setAttribute(SemanticAttributes.HTTP_URL, info.request.baseUrl); + span.setAttribute(SEMATTRS_HTTP_METHOD, info.request.method); + span.setAttribute(SEMATTRS_HTTP_URL, info.request.baseUrl); } }, }); diff --git a/content/en/docs/languages/js/resources.md b/content/en/docs/languages/js/resources.md index 1bd3fcb274f0..7972a35f5a75 100644 --- a/content/en/docs/languages/js/resources.md +++ b/content/en/docs/languages/js/resources.md @@ -92,15 +92,15 @@ configuration option, where you can set them. For example you can update the ```javascript ... const { Resource } = require('@opentelemetry/resources'); -const { SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions'); +const { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_NAMESPACE, SEMRESATTRS_SERVICE_VERSION, SEMRESATTRS_SERVICE_INSTANCE_ID } = require('@opentelemetry/semantic-conventions'); ... const sdk = new opentelemetry.NodeSDK({ ... resource: new Resource({ - [ SemanticResourceAttributes.SERVICE_NAME ]: "yourServiceName", - [ SemanticResourceAttributes.SERVICE_NAMESPACE ]: "yourNameSpace", - [ SemanticResourceAttributes.SERVICE_VERSION ]: "1.0", - [ SemanticResourceAttributes.SERVICE_INSTANCE_ID ]: "my-instance-id-1", + [ SEMRESATTRS_SERVICE_NAME ]: "yourServiceName", + [ SEMRESATTRS_SERVICE_NAMESPACE ]: "yourNameSpace", + [ SEMRESATTRS_SERVICE_VERSION ]: "1.0", + [ SEMRESATTRS_SERVICE_INSTANCE_ID ]: "my-instance-id-1", }) ... }); diff --git a/content/en/docs/languages/js/serverless.md b/content/en/docs/languages/js/serverless.md index fdb83abc2fe5..629d26fe292d 100644 --- a/content/en/docs/languages/js/serverless.md +++ b/content/en/docs/languages/js/serverless.md @@ -228,7 +228,7 @@ service. Please make sure that you provide a `SERVICE_NAME` and that you set the const { Resource } = require('@opentelemetry/resources'); const { - SemanticResourceAttributes, + SEMRESATTRS_SERVICE_NAME, } = require('@opentelemetry/semantic-conventions'); const api = require('@opentelemetry/api'); const { BatchSpanProcessor } = require('@opentelemetry/sdk-trace-base'); @@ -243,7 +243,7 @@ const { const providerConfig = { resource: new Resource({ - [SemanticResourceAttributes.SERVICE_NAME]: '', + [SEMRESATTRS_SERVICE_NAME]: '', }), }; From 799656266c698e7ae3c8107ebfb98f7a4e6be4f2 Mon Sep 17 00:00:00 2001 From: Tiffany Hrabusa <30397949+tiffany76@users.noreply.github.com> Date: Thu, 7 Mar 2024 06:36:17 -0800 Subject: [PATCH 11/16] Move Collector architecture documentation and diagrams from Github to opentelemetry.io (#4029) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Severin Neumann Co-authored-by: Fabrizio Ferri-Benedetti Co-authored-by: Juraci Paixão Kröhling Co-authored-by: Phillip Carter --- content/en/docs/collector/architecture.md | 427 ++++++++++++++++++++++ static/refcache.json | 4 + 2 files changed, 431 insertions(+) create mode 100644 content/en/docs/collector/architecture.md diff --git a/content/en/docs/collector/architecture.md b/content/en/docs/collector/architecture.md new file mode 100644 index 000000000000..3a0073f95ab5 --- /dev/null +++ b/content/en/docs/collector/architecture.md @@ -0,0 +1,427 @@ +--- +title: Architecture +weight: 28 +cSpell:ignore: fanoutconsumer probabilisticsampler spanmetrics zpages +--- + +The OpenTelemetry Collector is an executable file that can receive telemetry, +process it, and export it to multiple targets, such as observability backends. + +The Collector supports several popular open source protocols for receiving and +sending telemetry data, and it offers an extensible architecture for adding more +protocols. + +Data receiving, processing, and exporting are done using +[pipelines](#pipelines). You can configure the Collector to have one or more +pipelines. + +Each pipeline includes the following: + +- A set of [receivers](#receivers) that collect the data. +- A series of optional [processors](#processors) that get the data from + receivers and process it. +- A set of [exporters](#exporters) which get the data from processors and send + it outside the Collector. + +The same receiver can be included in multiple pipelines and multiple pipelines +can include the same exporter. + +## Pipelines + +A pipeline defines a path that data follows in the Collector: from reception, to +processing (or modification), and finally to export. + +Pipelines can operate on three telemetry data types: traces, metrics, and logs. +The data type is a property of the pipeline defined by its configuration. +Receivers, processors, and exporters used in a pipeline must support the +particular data type, otherwise the `ErrDataTypeIsNotSupported` exception is +reported when the configuration loads. + +The following diagram represents a typical pipeline: + +```mermaid +--- +title: Pipeline +--- +flowchart LR + R1(Receiver 1) --> P1[Processor 1] + R2(Receiver 2) --> P1 + RM(...) ~~~ P1 + RN(Receiver N) --> P1 + P1 --> P2[Processor 2] + P2 --> PM[...] + PM --> PN[Processor N] + PN --> FO((fan-out)) + FO --> E1[[Exporter 1]] + FO --> E2[[Exporter 2]] + FO ~~~ EM[[...]] + FO --> EN[[Exporter N]] + + %% The stroke color matches the website header. + classDef default fill:#e3e8fc,stroke:#4f62ad +``` + +Pipelines can have one or more receivers. Data from all receivers is pushed to +the first processor, which processes the data and then pushes it to the next +processor. A processor might also drop the data if it's sampling or filtering. +This continues until the last processor in the pipeline pushes the data to the +exporters. Each exporter gets a copy of each data element. The last processor +uses a `fanoutconsumer` to send the data to multiple exporters. + +The pipeline is constructed during Collector startup based on pipeline +definition in the configuration. + +A pipeline configuration typically looks like this: + +```yaml +service: + pipelines: # section that can contain multiple subsections, one per pipeline + traces: # type of the pipeline + receivers: [otlp, zipkin] + processors: [memory_limiter, batch] + exporters: [otlp, zipkin] +``` + +The previous example defines a pipeline for the traces type of telemetry data, +with three receivers, two processors, and three exporters. + +### Receivers + +Receivers typically listen on a network port and receive telemetry data. They +can also actively obtain data, like scrapers. Usually one receiver is configured +to send received data to one pipeline. However, it is also possible to configure +the same receiver to send the same received data to multiple pipelines. This can +be done by listing the same receiver in the `receivers` key of several +pipelines: + +```yaml +receivers: + otlp: + protocols: + grpc: + endpoint: localhost:4317 + +service: + pipelines: + traces: # a pipeline of “traces” type + receivers: [otlp] + processors: [memory_limiter, batch] + exporters: [otlp] + traces/2: # another pipeline of “traces” type + receivers: [otlp] + processors: [transform] + exporters: [otlp] +``` + +In the above example, `otlp` receiver will send the same data to pipeline +`traces` and to pipeline `traces/2`. + +> The configuration uses composite key names in the form of `type[/name]`. + +When the Collector loads this config, the result looks like this diagram (part +of processors and exporters are omitted for brevity): + +```mermaid +flowchart LR + R1("`#quot;opentelemetry-collector#quot; Receiver`") --> FO((fan-out)) + FO -->|Pipeline 'traces'| P1["`#quot;memory_limiter#quot; Processor`"] + FO -->|Pipeline 'traces/2'| P2["`#quot;transform#quot; Processor`"] + P1 ~~~ M1[...] + P2 ~~~ M2[...] + + classDef default fill:#e3e8fc,stroke:#4f62ad; +``` + +{{% alert title="Important" color="warning" %}} + +When the same receiver is referenced in more than one pipeline, the Collector +creates only one receiver instance at runtime that sends the data to a fan-out +consumer. The fan-out consumer in turn sends the data to the first processor of +each pipeline. The data propagation from receiver to the fan-out consumer and +then to processors is completed using a synchronous function call. This means +that if one processor blocks the call, the other pipelines attached to this +receiver are blocked from receiving the same data, and the receiver itself stops +processing and forwarding newly received data. + +{{% /alert %}} + +### Exporters + +Exporters typically forward the data they get to a destination on a network, but +they can also send the data elsewhere. For example, `debug` exporter writes the +telemetry data to the logging destination. + +The configuration allows for multiple exporters of the same type, even in the +same pipeline. For example, you can have two `otlp` exporters defined, each one +sending to a different OTLP endpoint: + +```yaml +exporters: + otlp/1: + endpoint: example.com:4317 + otlp/2: + endpoint: localhost:14317 +``` + +An exporter usually gets the data from one pipeline. However, you can configure +multiple pipelines to send data to the same exporter: + +```yaml +exporters: + otlp: + protocols: + grpc: + endpoint: localhost:14250 + +service: + pipelines: + traces: # a pipeline of “traces” type + receivers: [zipkin] + processors: [memory_limiter] + exporters: [otlp] + traces/2: # another pipeline of “traces” type + receivers: [otlp] + processors: [transform] + exporters: [otlp] +``` + +In the above example, `otlp` exporter gets data from pipeline `traces` and from +pipeline `traces/2`. When the Collector loads this config, the result looks like +this diagram (part of processors and receivers are omitted for brevity): + +```mermaid +flowchart LR + M1[...] ~~~ P1["`#quot;memory_limiter#quot; Processor`"] + M2[...] ~~~ P2["`#quot;transform#quot; Processor`"] + P1 -->|Pipeline 'traces'|E1[["`#quot;otlp#quot; Exporter`"]] + P2 -->|Pipeline 'traces/2'|E1 + + classDef default fill:#e3e8fc,stroke:#4f62ad; +``` + +### Processors + +A pipeline can contain sequentially connected processors. The first processor +gets the data from one or more receivers that are configured for the pipeline, +and the last processor sends the data to one or more exporters that are +configured for the pipeline. All processors between the first and last receive +the data from only one preceding processor and send data to only one succeeding +processor. + +Processors can transform the data before forwarding it, such as adding or +removing attributes from spans. They can also drop the data by deciding not to +forward it (for example, the `probabilisticsampler` processor). Or they can +generate new data, as the `spanmetrics` processor does by producing metrics for +spans processed by the pipeline. + +The same name of the processor can be referenced in the `processors` key of +multiple pipelines. In this case, the same configuration is used for each of +these processors, but each pipeline always gets its own instance of the +processor. Each of these processors has its own state, and the processors are +never shared between pipelines. For example, if `batch` processor is used in +several pipelines, each pipeline has its own batch processor, but each batch +processor is configured exactly the same way if they reference the same key in +the configuration. See the following configuration: + +```yaml +processors: + batch: + send_batch_size: 10000 + timeout: 10s + +service: + pipelines: + traces: # a pipeline of “traces” type + receivers: [zipkin] + processors: [batch] + exporters: [otlp] + traces/2: # another pipeline of “traces” type + receivers: [otlp] + processors: [batch] + exporters: [otlp] +``` + +When the Collector loads this config, the result looks like this diagram: + +```mermaid +--- +title: Pipeline "traces" +--- +flowchart LR + R1("`zipkin Receiver`") --> P1["`#quot;batch#quot; Processor`"] + P1 --> E1[["`#quot;otlp#quot; Exporter`"]] + + classDef default fill:#e3e8fc,stroke:#4f62ad; +``` + +```mermaid +--- +title: Pipeline "traces/2" +--- +flowchart LR + R1("`otlp Receiver`") --> P1["`#quot;batch#quot; Processor`"] + P1 --> E1[["`#quot;otlp#quot; Exporter`"]] + + classDef default fill:#e3e8fc,stroke:#4f62ad; +``` + +Note that each `batch` processor is an independent instance, although they are +configured the same way with a `send_batch_size` of `10000`. + +> The same name of the processor must not be referenced multiple times in the +> `processors` key of a single pipeline. + +## Running as an agent + +On a typical VM/container, user applications are running in some processes/pods +with an OpenTelemetry library. Previously, the library did all the recording, +collecting, sampling, and aggregation of traces, metrics, and logs, and then +either exported the data to other persistent storage backends through the +library exporters, or displayed it on local zpages. This pattern has several +drawbacks, for example: + +1. For each OpenTelemetry library, exporters and zpages must be re-implemented + in native languages. +2. In some programming languages (for example, Ruby or PHP), it is difficult to + do the stats aggregation in process. +3. To enable exporting of OpenTelemetry spans, stats, or metrics, application + users need to manually add library exporters and redeploy their binaries. + This is especially difficult when an incident has occurred, and users want to + use OpenTelemetry to investigate the issue right away. +4. Application users need to take the responsibility for configuring and + initializing exporters. These tasks are error-prone (for example, setting up + incorrect credentials or monitored resources), and users may be reluctant to + “pollute” their code with OpenTelemetry. + +To resolve the issues above, you can run OpenTelemetry Collector as an agent. +The agent runs as a daemon in the VM/container and can be deployed independent +of the library. Once the agent is deployed and running, it should be able to +retrieve traces, metrics, and logs from the library, and export them to other +backends. We may also give the agent the ability to push configurations (such as +sampling probability) to the library. For those languages that cannot do stats +aggregation in process, they can send raw measurements and have the agent do the +aggregation. + +```mermaid +flowchart LR + subgraph S1 ["#nbsp;"] + subgraph S2 ["#nbsp;"] + end + subgraph S3 ["#nbsp;"] + subgraph VM [VM] + PR["Process [Library]"] -->|Push sample spans, metrics| AB[Agent Binary] + AB -->|Push configs| PR + end + subgraph K8s-pod [K8s Pod] + AC["`App Container [Library]`"] --> AS[Agent Sidecar] + AS --> AC + end + subgraph K8s-node [K8s Node] + subgraph Pod1 [Pod] + APP1[App] ~~~ APP2[App] + end + subgraph Pod2 [Pod] + APP3[App] ~~~ APP4[App] + end + subgraph Pod3 [Pod] + APP5[App] ~~~ APP6[App] + end + subgraph AD [Agent Daemonset] + end + APP1 --> AD + APP2 --> AD + APP4 --> AD + APP6 --> AD + end + end + subgraph Backends ["#nbsp;"] + AB --> BE[Backend] + AS --> PRM[Prometheus Backend] + AS --> JA[Jaeger Backend] + AD --> JA + end + end + +class S1,S2,S3 noLines; +class VM,K8s-pod,K8s-node,Pod1,Pod2,Pod3,Backends withLines; +class PR,AB,AC,AS,APP1,APP2,APP3,APP4,APP5,APP6,AD,BE,PRM,JA nodeStyle +classDef noLines fill:#fff,stroke:#fff,stroke-width:4px; +classDef withLines fill:#fff,stroke:#4f62ad +classDef nodeStyle fill:#e3e8fc,stroke:#4f62ad; +``` + +> For developers and maintainers of other libraries: By adding specific +> receivers, you can configure an agent to accept traces, metrics, and logs from +> other tracing/monitoring libraries, such as Zipkin, Prometheus, etc. See +> [Receivers](#receivers) for details. + +## Running as a gateway + +The OpenTelemetry Collector can run as a gateway instance and receive spans and +metrics exported by one or more agents or libraries or by tasks/agents that emit +in one of the supported protocols. The Collector is configured to send data to +the configured exporter(s). The following figure summarizes the deployment +architecture: + +```mermaid +flowchart LR + subgraph S1 ["#nbsp;"] + subgraph S2 ["#nbsp;"] + subgraph S3 ["#nbsp;"] + subgraph VM [VM] + PR["Process [Library]"] + end + subgraph K8s-pod [K8s Pod] + AC["`App Container [Library]`"] + end + subgraph K8s-node [K8s Node] + subgraph Pod1 [Pod] + APP1[App] ~~~ APP2[App] + end + subgraph Pod2 [Pod] + APP3[App] ~~~ APP4[App] + end + subgraph Pod3 [Pod] + APP5[App] ~~~ APP6[App] + end + subgraph AD [Agent Daemonset] + end + APP1 --> AD + APP2 --> AD + APP4 --> AD + APP6 --> AD + end + end + subgraph S4 ["#nbsp;"] + PR --> OTEL["`OpenTelemetry Collector Service`"] + AC --> OTEL + AD --> OTEL + OTEL ---> BE[Backend X] + end + end + subgraph S5 ["#nbsp;"] + subgraph S6 ["#nbsp;"] + JA[Jaeger Backend] + end + subgraph S7 ["#nbsp;"] + PRM[Prometheus Backend] + end + end + JA ~~~ PRM + OTEL --> JA + OTEL --> PRM + end + +class S1,S3,S4,S5,S6,S7,S8 noLines; +class VM,K8s-pod,K8s-node,Pod1,Pod2,Pod3 withLines; +class S2 lightLines +class PR,AC,APP1,APP2,APP3,APP4,APP5,APP6,AD,OTEL,BE,JA,PRM nodeStyle +classDef noLines fill:#fff,stroke:#fff,stroke-width:4px; +classDef withLines fill:#fff,stroke:#4f62ad +classDef lightLines fill:#fff,stroke:#acaeb0 +classDef nodeStyle fill:#e3e8fc,stroke:#4f62ad; +``` + +The OpenTelemetry Collector can also be deployed in other configurations, such +as receiving data from other agents or clients in one of the formats supported +by its receivers. diff --git a/static/refcache.json b/static/refcache.json index 9d4e650964b0..28ee56952be7 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -1055,6 +1055,10 @@ "StatusCode": 200, "LastSeen": "2024-01-30T16:05:16.715217-05:00" }, + "https://docs.google.com/document/d/1NeheFG7DmcUYo_h2vLtNRlia9x5wOJMlV4QKEK05FhQ/edit": { + "StatusCode": 200, + "LastSeen": "2024-02-27T14:54:30.958263-08:00" + }, "https://docs.google.com/document/d/1Unbs2qp_j5kp8FfL_lRH-ld7i5EOQpsq0I4djkOOSL4/": { "StatusCode": 200, "LastSeen": "2024-01-30T16:05:22.514127-05:00" From b2a38a2dc81703eadfcc425adec547433863a589 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Thu, 7 Mar 2024 16:51:10 +0100 Subject: [PATCH 12/16] fix broken builds (#4108) Signed-off-by: svrnm --- assets/js/tracing.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/js/tracing.js b/assets/js/tracing.js index b95c01017703..54f21a265280 100644 --- a/assets/js/tracing.js +++ b/assets/js/tracing.js @@ -7,7 +7,7 @@ import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations import { registerInstrumentations } from '@opentelemetry/instrumentation'; import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'; import { Resource } from '@opentelemetry/resources'; -import { SEMRESATTRS_SERVICE_NAME } from '@opentelemetry/semantic-conventions'; +import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; import { ZoneContextManager } from '@opentelemetry/context-zone-peer-dep'; const collectorOptions = { @@ -16,7 +16,7 @@ const collectorOptions = { const exporter = new OTLPTraceExporter(collectorOptions); const resources = new Resource({ - [SEMRESATTRS_SERVICE_NAME]: 'opentelemetry.io', + [SemanticResourceAttributes.SERVICE_NAME]: 'opentelemetry.io', 'browser.language': navigator.language, }); From 40b52ed2912f1e4fc90b25a5ee8b4e40b7ff1b42 Mon Sep 17 00:00:00 2001 From: Willie Abrams Date: Thu, 7 Mar 2024 13:14:46 -0600 Subject: [PATCH 13/16] point out that environmental variable support is optional (#4099) --- content/en/docs/languages/sdk-configuration/general.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/en/docs/languages/sdk-configuration/general.md b/content/en/docs/languages/sdk-configuration/general.md index d1f238ec25cf..06343f6c7d34 100644 --- a/content/en/docs/languages/sdk-configuration/general.md +++ b/content/en/docs/languages/sdk-configuration/general.md @@ -5,6 +5,14 @@ aliases: [general-sdk-configuration] cSpell:ignore: ottrace --- +{{% alert title="Note" color="info" %}} + +Support for environment variables is optional. For detailed information on which +environment variables each language implementation supports, please consult the +[Implementation Compliance Matrix](https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md#environment-variables). + +{{% /alert %}} + ## `OTEL_SERVICE_NAME` Sets the value of the [`service.name`](/docs/specs/semconv/resource/#service) From 7b278c7ad434860eacf438df26608788d81dae73 Mon Sep 17 00:00:00 2001 From: Tiffany Hrabusa <30397949+tiffany76@users.noreply.github.com> Date: Fri, 8 Mar 2024 03:10:23 -0800 Subject: [PATCH 14/16] Make copyedits to Contributing index.md (#4110) --- content/en/docs/contributing/_index.md | 58 +++++++++++++------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/content/en/docs/contributing/_index.md b/content/en/docs/contributing/_index.md index 69d7592d94cd..864531771913 100644 --- a/content/en/docs/contributing/_index.md +++ b/content/en/docs/contributing/_index.md @@ -70,7 +70,7 @@ class S,T spacewhite class first,second white ``` -**_Figure - Contributing new content_** +_Figure 1. Contributing new content._ The previous figure presents the basic steps for new docs contributions. @@ -85,7 +85,7 @@ request (PR): ### Changes using GitHub {#changes-using-github} If you're less experienced with Git workflows, here's an easier method of -opening a pull request. Figure 1 outlines the steps and the details follow. +opening a pull request. Figure 2 outlines the steps and the details follow. ```mermaid flowchart LR @@ -115,7 +115,7 @@ class tasks,tasks2 white class id1 k8s ``` -Figure 1. Steps for opening a PR using GitHub. +_Figure 2. Steps for opening a PR using GitHub._ 1. On the page where you see the issue, select the **Edit this page** option in the right-hand side navigation panel. @@ -165,7 +165,7 @@ Make sure you have [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) installed on your computer. You can also use a user interface for Git. -Figure 2 shows the steps to follow when you work from a local fork. The details +Figure 3 shows the steps to follow when you work from a local fork. The details for each step follow. ```mermaid @@ -193,7 +193,7 @@ class S,T spacewhite class changes,changes2 white ``` -Figure 2. Working from a local fork to make your changes. +_Figure 3. Working from a local fork to make your changes._ #### Fork the opentelemetry.io repository @@ -243,7 +243,7 @@ Figure 2. Working from a local fork to make your changes. ``` This makes sure your local repository is up to date before you start making - changes. Push changes from upstream to origin regularly to keep you fork in + changes. Push changes from upstream to origin regularly to keep your fork in sync with upstream. #### Create a branch @@ -307,8 +307,8 @@ When you are ready to submit a pull request, commit your changes. #### Open a pull request from your fork {#open-a-pr} -Figure 3 shows the steps to open a PR from your fork to the -[opentelemetry.io](https://github.com/open-telemetry/opentelemetry.io) . +Figure 4 shows the steps to open a PR from your fork to +[opentelemetry.io](https://github.com/open-telemetry/opentelemetry.io). ```mermaid flowchart LR @@ -333,7 +333,7 @@ class 1,2,3,4,5,6,7,8 grey class first,second white ``` -Figure 3. Steps to open a PR from your fork to the +_Figure 4. Steps to open a PR from your fork to_ [opentelemetry.io](https://github.com/open-telemetry/opentelemetry.io). 1. In a web browser, go to the @@ -350,9 +350,9 @@ Figure 3. Steps to open a PR from your fork to the - **Description**: Describe the change in more detail. - If there is a related GitHub issue, include `Fixes #12345` or - `Closes #12345` in the description. GitHub's automation closes the - mentioned issue after merging the PR if used. If there are other related - PRs, link those as well. + `Closes #12345` in the description so that GitHub's automation closes the + mentioned issue after merging the PR. If there are other related PRs, + link those as well. - If you want advice on something specific, include any questions you'd like reviewers to think about in your description. @@ -365,11 +365,11 @@ After opening a PR, GitHub runs automated tests and tries to deploy a preview using [Netlify](https://www.netlify.com/). - If the Netlify build fails, select **Details** for more information. -- If the Netlify build succeeds, select **Details** opens a staged version of +- If the Netlify build succeeds, select **Details** to open a staged version of the OpenTelemetry website with your changes applied. This is how reviewers check your changes. -Other checks might also fail, see the +Other checks might also fail. See the [list of all PR checks](/docs/contributing/pr-checks). #### Fix content issues automatically @@ -401,28 +401,28 @@ To build and serve the site locally with Hugo, run the following command: npm run serve ``` -Navigate to `https://localhost:1313` in your web browser to see the local -preview. Hugo watches the changes and rebuilds the site as needed. +Navigate to `http://localhost:1313` in your web browser to see the local +preview. Hugo watches for changes and rebuilds the site as needed. To stop the local Hugo instance, go back to the terminal and type `Ctrl+C`, or close the terminal window. #### Site deploys and PR previews -If you submit a PR, Netlify will create 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. -To see deploy logs and more, visit project's [dashboard][] -- Netlify login +To see deploy logs and more, visit the project's [dashboard][] -- Netlify login required. #### PR guidelines -Before a PR gets merged, it will sometimes require a few iterations of +Before a PR gets merged, it sometimes requires a few iterations of review-and-edit. To help us and yourself make this process as easy as possible, -we ask that adhere to the following: +we ask that you adhere to the following: - If your PR isn't a quick fix, then **work from a fork**: Click the [Fork](https://github.com/open-telemetry/opentelemetry.io/fork) button at the @@ -523,21 +523,21 @@ create a merge conflict. You must resolve all merge conflicts in your PR. Pull requests are merged when they comply with the following criteria: - All reviews by approvers, maintainers, technical committee members, or subject - matter experts have the status "Approved" -- No unresolved conversations -- Approved by at least one approver -- No failing PR checks -- PR branch is up-to-date with the base branch + matter experts have the status "Approved". +- No unresolved conversations. +- Approved by at least one approver. +- No failing PR checks. +- PR branch is up-to-date with the base branch. > **Important** > > Do not worry too much about failing PR checks. Community members will help you > to get them fixed, by either providing you with instructions how to fix them -> or by fixing them on your behave. +> or by fixing them on your behalf. ## Open an issue -If you want to suggest improvements to existing content or notice an error, open +If you notice an error or want to suggest improvements to existing content, open an issue. 1. Click the **Create documentation issue** link on any document. This redirects From a3d48b8c1891f66d7c91be425cbee562dac58351 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Fri, 8 Mar 2024 16:40:56 +0100 Subject: [PATCH 15/16] Update opentelemetry-java version to v1.36.0 (#4112) --- content/en/docs/languages/java/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/languages/java/_index.md b/content/en/docs/languages/java/_index.md index fefb4d924c0d..e1d956d12cd2 100644 --- a/content/en/docs/languages/java/_index.md +++ b/content/en/docs/languages/java/_index.md @@ -7,7 +7,7 @@ aliases: [/java, /java/metrics, /java/tracing] cascade: vers: instrumentation: 2.1.0 - otel: 1.35.0 + otel: 1.36.0 semconv: 1.23.1 weight: 18 --- From bbadab967c6cf4dbc1f79c4290cdbdd923a152e7 Mon Sep 17 00:00:00 2001 From: Sy B Date: Sun, 10 Mar 2024 03:08:14 +0000 Subject: [PATCH 16/16] docs: fixed a minor typo in k8s operator docs (#4113) --- content/en/docs/kubernetes/operator/automatic.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/kubernetes/operator/automatic.md b/content/en/docs/kubernetes/operator/automatic.md index 95dba72f2129..1f6947fdc71c 100644 --- a/content/en/docs/kubernetes/operator/automatic.md +++ b/content/en/docs/kubernetes/operator/automatic.md @@ -205,7 +205,7 @@ EOF ``` By default, the Instrumentation resource that auto-instruments Java services -uses `otlp` with the `http+protobuf` protocol. This means that the configured +uses `otlp` with the `http/protobuf` protocol. This means that the configured endpoint must be able to receive OTLP over `http` via `protobuf` payloads. Therefore, the example uses `http://demo-collector:4318`, which connects to the `http` port of the otlpreceiver of the Collector created in the previous step.