-
Notifications
You must be signed in to change notification settings - Fork 50
Move Otel Collector guidelines from to opentelemetry-guidelines.md #318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,18 +1,47 @@ | ||
| # OpenTelemetry Guidelines | ||
|
|
||
| This document provides guidance for language instrumentation agents that use | ||
| OpAMP. | ||
| This document provides guidance for OpenTelemetry agents that use OpAMP. | ||
|
|
||
| ## Scope | ||
| ## Collector | ||
|
|
||
| This guidance is intended for OpenTelemetry Collector. | ||
|
|
||
| ### Identifying Attributes | ||
|
|
||
| The OpenTelemetry Collector SHOULD specify the following attributes in | ||
| `AgentDescription.identifying_attributes`: | ||
|
|
||
| - `service.name` should be set to the same value that the Agent uses in its own telemetry. | ||
| - `service.namespace` if it is used in the environment where the Agent runs. | ||
| - `service.version` should be set to version number of the Agent build. | ||
| - `service.instance.id` should be set. It may be set equal to the Agent's | ||
| instance uid (equal to ServerToAgent.instance_uid field) or any other value | ||
| that uniquely identifies the Agent in combination with other attributes. | ||
| - any other attributes that are necessary for uniquely identifying the Agent's | ||
| own telemetry. | ||
|
Comment on lines
+20
to
+21
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we still need this given #312? |
||
|
|
||
| These values SHOULD match the values that the Collector uses in the Resource of its | ||
| own telemetry. | ||
|
|
||
| ### Non-identifying Attributes | ||
|
|
||
| The following attributes SHOULD be included in `AgentDescription.non_identifying_attributes`: | ||
|
|
||
| - `os.type`, `os.version` - to describe where the Collector runs. | ||
| - `host.\*` to describe the host the Collector runs on. | ||
| - `cloud.\*` to describe the cloud where the host is located. | ||
| - any other relevant Resource attributes that describe this Collector and the | ||
| environment it runs in. | ||
| - any user-defined attributes that the end user would like to associate with | ||
| this Collector. | ||
|
|
||
| ## SDKs | ||
|
|
||
| This guidance is intended for OpenTelemetry language agents that run as part of an instrumented | ||
| application process. Examples include auto-instrumentation language agents and similar | ||
| instrumentation runtimes built with OpenTelemetry SDKs. | ||
|
|
||
| This guidance does not apply to standalone agents such as the OpenTelemetry | ||
| Collector. | ||
|
|
||
| ## Identifying Attributes | ||
| ### Identifying Attributes | ||
|
|
||
| Language instrumentation agents MUST copy the following OpenTelemetry SDK | ||
| `Resource` attributes into `AgentDescription.identifying_attributes`: | ||
|
|
@@ -24,7 +53,7 @@ Language instrumentation agents MUST copy the following OpenTelemetry SDK | |
| These identifying attributes MUST match the values that the agent uses in the | ||
| Resource of its own telemetry. | ||
|
|
||
| ## Non-identifying Attributes | ||
| ### Non-identifying Attributes | ||
|
|
||
| Language instrumentation agents SHOULD copy all other OpenTelemetry SDK | ||
| `Resource` attributes into `AgentDescription.non_identifying_attributes`, | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1204,18 +1204,6 @@ Attributes that identify the Agent. | |
| Keys/values are according to OpenTelemetry [resource semantic | ||
| conventions](https://opentelemetry.io/docs/specs/semconv/resource/). | ||
|
|
||
| For standalone running Agents (such as OpenTelemetry Collector) the following | ||
| attributes SHOULD be specified: | ||
|
|
||
| - service.name should be set to the same value that the Agent uses in its own telemetry. | ||
| - service.namespace if it is used in the environment where the Agent runs. | ||
| - service.version should be set to version number of the Agent build. | ||
| - service.instance.id should be set. It may be set equal to the Agent's | ||
| instance uid (equal to ServerToAgent.instance_uid field) or any other value | ||
| that uniquely identifies the Agent in combination with other attributes. | ||
| - any other attributes that are necessary for uniquely identifying the Agent's | ||
| own telemetry. | ||
|
|
||
| The Agent SHOULD also include these attributes in the Resource of its own | ||
| telemetry. The combination of identifying attributes SHOULD be sufficient to | ||
| uniquely identify the Agent's own telemetry in the destination system to which | ||
|
|
@@ -1226,9 +1214,9 @@ the Agent sends its own telemetry. | |
| Attributes that do not necessarily identify the Agent but help describe where it | ||
| runs. | ||
|
|
||
| The following attributes SHOULD be included: | ||
| Here are some examples of attributes that may be a good fit for non-identifying attributes: | ||
|
|
||
| - os.type, os.version - to describe where the Agent runs. | ||
| - os.\* to describe where the Agent runs. | ||
| - host.\* to describe the host the Agent runs on. | ||
| - cloud.\* to describe the cloud where the host is located. | ||
| - any other relevant Resource attributes that describe this Agent and the | ||
|
Comment on lines
+1219
to
1222
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I kept these as generic recommendations. There is also slightly specific requirements for the Collector in opentelemetry-guidelines.md. I am not sure how to best differentiate the too, but I felt like some generic recommendations are still useful to have in this file. |
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also goes against #312... Shouldn't this be non-identifying attribute?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure I follow. Why is this against #312?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
service.versionisn't listed in the set of required identifying attributes. Why do we recommend to set it there for the collector?