Skip to content

Commit dcee43d

Browse files
authored
Fix sampling (transparency-dev#813)
1 parent ecb251d commit dcee43d

5 files changed

Lines changed: 11 additions & 21 deletions

File tree

cmd/tesseract/gcp/otel.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ func initOTel(ctx context.Context, traceFraction float64, origin string, project
102102
}
103103
// initialize a TracerProvier that periodically exports to the GCP exporter.
104104
tp := sdktrace.NewTracerProvider(
105-
sdktrace.WithSampler(t_otel.NewAttributeSampler([]string{"tessera.periodic"}, sdktrace.TraceIDRatioBased(traceFraction))),
105+
sdktrace.WithSampler(sdktrace.ParentBased(t_otel.NewAttributeSampler([]string{"tessera.periodic"}, sdktrace.TraceIDRatioBased(traceFraction)))),
106106
sdktrace.WithBatcher(te),
107107
sdktrace.WithResource(resources),
108108
)

cmd/tesseract/posix/otel.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ func initOTel(ctx context.Context, traceFraction float64, origin string) func(co
7979
}
8080
// initialize a TracerProvier that periodically exports to the GCP exporter.
8181
tp := sdktrace.NewTracerProvider(
82-
sdktrace.WithSampler(t_otel.NewAttributeSampler([]string{"tessera.periodic"}, sdktrace.TraceIDRatioBased(traceFraction))),
82+
sdktrace.WithSampler(sdktrace.ParentBased(t_otel.NewAttributeSampler([]string{"tessera.periodic"}, sdktrace.TraceIDRatioBased(traceFraction)))),
8383
sdktrace.WithBatcher(te),
8484
sdktrace.WithResource(resources),
8585
)

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ require (
1313
github.com/aws/aws-sdk-go-v2 v1.41.4
1414
github.com/aws/aws-sdk-go-v2/config v1.32.12
1515
github.com/aws/aws-sdk-go-v2/credentials v1.19.12
16-
github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1
16+
github.com/aws/aws-sdk-go-v2/service/s3 v1.97.2
1717
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.41.4
1818
github.com/aws/smithy-go v1.24.2
1919
github.com/cenkalti/backoff/v5 v5.0.3
@@ -30,7 +30,7 @@ require (
3030
github.com/rivo/tview v0.42.0
3131
github.com/transparency-dev/formats v0.1.0
3232
github.com/transparency-dev/merkle v0.0.2
33-
github.com/transparency-dev/tessera v1.0.3-0.20260323171529-55be0bb9dffa
33+
github.com/transparency-dev/tessera v1.0.3-0.20260326163816-17d76465e9be
3434
go.opentelemetry.io/contrib/detectors/gcp v1.42.0
3535
go.opentelemetry.io/contrib/exporters/autoexport v0.67.0
3636
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0
@@ -65,7 +65,7 @@ require (
6565
github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.6.0 // indirect
6666
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0 // indirect
6767
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.55.0 // indirect
68-
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7 // indirect
68+
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.8 // indirect
6969
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20 // indirect
7070
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20 // indirect
7171
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20 // indirect

go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ github.com/RobinUS2/golang-moving-average v1.0.0 h1:PD7DDZNt+UFb9XlsBbTIu/DtXqqa
4646
github.com/RobinUS2/golang-moving-average v1.0.0/go.mod h1:MdzhY+KoEvi+OBygTPH0OSaKrOJzvILWN2SPQzaKVsY=
4747
github.com/aws/aws-sdk-go-v2 v1.41.4 h1:10f50G7WyU02T56ox1wWXq+zTX9I1zxG46HYuG1hH/k=
4848
github.com/aws/aws-sdk-go-v2 v1.41.4/go.mod h1:mwsPRE8ceUUpiTgF7QmQIJ7lgsKUPQOUl3o72QBrE1o=
49-
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7 h1:3kGOqnh1pPeddVa/E37XNTaWJ8W6vrbYV9lJEkCnhuY=
50-
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7/go.mod h1:lyw7GFp3qENLh7kwzf7iMzAxDn+NzjXEAGjKS2UOKqI=
49+
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.8 h1:eBMB84YGghSocM7PsjmmPffTa+1FBUeNvGvFou6V/4o=
50+
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.8/go.mod h1:lyw7GFp3qENLh7kwzf7iMzAxDn+NzjXEAGjKS2UOKqI=
5151
github.com/aws/aws-sdk-go-v2/config v1.32.12 h1:O3csC7HUGn2895eNrLytOJQdoL2xyJy0iYXhoZ1OmP0=
5252
github.com/aws/aws-sdk-go-v2/config v1.32.12/go.mod h1:96zTvoOFR4FURjI+/5wY1vc1ABceROO4lWgWJuxgy0g=
5353
github.com/aws/aws-sdk-go-v2/credentials v1.19.12 h1:oqtA6v+y5fZg//tcTWahyN9PEn5eDU/Wpvc2+kJ4aY8=
@@ -72,8 +72,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20 h1:2HvVAIq+
7272
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20/go.mod h1:V4X406Y666khGa8ghKmphma/7C0DAtEQYhkq9z4vpbk=
7373
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20 h1:siU1A6xjUZ2N8zjTHSXFhB9L/2OY8Dqs0xXiLjF30jA=
7474
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20/go.mod h1:4TLZCmVJDM3FOu5P5TJP0zOlu9zWgDWU7aUxWbr+rcw=
75-
github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1 h1:csi9NLpFZXb9fxY7rS1xVzgPRGMt7MSNWeQ6eo247kE=
76-
github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1/go.mod h1:qXVal5H0ChqXP63t6jze5LmFalc7+ZE7wOdLtZ0LCP0=
75+
github.com/aws/aws-sdk-go-v2/service/s3 v1.97.2 h1:MRNiP6nqa20aEl8fQ6PJpEq11b2d40b16sm4WD7QgMU=
76+
github.com/aws/aws-sdk-go-v2/service/s3 v1.97.2/go.mod h1:FrNA56srbsr3WShiaelyWYEo70x80mXnVZ17ZZfbeqg=
7777
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.41.4 h1:9aZbO86sraeCIHHCpZhxwN9tnVy9POkSKzi4/TpT54A=
7878
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.41.4/go.mod h1:cxiXDhEzIq7Xx1BtmC4lGBK3SwAZ79+EUWiKawYHo14=
7979
github.com/aws/aws-sdk-go-v2/service/signin v1.0.8 h1:0GFOLzEbOyZABS3PhYfBIx2rNBACYcKty+XGkTgw1ow=
@@ -297,8 +297,8 @@ github.com/transparency-dev/formats v0.1.0 h1:oL0zUFuYUjg8AbtjPMnIRDmjbaHo5jCjEW
297297
github.com/transparency-dev/formats v0.1.0/go.mod h1:d2FibUOHfCMdCe/+/rbKt1IPLBbPTDfwj46kt541/mU=
298298
github.com/transparency-dev/merkle v0.0.2 h1:Q9nBoQcZcgPamMkGn7ghV8XiTZ/kRxn1yCG81+twTK4=
299299
github.com/transparency-dev/merkle v0.0.2/go.mod h1:pqSy+OXefQ1EDUVmAJ8MUhHB9TXGuzVAT58PqBoHz1A=
300-
github.com/transparency-dev/tessera v1.0.3-0.20260323171529-55be0bb9dffa h1:coVY3f4wMQNZ8595Qs008SNguZKoWDIAORl+ReSfKgM=
301-
github.com/transparency-dev/tessera v1.0.3-0.20260323171529-55be0bb9dffa/go.mod h1:AD5mSoxHMYcWyCVGd3086OxWrt/HnnrjTxuK52dw9hs=
300+
github.com/transparency-dev/tessera v1.0.3-0.20260326163816-17d76465e9be h1:pnkl67JLyxi3Ntk7ecK38zgD4uWNqy5H2gibDKRP/Ks=
301+
github.com/transparency-dev/tessera v1.0.3-0.20260326163816-17d76465e9be/go.mod h1:p1njZwBEYH6AQ9sXL18UdB/zU4y85Ri1XB3ElEfxezs=
302302
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
303303
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
304304
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=

internal/otel/sampler.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,6 @@ func (s *AttributeSampler) ShouldSample(p sdktrace.SamplingParameters) sdktrace.
4040
// Always extract the parent span context to get the tracestate.
4141
psc := trace.SpanContextFromContext(p.ParentContext)
4242

43-
// Always sample children of sampled parents.
44-
if psc.IsSampled() {
45-
return sdktrace.SamplingResult{
46-
Decision: sdktrace.RecordAndSample,
47-
Attributes: p.Attributes,
48-
// Critical: preserve the parent's tracestate
49-
Tracestate: psc.TraceState(),
50-
}
51-
}
52-
5343
// Check for "always" attributes and sample if one is present:
5444
for _, attr := range p.Attributes {
5545
if _, found := s.always[string(attr.Key)]; found {

0 commit comments

Comments
 (0)