@@ -23,7 +23,21 @@ import (
23
23
)
24
24
25
25
func TestAlwaysParentSampleWithParentSampled (t * testing.T ) {
26
- sampler := sdktrace .AlwaysParentSample ()
26
+ sampler := sdktrace .ParentSample (sdktrace .AlwaysSample ())
27
+ traceID , _ := trace .IDFromHex ("4bf92f3577b34da6a3ce929d0e0e4736" )
28
+ spanID , _ := trace .SpanIDFromHex ("00f067aa0ba902b7" )
29
+ parentCtx := trace.SpanContext {
30
+ TraceID : traceID ,
31
+ SpanID : spanID ,
32
+ TraceFlags : trace .FlagsSampled ,
33
+ }
34
+ if sampler .ShouldSample (sdktrace.SamplingParameters {ParentContext : parentCtx }).Decision != sdktrace .RecordAndSampled {
35
+ t .Error ("Sampling decision should be RecordAndSampled" )
36
+ }
37
+ }
38
+
39
+ func TestNeverParentSampleWithParentSampled (t * testing.T ) {
40
+ sampler := sdktrace .ParentSample (sdktrace .NeverSample ())
27
41
traceID , _ := trace .IDFromHex ("4bf92f3577b34da6a3ce929d0e0e4736" )
28
42
spanID , _ := trace .SpanIDFromHex ("00f067aa0ba902b7" )
29
43
parentCtx := trace.SpanContext {
@@ -37,7 +51,7 @@ func TestAlwaysParentSampleWithParentSampled(t *testing.T) {
37
51
}
38
52
39
53
func TestAlwaysParentSampleWithParentNotSampled (t * testing.T ) {
40
- sampler := sdktrace .AlwaysParentSample ( )
54
+ sampler := sdktrace .ParentSample ( sdktrace . AlwaysSample () )
41
55
traceID , _ := trace .IDFromHex ("4bf92f3577b34da6a3ce929d0e0e4736" )
42
56
spanID , _ := trace .SpanIDFromHex ("00f067aa0ba902b7" )
43
57
parentCtx := trace.SpanContext {
@@ -48,3 +62,17 @@ func TestAlwaysParentSampleWithParentNotSampled(t *testing.T) {
48
62
t .Error ("Sampling decision should be NotRecord" )
49
63
}
50
64
}
65
+
66
+ func TestParentSampleWithNoParent (t * testing.T ) {
67
+ params := sdktrace.SamplingParameters {}
68
+
69
+ sampler := sdktrace .ParentSample (sdktrace .AlwaysSample ())
70
+ if sampler .ShouldSample (params ).Decision != sdktrace .RecordAndSampled {
71
+ t .Error ("Sampling decision should be RecordAndSampled" )
72
+ }
73
+
74
+ sampler = sdktrace .ParentSample (sdktrace .NeverSample ())
75
+ if sampler .ShouldSample (params ).Decision != sdktrace .NotRecord {
76
+ t .Error ("Sampling decision should be NotRecord" )
77
+ }
78
+ }
0 commit comments