diff --git a/CHANGELOG.md b/CHANGELOG.md index 008ed63f909..1b93e83d2bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,9 @@ release. ### Resource +- Exempt Resource from attribute limits. + ([#1892](https://github.com/open-telemetry/opentelemetry-specification/pull/1892)) + ### Semantic Conventions - BREAKING: Change enum member IDs to lowercase without spaces, not starting with numbers. diff --git a/specification/common/common.md b/specification/common/common.md index c3f434aa895..b0779ad652c 100644 --- a/specification/common/common.md +++ b/specification/common/common.md @@ -90,6 +90,14 @@ followed by the global limit default value. #### Exempt Entities +Resource attributes SHOULD be exempt from the limits described above as resources +are not susceptible to the scenarios (auto-instrumentation) that result in +excessive attributes count or size. Resources are also sent only once per batch +instead of per span so it is relatively cheaper to have more/larger attributes +on them. Resources are also immutable by design and they are generally passed +down to TracerProvider along with limits. This makes it awkward to implement +attribute limits for Resources. + Attributes, which belong to Metrics, are exempt from the limits described above at this time, as discussed in [Metrics Attribute Limits](../metrics/sdk.md#attribute-limits).