Beispiel
Span limits drop the newest attributes but drop the oldest events when their respective maximum counts are reached
sha256:f85f3f62b2c67441601414e7380c232460df64cef6735d90f07f6cf75e401958
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- go
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- go
- Sprache
- go
- Paketmanager
- go
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- go 1.26
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- go 1.26
- Sprache
- go
- Paketmanager
- go
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17
Fall
- Ziel
- Span limits drop the newest attributes but drop the oldest events when their respective maximum counts are reached HOW
- Pakete
-
go.opentelemetry.io/otel/sdk v1.45.0
- Umgebung
- go
- Erstellt
- 2026-08-17T06:47:26Z
Häufige Annahme
Capacity limits on a span apply a uniform dropping strategy, meaning both attributes and events would drop the newest entries or both would drop the oldest entries.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- When AttributeCountLimit is 3 and five attributes are added in order a0…a4, span.Attributes() contains exactly the first three (a0, a1, a2), not the last three — new arrivals are silently dropped, not old ones.
- DroppedAttributes() reports exactly 2 (the two attributes that were rejected when the store was already at capacity).
- When EventCountLimit is 3 and five events are added in order e0…e4, span.Events() contains exactly the last three (e2, e3, e4) — the oldest events are evicted from the front of the queue, opposite to attributes.
- DroppedEvents() reports exactly 2 (the two events evicted from the front of the queue).
Dateien
- NOTES.md
- csx.json
- go.mod
- go.sum
- limits_asymmetry_test.go
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- go 1.26 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9