Skip to content

Commit

Permalink
Merge branch 'main' into profiling-agent-donation
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexanderWert authored Jun 7, 2024
2 parents 02eaeb6 + 93ab130 commit b508b11
Show file tree
Hide file tree
Showing 7 changed files with 242 additions and 2 deletions.
1 change: 1 addition & 0 deletions .cspell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ words:
- overridable
- outro
- packagist
- pageinfo
- Paixão
- parentbased
- Pavol
Expand Down
133 changes: 133 additions & 0 deletions content/en/docs/contributing/localization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
---
title: Site localization
description:
Guidance on creating and maintaining site page in non-English localizations.
linkTitle: Localization
weight: 20
---

{{% pageinfo color="warning" %}}

🚧 This DRAFT page is under active development. 🚧

{{% /pageinfo %}}

This website uses Hugo's [multilingual framework] to support page localizations.
English is the default language, with US English as the default (implicit) localization.
A growing number of other localizations are supported, as can be seen from the languages
dropdown menu in the top nav.

## Keeping track of localized page drift {#track-changes}

One of the main challenges of maintaining localized pages is identifying when
the corresponding English language pages have been updated. This section
explains how we handle this.

### The `default_lang_commit` front-matter field

When a localized page is written, such as `content/zh/<some-path>/page.md`, this
translation is based on a specific [`main` branch commit][main] of the
corresponding English language version of the page at
`content/en/<some-path>/page.md`. Every localized page identifies this commit in
the page's front matter as follows:

```markdown
---
title: Your localized page title
...

## default_lang_commit: <commit-hash-of-main-for-default-language-page>
```

The front matter above would be in `content/zh/<some-path>/page.md`. The commit
corresponds to the latest commit of `content/en/<some-path>/page.md` in `main`.

### Tracking changes to English pages

As updates are made to English language pages, you can keep track of the
corresponding localized pages that need updating by running the following
command:

```console
$ scripts/i18n-check.sh
1 1 content/en/docs/kubernetes/_index.md - content/zh/docs/kubernetes/_index.md
...
```

Specify the path to your localization to restrict the output, for example:

```sh
scripts/i18n-check.sh content/zh
```

### Viewing change details

For any given localized pages that need updating, you can see the diff details
of the corresponding English language pages by using the `-d` flag and providing
the paths to your localized pages. For example:

```console
$ scripts/i18n-check.sh -d content/zh/docs/kubernetes
diff --git a/content/en/docs/kubernetes/_index.md b/content/en/docs/kubernetes/_index.md
index 3592df5d..c7980653 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
---
```

### Adding `default_lang_commit` to new pages

As you create pages for your localization, remember to add `default_lang_commit`
to the page front matter along with an appropriate commit hash from `main`.

If your translation is based on an English page in `main` at `HEAD`, then run
the following command to automatically add `default_lang_commit` to your page
file's front matter using the commit hash at `HEAD`:

```sh
scripts/i18n-check.sh -u <PATH-TO-YOUR-NEW-FILES>
```

### Updating `default_lang_commit` for existing pages

As you update your localized pages to match changes made to the corresponding
English language page, ensure that you also update the `default_lang_commit`
commit hash.

{{% alert title="Tip" %}}

If your localized page now corresponds to the English language version in `main`
at `HEAD`, then erase the commit hash value in the front matter, and run the
update command given in the previous section to automatically refresh the
`default_lang_commit` field value.

{{% /alert %}}

## New localizations

(Section To Be Completed soon with information about how to propose a new
localization.)

<!--
cSpell:ignore: CODEOWNERSHIP Comms
* Our website supports multiple languages already, so the translated content should live under main/content/<two_letter_code>
* Our point of reference is how kubernetes is doing their localization, see https://github.com/kubernetes/website
* We need at least 2 ppl owning that content, so that changes can be approved (CODEOWNERSHIP will help with that)
* We can start with the translation been hidden until we reach a point where enough material is translated to go live (with maybe some blog post & announcements around it)
* (Please anticipate that this is guidance on not a fixed set of rules)
As stated above this project requires a set of individuals that are happy to take on ownership for their language and work with SIG Comms on implementing this. So any discussion on this page "how to do it" needs to be preceded by a "I volunteer to co-own `<language>`"
-->

[main]: https://github.com/open-telemetry/opentelemetry.io/commits/main/
[multilingual framework]: https://gohugo.io/content-management/multilingual/
1 change: 0 additions & 1 deletion content/en/docs/zero-code/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
title: Zero-code Instrumentation
weight: 260
cSpell:ignore: pageinfo
---

{{% pageinfo color="warning" %}}
Expand Down
10 changes: 10 additions & 0 deletions content/ja/docs/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: ドキュメント
menu: { main: { weight: 10 } }
---

