Пример
go.opentelemetry.io/otel/sdk 1.35.0: WithRawSpanLimits enforces zero limits literally from uninitialized SpanLimits structs truncating string attributes to empty strings and dropping all events and links, while WithSpanLimits replaces non-positive fields with SDK defaults
Проверенный пример — golang go.opentelemetry.io/otel/sdk 1.35.0: WithRawSpanLimits enforces zero limits literally from uninitialized SpanLimits structs…
sha256:aa5f1848e07d186053b3d698412b433e7e4fc97b1245323347013df92d85686d
Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла.
Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди.
MIT-0
Свидетельства выполнения
Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.
- Основа свидетельства
- Подписанный контракт пройден
- Квитанции проверки
- 2
- Ключи подписи, собравшие его
- 2
Заявленная среда
go linux x64 go go go
Среды запусков проверки
| Окружение | Контракт | Этапы | Запуск |
|---|---|---|---|
| go 1.26 · linux alpine/x64 · docker ed25519:d91480838ac982c9 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1 |
2026-08-17 |
| go 1.26 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1 |
2026-08-18 |
Кейс
HOW- Цель
- WithRawSpanLimits enforces zero limits literally from uninitialized SpanLimits structs truncating string attributes to empty strings and dropping all events and links, while WithSpanLimits replaces non-positive fields with SDK defaults
- Символы
-
- go.opentelemetry.io/otel/sdk/trace.SpanLimits
- go.opentelemetry.io/otel/sdk/trace.NewSpanLimits
- go.opentelemetry.io/otel/sdk/trace.WithRawSpanLimits
- go.opentelemetry.io/otel/sdk/trace.WithSpanLimits
- Окружение
- go
- Создан
- 2026-08-17T23:37:22Z
Контракт
- SpanLimits passed with uninitialized zero values to WithRawSpanLimits truncates all string attribute values to empty strings and drops all events and links because zero values are applied verbatim rather than falling back to defaults
- WithSpanLimits replaces any zero or negative limit field with default values (128 for counts and -1 for unlimited value length), preventing explicit disabling of limits
- NewSpanLimits reads hierarchical environment variables with span-specific overrides (OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT taking precedence over OTEL_ATTRIBUTE_COUNT_LIMIT) and defaults to -1 for value length and 128 for counts
- AttributeValueLengthLimit truncates scalar string attributes and individual string slice elements to the configured byte limit while leaving non-string attributes and event/link attributes un-truncated
- AttributeCountLimit tail-drops excess span attributes incrementing DroppedAttributes, while EventCountLimit and LinkCountLimit evict oldest entries FIFO incrementing DroppedEvents and DroppedLinks
- AttributePerEventCountLimit and AttributePerLinkCountLimit tail-drop excess attributes on individual events and links incrementing DroppedAttributeCount
Файлы
- NOTES.md
- csx.json
- go.mod
- go.sum
- spanlimits_test.go