2 Span 4 Service A Service B Service C Trace HTTP W3C Trace Context W3C Trace Context のより詳細は以下のブログで。 【C#】ASP.NET Core と W3C Trace Context とお手軽ロギング。 https://blog.neno.dev/entry/2023/07/04/181843
Key MUST be a non-null and non-empty string. • Value is either: • A primitive type: string, boolean, double (IEEE 754-1985) or signed 64 bit integer. • An array of primitive type values. • OpenTelemetry における data model の様々なところで用いられる • 例えばスパンには様々な情報を attribute として詰め込める • Key は lowercase 推奨 (SHOULD) [2] • 規則として HTTP[3] や RPC[4] で使うべき key 名や value の型が定められている OpenTelemetry の用語 [1] https://github.com/open-telemetry/opentelemetry-specification/blob/v1.32.0/specification/common/README.md#attribute [2] https://github.com/open-telemetry/semantic-conventions/blob/v1.25.0/docs/general/attribute-naming.md#attribute-naming [3] https://github.com/open-telemetry/semantic-conventions/blob/v1.25.0/docs/http/http-spans.md#common-attributes [4] https://github.com/open-telemetry/semantic-conventions/blob/v1.25.0/docs/rpc/rpc-spans.md#common-attributes
Key MUST be a non-null and non-empty string. • Value is either: • A primitive type: string, boolean, double (IEEE 754-1985) or signed 64 bit integer. • An array of primitive type values. • OpenTelemetry における data model の様々なところで用いられる • 例えばスパンには様々な情報を attribute として詰め込める • Key は lowercase 推奨 (SHOULD) [2] • 規則として HTTP[3] や RPC[4] で使うべき key 名や value の型が定められている OpenTelemetry の用語 [1] https://github.com/open-telemetry/opentelemetry-specification/blob/v1.32.0/specification/common/README.md#attribute [2] https://github.com/open-telemetry/semantic-conventions/blob/v1.25.0/docs/general/attribute-naming.md#attribute-naming [3] https://github.com/open-telemetry/semantic-conventions/blob/v1.25.0/docs/http/http-spans.md#common-attributes [4] https://github.com/open-telemetry/semantic-conventions/blob/v1.25.0/docs/rpc/rpc-spans.md#common-attributes spec なのか semconv なのか 意識して区別する事をオススメ
a reflection of an attribute’s uniqueness. High-cardinality data contains a lot of very specific values, while low-cardinality data has only a few. [1] • 例: • Cardinality の高い情報: user-id, email addresses • Cardinality の低い情報: geo-location, cloud providers どのようなコンテキスト/パラメータを含めると良いか? [1] https://www.honeycomb.io/getting-started/understanding-high-cardinality-role-observability
a reflection of an attribute’s uniqueness. High-cardinality data contains a lot of very specific values, while low-cardinality data has only a few. [1] • 例: • Cardinality の高い情報: user-id, email addresses • Cardinality の低い情報: geo-location, cloud providers どのようなコンテキスト/パラメータを含めると良いか? [1] https://www.honeycomb.io/getting-started/understanding-high-cardinality-role-observability ログもスパンも Cardinality の高い情報が好ましい
a reflection of an attribute’s uniqueness. High-cardinality data contains a lot of very specific values, while low-cardinality data has only a few. [1] • 例: • Cardinality の高い情報: user-id, email addresses • Cardinality の低い情報: geo-location, cloud providers どのようなコンテキスト/パラメータを含めると良いか? [1] https://www.honeycomb.io/getting-started/understanding-high-cardinality-role-observability Cardinality が高い情報は 問題がどういう状況で起きたのかを 多く示唆してくれる ログもスパンも Cardinality の高い情報が好ましい
a reflection of an attribute’s uniqueness. High-cardinality data contains a lot of very specific values, while low-cardinality data has only a few. [1] • 例: • Cardinality の高い情報: user-id, email addresses • Cardinality の低い情報: geo-location, cloud providers どのようなコンテキスト/パラメータを含めると良いか? [1] https://www.honeycomb.io/getting-started/understanding-high-cardinality-role-observability Cardinality が高い情報は 問題がどういう状況で起きたのかを 多く示唆してくれる 問題解決が簡単になる ログもスパンも Cardinality の高い情報が好ましい