OTelの略称でも知られるOpenTelemetryは、[トレース](/docs/concepts/signals/traces/)[メトリクス](/docs/concepts/signals/metrics/)[ログ](/docs/concepts/signals/logs/)のようなテレメトリーデータを計装、生成、収集、エクスポートするためのベンダー非依存なオープンソースの[オブザーバビリティ](/docs/concepts/observability-primer/#what-is-observability)フレームワークです。

業界標準として、OpenTelemetryは[40以上のオブザーバビリティベンダーによってサポートされ](/ecosystem/vendors/)、多くの[ライブラリ、サービス、アプリ](/ecosystem/integrations)によって統合され、[多くのエンドユーザー](/ecosystem/adopters)によって採用されています。

![OpenTelemetry Reference Architecture](/img/otel-diagram.svg)
79 changes: 79 additions & 0 deletions content/ja/docs/what-is-opentelemetry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: OpenTelemetryとは
description: OpenTelemetryが何であり、何でないかについての簡単な説明。
weight: 150
---

OpenTelemetryは[オブザーバビリティ](/docs/concepts/observability-primer/#what-is-observability)フレームワークであり、[トレース](/docs/concepts/signals/traces/)[メトリクス](/docs/concepts/signals/metrics/)[ログ](/docs/concepts/signals/logs/)のようなテレメトリーデータを作成・管理するためにデザインされたツールキットです。
重要なことは、OpenTelemetryはベンダーやツールにとらわれないということです。
つまり、[Jaeger](https://www.jaegertracing.io/)[Prometheus](https://prometheus.io/)のようなオープンソースツールや、商用製品を含む、さまざまなオブザーバビリティバックエンドで使用できるということです。

OpenTelemetryは、JaegerやPrometheusや他の商用ベンダーのようなオブザーバビリティバックエンドではありません。
OpenTelemetryはテレメトリの生成、収集、管理、そしてエクスポートにフォーカスしています。
OpenTelemetryの主な目的は、あなたのアプリケーションやシステムを、その言語、インフラ、ランタイム環境に関係なく、簡単に計装できるようにすることです。
テレメトリーの保存と可視化は、意図的に他のツールに任せているということを理解するのが重要です。

## オブザーバビリティとはなにか

[オブザーバビリティ](/docs/concepts/observability-primer/#what-is-observability)とは、システムの出力を調べることによって、システムの内部状態を理解する能力のことです。
ソフトウェアの文脈では、これは、トレース、メトリクス、ログを含むテレメトリーデータを調べることによって、システムの内部状態を理解できることを意味します。

システムをオブザーバビリティがある状態にするには、[軽装されて](/docs/concepts/instrumentation)いなければなりません。
つまり、コードが[トレース](/docs/concepts/signals/traces/)[メトリクス](/docs/concepts/signals/metrics/)、または[ログ](/docs/concepts/signals/logs/)を出力しなければなりません。
計装されたデータは、オブザーバビリティバックエンドに送信されなければなりません。

## なぜOpenTelemetryなのか

クラウドコンピューティング、マイクロサービスアーキテクチャー、複雑化するビジネス要件の台頭により、ソフトウェアとインフラの[オブザーバビリティ](/docs/concepts/observability-primer/#what-is-observability)の必要性はかつてないほど高まっています。

OpenTelemetryは、2つの重要な原則に従いながら、オブザーバビリティの需要を満たしています。

1. あなたが生成したデータはあなたのものです。ベンダーのロックインはありません。
2. APIと規約は1セットだけ覚えれば良いです。

この2つの原則を組み合わせることで、現代のコンピューティングの世界で必要とされる柔軟性をチームや組織に与えられます。

もっと知りたければ、OpenTelemetryの[ミッション、ビジョン、バリュー](/community/mission/)を見てください。

## OpenTelemetryの主要コンポーネント

OpenTelemetryは以下の主要コンポーネントで構成されています。

- 全コンポーネントの[仕様](/docs/specs/otel)
- テレメトリーデータの形式を定義する標準[プロトコル](/docs/specs/otlp/)
- 共通のテレメトリーデータ型のための標準の命名スキーマを定義する[セマンティック規約](/docs/specs/semconv/)
- テレメトリーデータの生成方法を定義するAPI
- 仕様、API、テレメトリーデータのエクスポートを実装する[各言語向けSDK](/docs/languages)
- 共通ライブラリやフレームワークの計装を実装する[ライブラリエコシステム](/ecosystem/registry)
- コード変更の必要なくテレメトリーデータを生成する自動計装コンポーネント
- テレメトリーデータの受信、処理、送信のためのプロキシとなる[OpenTelemetryコレクター](/docs/collector)
- [OpenTelemetry Operator for Kubernetes](/docs/kubernetes/operator/)[OpenTelemetry Helm Charts](/docs/kubernetes/helm/)[FaaS向けコミュニティアセット](/docs/faas/)といったその他さまざまなツール

OpenTelemetryは、デフォルトでオブザーバビリティを提供するために、OpenTelemetryが統合されたさまざまな[ライブラリ、サービス、アプリ](/ecosystem/integrations/)によって使用されています。

OpenTelemetryは多くの[ベンダー](/ecosystem/vendors/)によってサポートされており、その多くはOpenTelemetryの商用サポートを提供し、プロジェクトに直接貢献しています。

## 拡張性

OpenTelemetryは拡張できるように設計されています。どのように拡張できるかの例をいくつか挙げます。

- OpenTelemetryコレクターにレシーバーを追加して、独自のデータソースからのテレメトリーデータをサポートする
- カスタム計装ライブラリをSDKにロードする
- 特定のユースケースに合わせたSDKまたはコレクターの[ディストリビューション](/docs/concepts/distributions/)の作成
- OpenTelemetryプロトコル(OTLP)をまだサポートしていないカスタムバックエンド用の新しいエクスポーターの作成
- 非標準のコンテキスト伝播形式用のカスタムプロパゲーターの作成

ほとんどのユーザーはOpenTelemetryを拡張する必要はないかもしれませんが、このプロジェクトはほぼすべてのレベルで拡張できるように設計されています。

## 歴史

OpenTelemetryは、[Cloud Native Computing Foundation (CNCF)](https://www.cncf.io)プロジェクトであり、[OpenTracing](https://opentracing.io)[OpenCensus](https://opencensus.io)の2つのプロジェクトが統合された成果物です。
これらのプロジェクトはどちらも、コードを計装し、オブザーバビリティバックエンドにテレメトリーデータを送信する方法の標準がないという問題を解決するために作られました。
どちらのプロジェクトも、独立してこの問題を完全には解決できなかったので、協力するためにOpenTelemetryプロジェクトとして合併し、単一のソリューションを提供しながら、それぞれの強みを組み合わせました。

現在OpenTracingまたはOpenCensusを使っている場合は、[移行ガイド](/docs/migration/)でOpenTelemetryへの移行方法を確認してください。

## 次のステップ

- [Getting started](/docs/getting-started/) &mdash; 早速始めてみましょう!
- [OpenTelemetryの概念](/docs/concepts/)について学ぶ
12 changes: 11 additions & 1 deletion scripts/i18n-check.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
DEFAULT_LANG="en"
DEFAULT_TARGET="content"
EXTRA_DIFF_ARGS="--numstat"
FLAG_DIFF_DETAILS=""
FLAG_UPDATE=""
FLAG_VERBOSE=""
I18N_DLC_KEY="default_lang_commit"
Expand Down Expand Up @@ -42,6 +43,7 @@ function process_CLI_args() {
usage
;;
d)
FLAG_DIFF_DETAILS=1
EXTRA_DIFF_ARGS=""
;;
u)
Expand Down Expand Up @@ -115,6 +117,10 @@ function main() {
# Get commit hash from git commit info
LASTCOMMIT=$(git log -n 1 --pretty=format:%h -- "$f")
fi
if [[ -z $LASTCOMMIT ]]; then
# Get last commit of `main` that this branch is rooted from.
LASTCOMMIT=$(git merge-base main HEAD)
fi

if [[ -n $FLAG_UPDATE ]]; then
update_i18n_hash "$LASTCOMMIT" "$f"
Expand All @@ -128,8 +134,12 @@ function main() {

DIFF=$(git diff --exit-code $EXTRA_DIFF_ARGS $LASTCOMMIT...HEAD "$EN_VERSION")
if [[ -n "$DIFF" ]]; then # [[ $? -ne 0 ]]
echo "$DIFF - $f"
SYNCED=0
if [[ -n "$FLAG_DIFF_DETAILS" ]]; then
echo -n "$DIFF"
else
echo "$DIFF - $f"
fi
elif [[ -n $FLAG_VERBOSE ]]; then
echo -e "File is in sync\t$f"
fi
Expand Down
8 changes: 8 additions & 0 deletions static/refcache.json
Original file line number Diff line number Diff line change
Expand Up @@ -4271,6 +4271,10 @@
"StatusCode": 200,
"LastSeen": "2024-01-30T16:15:20.42238-05:00"
},
"https://github.com/open-telemetry/opentelemetry.io/commits/main/": {
"StatusCode": 200,
"LastSeen": "2024-06-06T14:51:54.994687-04:00"
},
"https://github.com/open-telemetry/opentelemetry.io/fork": {
"StatusCode": 200,
"LastSeen": "2024-01-30T16:15:47.00387-05:00"
Expand Down Expand Up @@ -4803,6 +4807,10 @@
"StatusCode": 206,
"LastSeen": "2024-01-30T16:05:33.151121-05:00"
},
"https://gohugo.io/content-management/multilingual/": {
"StatusCode": 206,
"LastSeen": "2024-06-06T14:51:47.628909-04:00"
},
"https://golang.org/ref/spec#Slice_types": {
"StatusCode": 200,
"LastSeen": "2024-01-18T19:02:17.04578-05:00"
Expand Down

0 comments on commit b508b11

Please sign in to comment.