Skip to content

Commit

Permalink
Merge branch 'open-telemetry:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
svrnm authored May 16, 2024
2 parents 4ab7355 + 25f69c0 commit a4cf770
Show file tree
Hide file tree
Showing 23 changed files with 743 additions and 43 deletions.
8 changes: 8 additions & 0 deletions .github/component-label-map.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@ blog:
- changed-files:
- any-glob-to-any-file:
- content/en/blog/**
registry:
- changed-files:
- any-glob-to-any-file:
- data/registry/**
lang:zh:
- changed-files:
- any-glob-to-any-file:
- content/zh/**
sig:cpp:
- changed-files:
- any-glob-to-any-file:
Expand Down
9 changes: 5 additions & 4 deletions .htmltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,18 @@ DirectoryPath: public
IgnoreDirectoryMissingTrailingSlash: true
IgnoreAltMissing: true
IgnoreCanonicalBrokenLinks: false
IgnoreInternalEmptyHash: true # TODO: remove after resolution of https://github.com/google/docsy/issues/1995
CheckMailto: false
TestFilesConcurrently: true
IgnoreDirs:
- ^blog/(\d+/)?page/\d+
IgnoreInternalURLs: # list of paths
IgnoreURLs: # list of regexs of paths or URLs to be ignored
- ^/docs/languages/\w+/(api|examples|registry)/$
- ^/docs/collector/registry/$
- ^/docs/languages/net/(metrics-api|traces-api)/
- ^(/zh)?/docs/languages/\w+/(api|examples|registry)/$
- ^(/zh)?/docs/collector/registry/$
- ^(/zh)?/docs/languages/net/(metrics-api|traces-api)/
- ^((/zh)?/docs/migration/)?opencensus/$
- ^/community/end-user/feedback-survey/$
- ^(/docs/migration/)?opencensus/$

- ^https://deploy-preview-\d+--opentelemetry.netlify.app/
- ^https://www\.googletagmanager\.com
Expand Down
3 changes: 3 additions & 0 deletions content/en/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ description: >-
High-quality, ubiquitous, and portable telemetry to enable effective
observability
show_banner: true
outputs:
- HTML
- REDIRECTS # Include this `content/en` ONLY
developer_note:
The blocks/cover shortcode (used below) will use as a background image any
image file containing "background" in its name.
Expand Down
353 changes: 353 additions & 0 deletions content/en/blog/2024/otel-operator-q-and-a/index.md

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 18 additions & 20 deletions content/en/docs/collector/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -609,10 +609,9 @@ Collector issues. It consists of two subsections: `logs` and `metrics`.
The `logs` subsection lets you configure how the logs can be generated by the
Collector. By default, the Collector writes its logs to `stderr` with a log
level of `INFO`. You can also add static key-value pairs to all log entries with
the `initial_fields` to enrich the logging context. As per the `LogsConfig`
defined in v{{%
param vers %}} [here](https://github.com/open-telemetry/opentelemetry-collector/blob/v{{%
param vers %}}/service/telemetry/config.go), the `logs` configuration options are:
the `initial_fields` to enrich the logging context. The [`logs` configuration
options](https://github.com/open-telemetry/opentelemetry-collector/blob/v{{%
param vers %}}/service/telemetry/config.go) are:

- `level`: sets the minimum enabled logging level, default `INFO`.
- `development`: puts the logger in development mode, default `false`.
Expand All @@ -635,17 +634,16 @@ The `metrics` subsection lets you configure how the metrics can be generated and
exposed by the Collector. By default, the Collector generates basic metrics
about itself and expose them for scraping at <http://127.0.0.1:8888/metrics>.
You can expose the endpoint to a specific or even all network interfaces when
needed. As per the `MetricsConfig` defined in v{{%
param vers %}} [here](https://github.com/open-telemetry/opentelemetry-collector/blob/v{{%
param vers %}}/service/telemetry/config.go), the `metrics` configuration options
are:
needed. The [`metrics` configuration
options](https://github.com/open-telemetry/opentelemetry-collector/blob/v{{%
param vers %}}/service/telemetry/config.go) are:

- `level`: the level of telemetry metrics, default `basic`. The possible values
are:
- "none" indicates that no telemetry data should be collected.
- "basic" is the recommended and covers the basics of the service telemetry.
- "normal" adds some other indicators on top of basic.
- "detailed" adds dimensions and views to the previous levels.
- `none`: no telemetry is collected.
- `basic`: essential service telemetry.
- `normal`: the default level, adds standard indicators on top of basic.
- `detailed`: the most verbose level, includes dimensions and views.
- `address`: the `[address]:port` formatted URL that metrics exposition should
be bound to. Default `127.0.0.1:8888`.

Expand Down Expand Up @@ -858,7 +856,7 @@ Install [`cfssl`](https://github.com/cloudflare/cfssl) and create the following

Then run the following commands:

```bash
```sh
cfssl genkey -initca csr.json | cfssljson -bare ca
cfssl gencert -ca ca.pem -ca-key ca-key.pem csr.json | cfssljson -bare cert
```
Expand All @@ -880,14 +878,14 @@ define with this method are merged into the final configuration after all

The following examples show how to override settings inside nested sections:

```shell
# The following example sets the verbosity
# level of the debug exporter to 'detailed'
```sh
otelcol --set "exporters::debug::verbosity=detailed"
# The following example overrides gRPC
# settings for the OTLP receiver
otelcol --set "receivers::otlp::protocols::grpc={endpoint:localhost:4317, compression: gzip}"
```

Note tha the `--set` option doesn't support setting a key that contains a dot or
an equal sign.
{{% alert title="Important" color="warning" %}}

The `--set` option doesn't support setting a key that contains a dot or an equal
sign.

{{% /alert %}}
1 change: 1 addition & 0 deletions content/en/docs/demo/feature-flags.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ change the `defaultVariant` value in the config file for a given flag to "on".
| `paymentServiceUnreachable` | Checkout Service | Use a bad address when calling the PaymentService to make it seem like the PaymentService is unavailable. |
| `loadgeneratorFloodHomepage` | Loadgenerator | Start flooding the homepage with a huge amount of requests, configurable by changing flagd JSON on state. |
| `kafkaQueueProblems` | Kafka | Overloads Kafka queue while simultaneously introducing a consumer side delay leading to a lag spike. |
| `imageSlowLoad` | Frontend | Utilizes envoy fault injection, produces a delay in loading of product images in the frontend. |

## Feature Flag Architecture

Expand Down
2 changes: 1 addition & 1 deletion content/en/docs/languages/java/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ aliases: [/java, /java/metrics, /java/tracing]
cascade:
vers:
instrumentation: 2.3.0
otel: 1.37.0
otel: 1.38.0
semconv: 1.25.0
weight: 18
---
Expand Down
87 changes: 87 additions & 0 deletions content/zh/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
title: OpenTelemetry
description: >-
高质量、普遍适用和可移植的遥测助你实现有效的可观测
show_banner: true
developer_note:
下文所用的 blocks/cover 短代码将使用文件名中包含 "background"
的图像文件作为背景图。
---

<div class="d-none"><a rel="me" href="https://fosstodon.org/@opentelemetry"></a></div>

{{< blocks/cover image_anchor="top" height="max" color="primary" >}}

<!-- prettier-ignore -->
![OpenTelemetry](/img/logos/opentelemetry-horizontal-color.svg)
{.otel-logo}

<!-- prettier-ignore -->
{{% param description %}}
{.display-6}

<div class="l-primary-buttons mt-5">

- [了解更多](/zh/docs/what-is-opentelemetry/)
- [尝试 Demo](/zh/docs/demo/)
- [探索集成组件](/ecosystem/integrations)

</div>

<div class="h3 mt-4">
<a class="text-secondary" href="/docs/getting-started/">为各种角色定制的入门指南</a>
</div>
<div class="l-get-started-buttons">

- [开发人员](/zh/docs/getting-started/dev/)
- [运维人员](/zh/docs/getting-started/ops/)

</div>
{{< /blocks/cover >}}

{{% blocks/lead color="white" %}}

OpenTelemetry 是各类 API、SDK 和工具形成的集合。可用于插桩、生成、采集和导出遥测数据(链路、指标和日志),帮助你分析软件的性能和行为。

> OpenTelemetry 在[多种编程语言](/zh/docs/languages/)均达到 **GA** 级别,普适性很高。
{{% /blocks/lead %}}

{{% blocks/section color="dark" type="row" %}}

{{% blocks/feature icon="fas fa-chart-line" title="链路、指标、日志" %}}

从你的服务和软件中生成并采集遥测数据,然后将其转发给各种分析工具。

{{% /blocks/feature %}}

{{% blocks/feature icon="fas fa-magic" title="现成的插桩支持" %}}

OpenTelemetry 与流行的库和框架集成,例如 [Spring](https://spring.io)
[ASP.NET Core](https://docs.microsoft.com/aspnet/core)
[Express](https://expressjs.com)[Quarkus](https://quarkus.io) 等等!
安装和集成可能只需要几行代码。

{{% /blocks/feature %}}

{{% blocks/feature icon="fab fa-github" title="开源、厂商中立" %}}

OpenTelemetry 是 100% 免费和开源的,
得到了可观测性领域[众多行业领导者](/ecosystem/vendors/)的采用和支持。

{{% /blocks/feature %}}

{{% /blocks/section %}}

{{% blocks/section color="secondary" type="cncf" %}}

**OpenTelemetry 是一个 [CNCF][] [孵化级][]项目**。<br> 这个项目是由
OpenTracing 和 OpenCensus 项目合并而诞生的。

[![CNCF logo][]][cncf]

[cncf]: https://cncf.io
[cncf logo]: /img/logos/cncf-white.svg
[孵化级]: https://www.cncf.io/projects/

{{% /blocks/section %}}
13 changes: 13 additions & 0 deletions content/zh/docs/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: 文档
menu: { main: { weight: 10 } }
---

OpenTelemetry 也被称为 OTel,是一个供应商中立的、开源的[可观测性](concepts/observability-primer/#what-is-observability)框架,
可用于插桩、生成、采集和导出[链路](/zh/docs/concepts/signals/traces/)
[指标](/zh/docs/concepts/signals/metrics/)[日志](/zh/docs/concepts/signals/logs/)等遥测数据。

OpenTelemetry 作为一个行业标准,得到了 40 多个可观测供应商的支持,
被许多[代码库、服务和应用](/ecosystem/integrations)集成,被众多[最终用户](/ecosystem/adopters)采用。

![OpenTelemetry 基准架构](/img/otel-diagram.svg)
91 changes: 91 additions & 0 deletions content/zh/docs/what-is-opentelemetry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
title: 什么是 OpenTelemetry?
description: 简短说明 OpenTelemetry 是什么,不是什么。
weight: -1
---

OpenTelemetry
是一个[可观测性](/zh/docs/concepts/observability-primer/#what-is-observability)框架和工具包,
旨在创建和管理遥测数据,如[链路](/zh/docs/concepts/signals/traces/)
[指标](/zh/docs/concepts/signals/metrics/)[日志](/zh/docs/concepts/signals/logs/)
重要的是,OpenTelemetry 是供应商和工具无关的,这意味着它可以与各种可观测性后端一起使用,
包括 [Jaeger](https://www.jaegertracing.io/)
[Prometheus](https://prometheus.io/) 这类开源工具以及商业化产品。

OpenTelemetry 不是像 Jaeger、Prometheus 或其他商业供应商那样的可观测性后端。
OpenTelemetry 专注于遥测数据的生成、采集、管理和导出。 OpenTelemetry 的一个主要目标是,
无论应用程序或系统采用何种编程语言、基础设施或运行时环境,你都可以轻松地将其仪表化。
重要的是,遥测数据的存储和可视化是有意留给其他工具处理的。

## 什么是可观测性? {#what-is-observability}

[可观测性](/zh/docs/concepts/observability-primer/#what-is-observability)具备检查系统输出来理解系统内部状态的能力。
在软件的上下文中,这意味着通过检查遥测数据(包括链路、指标和日志)来理解系统的内部状态。

要使系统可观测,必须对其进行仪表化。也就是说,代码必须发出链路、指标或日志。
然后,仪表化的数据必须发送到可观测性后端。

## 为什么选择 OpenTelemetry? {#why-opentelemetry}

随着云计算、微服务架构和日益复杂的业务需求的兴起,软件和基础设施的可观测性需求比以往任何时候都要强烈。

OpenTelemetry 满足可观测性的需求,并遵循两个关键原则:

1. 你所生成的数据归属于你自己,不会被供应商锁定。
2. 你只需要学习一套 API 和约定。

这两个原则的结合赋予团队和组织在当今现代计算世界中所需的灵活性。

如果你想了解更多信息,请查阅 OpenTelemetry
[使命、愿景和价值观](/community/mission/)

## 主要的 OpenTelemetry 组件 {#main-opentelemetry-components}

OpenTelemetry 包括以下主要组件:

- 适用于所有组件的[规范](/docs/specs/otel)
- 定义遥测数据形状的标准[协议](/docs/specs/otlp/)
- 为常见遥测数据类型定义标准命名方案的[语义约定](/docs/specs/semconv/)
- 定义如何生成遥测数据的 API
- 实现规范、API 和遥测数据导出的[语言 SDK](/zh/docs/languages)
- 实现常见库和框架的仪表化的[库生态系统](/ecosystem/registry)
- 可自动生成遥测数据的自动仪表化组件,无需更改代码
- [OpenTelemetry Collector](/zh/docs/collector):接收、处理和导出遥测数据的代理
- 各种其他工具,
[用于 Kubernetes 的 OpenTelemetry Operator](/zh/docs/kubernetes/operator/)
[OpenTelemetry Helm Charts](/zh/docs/kubernetes/helm/)
[FaaS 的社区资产](/zh/docs/faas/)

OpenTelemetry 广泛应用于许多已集成 OpenTelemetry
提供默认可观测性的[库、服务和应用](/ecosystem/integrations/)

OpenTelemetry 得到众多[供应商](/ecosystem/vendors/)的支持,其中许多为
OpenTelemetry 提供商业支持并直接为此项目做贡献。

## 可扩展性 {#extensibility}

OpenTelemetry 被设计为可扩展的。一些扩展 OpenTelemetry 的例子包括:

- 向 OpenTelemetry Collector 添加接收器以支持来自自定义源的遥测数据
- 将自定义仪表化库加载到 SDK 中
- 创建适用于特定用例的 SDK 或 Collector 的[分发](/zh/docs/concepts/distributions/)
- 为尚不支持 OpenTelemetry 协议(OTLP)的自定义后端创建新的导出器
- 为非标准上下文传播格式创建自定义传播器

尽管大多数用户可能不需要扩展 OpenTelemetry,但此项目几乎每个层面都可以实现扩展。

## 历史 {#history}

OpenTelemetry 是[云原生计算基金会 (CNCF)](https://www.cncf.io)的一个项目,是由
OpenTracing 和 OpenCensus 项目合并而诞生的。OpenTracing 和 OpenCensus 这两个项目合并而成的。原来这两个项目都是为解决同样的问题而创建的:
缺乏一种标准的方法来为代码进行仪表化并将遥测数据发送到可观测性后端。
由于这两个项目都无法独立解决这个问题,所以将其合并成立了 OpenTelemetry,
吸收了双方的优势,提供了统一的解决方案。

如果你目前正在使用 OpenTracing 或 OpenCensus,
你可以在[迁移指南](/zh/docs/migration/)中了解如何迁移到 OpenTelemetry。

## 接下来做什么? {#what-next}

- 参阅[入门指南](/zh/docs/getting-started/) &mdash; 立即开始!
- 了解 [OpenTelemetry 的概念](/zh/docs/concepts/)
4 changes: 2 additions & 2 deletions data/ecosystem/vendors.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,8 @@
commercial: true
- name: ServiceNow Cloud Observability (Lightstep)
nativeOTLP: true
url: https://github.com/lightstep?q=launcher
contact:
url: https://docs.lightstep.com/docs/about-sending-data
contact: https://github.com/cartersocha
oss: false
commercial: true
- name: LogicMonitor
Expand Down
18 changes: 18 additions & 0 deletions data/registry/collector-receiver-openllmetry.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# cSpell:ignore openllmetry Instana
title: OTel based Data Collector for LLM
registryType: receiver
language: java
tags:
- java
- receiver
- collector
license: MIT
description:
OTel based Data Collector for LLM is the tool or template to generate
OpenTelemetry metrics for various LLM and LLM Applications. All implementation
are based on predefined OpenTelemetry Semantic Conventions.
authors:
- name: IBM Instana
urls:
repo: https://github.com/instana/otel-dc/tree/main/llm
createdAt: 2024-05-07
2 changes: 1 addition & 1 deletion data/registry/exporter-dotnet-geneva.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ createdAt: 2022-11-07
package:
registry: nuget
name: OpenTelemetry.Exporter.Geneva
version: 1.8.0-rc.1
version: 1.8.0-rc.2
2 changes: 1 addition & 1 deletion data/registry/exporter-js-azure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ authors:
package:
name: '@azure/monitor-opentelemetry-exporter'
registry: npm
version: 1.0.0-beta.22
version: 1.0.0-beta.23
urls:
repo: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/monitor/monitor-opentelemetry-exporter
createdAt: 2021-11-01
2 changes: 1 addition & 1 deletion data/registry/instrumentation-js-prisma.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ createdAt: 2022-08-25
package:
registry: npm
name: '@prisma/instrumentation'
version: 5.13.0
version: 5.14.0
2 changes: 1 addition & 1 deletion data/registry/instrumentation-ruby-grape.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ createdAt: 2022-10-27
package:
registry: gems
name: opentelemetry-instrumentation-grape
version: 0.1.7
version: 0.1.8
2 changes: 1 addition & 1 deletion data/registry/instrumentation-ruby-pg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ createdAt: 2020-11-09
package:
registry: gems
name: opentelemetry-instrumentation-pg
version: 0.27.2
version: 0.27.3
Loading

0 comments on commit a4cf770

Please sign in to comment.