Skip to content

Commit a8858e4

Browse files
authored
Tracing tests updates (#2532)
* Do not call deprecated eventshub.AddTracing * Remove workaround for incorrect tracing shutdown The issue knative/pkg#2475 has been resolved. It's not necessary to send multiple events anymore. Each event should be exported to Zipking because of the new fix for tracer shutdown. * Update reconciler-test dependency
1 parent e5a6438 commit a8858e4

File tree

8 files changed

+27
-29
lines changed

8 files changed

+27
-29
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ require (
3333
knative.dev/eventing-kafka v0.34.0
3434
knative.dev/hack v0.0.0-20220823140917-8d1e4ccf9dc3
3535
knative.dev/pkg v0.0.0-20220818004048-4a03844c0b15
36-
knative.dev/reconciler-test v0.0.0-20220818122349-177f8264c28c
36+
knative.dev/reconciler-test v0.0.0-20220901014218-ff8756131bd5
3737
sigs.k8s.io/yaml v1.3.0
3838
)
3939

go.sum

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1572,8 +1572,9 @@ knative.dev/hack v0.0.0-20220823140917-8d1e4ccf9dc3/go.mod h1:t/azP8I/Cygaw+87O7
15721572
knative.dev/hack/schema v0.0.0-20220823140917-8d1e4ccf9dc3/go.mod h1:ffjwmdcrH5vN3mPhO8RrF2KfNnbHeCE2C60A+2cv3U0=
15731573
knative.dev/pkg v0.0.0-20220818004048-4a03844c0b15 h1:GNmzHVaUo3zoi/wtIN71LPQaWy6DdoYzmb+GIq2s4fw=
15741574
knative.dev/pkg v0.0.0-20220818004048-4a03844c0b15/go.mod h1:YLjXbkQLlGHok+u0FLfMbBHFzY9WGu3GHhnrptoAy8I=
1575-
knative.dev/reconciler-test v0.0.0-20220818122349-177f8264c28c h1:wWtcZ1ZyP+mXx4xQmcKzKyXkk/t07/iSq/jqhqxoyCM=
15761575
knative.dev/reconciler-test v0.0.0-20220818122349-177f8264c28c/go.mod h1:A437yxlDVDVKQv779WlB9Nj9lWAMoOKHQXFXls24Sps=
1576+
knative.dev/reconciler-test v0.0.0-20220901014218-ff8756131bd5 h1:Z17OIrS0nusy3sgqWNSWGWqyFvYhhMaTXqDU32vTLuk=
1577+
knative.dev/reconciler-test v0.0.0-20220901014218-ff8756131bd5/go.mod h1:LTqPpT5I7bSUToTpKpNkW6avSRFnMt4hby1y53MEBLE=
15771578
pgregory.net/rapid v0.3.3 h1:jCjBsY4ln4Atz78QoBWxUEvAHaFyNDQg9+WU62aCn1U=
15781579
pgregory.net/rapid v0.3.3/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU=
15791580
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=

test/e2e_new/features/featuressteps/broker.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ func BrokerSmokeTest(brokerName, triggerName string) feature.StepFn {
7878
feature.MakeRandomK8sName("source"),
7979
eventshub.StartSenderToResource(broker.GVR(), brokerName),
8080
eventshub.AddSequence,
81-
eventshub.AddTracing,
8281
eventshub.InputEvent(event),
8382
),
8483
assert.OnStore(sink).MatchEvent(eventMatchers...).Exact(1),

test/e2e_new/tracing_test.go

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -95,19 +95,12 @@ func TracingHeadersUsingOrderedDeliveryWithTraceExported() *feature.Feature {
9595
sourceName,
9696
eventshub.StartSenderToResource(broker.GVR(), brokerName),
9797
eventshub.InputEvent(ev),
98-
eventshub.AddTracing,
99-
// Send at least two events to workaround https://github.com/knative/pkg/issues/2475.
100-
// There's some time needed for exporting the trace to Zipkin. Sending two events with
101-
// some delay gives the exporter time to export the trace for the first event. The sender
102-
// is shutdown immediately after sending the last event so the trace for the last
103-
// event will probably not be exported.
104-
eventshub.SendMultipleEvents(2, 3*time.Second),
10598
))
10699

107100
f.Assert("received event has traceparent header",
108101
OnStore(sinkName).
109102
Match(MatchKind(EventReceived), hasTraceparentHeader).
110-
AtLeast(1),
103+
Exact(1),
111104
)
112105

113106
f.Assert("event trace exported", brokerHasMatchingTraceTree(sourceName, sinkName, brokerName, ev.ID()))
@@ -225,7 +218,6 @@ func TracingHeadersUsingUnorderedDelivery() *feature.Feature {
225218
sourceName,
226219
eventshub.StartSenderToResource(broker.GVR(), brokerName),
227220
eventshub.InputEvent(ev),
228-
eventshub.AddTracing,
229221
))
230222

231223
f.Assert("received event has traceparent header",
@@ -276,7 +268,6 @@ func TracingHeadersUsingUnorderedDeliveryWithMultipleTriggers() *feature.Feature
276268
sourceName,
277269
eventshub.StartSenderToResource(broker.GVR(), brokerName),
278270
eventshub.InputEvent(ev),
279-
eventshub.AddTracing,
280271
eventshub.SendMultipleEvents(5, time.Millisecond),
281272
))
282273

test/e2e_new_channel/tracing_test.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
"context"
2424
"fmt"
2525
"testing"
26-
"time"
2726

2827
cetest "github.com/cloudevents/sdk-go/v2/test"
2928
"github.com/openzipkin/zipkin-go/model"
@@ -87,13 +86,6 @@ func eventWithTraceExported() *feature.Feature {
8786
sourceName,
8887
eventshub.StartSenderToResource(channel_impl.GVR(), channelName),
8988
eventshub.InputEvent(ev),
90-
eventshub.AddTracing,
91-
// Send at least two events to workaround https://github.com/knative/pkg/issues/2475.
92-
// There's some time needed for exporting the trace to Zipkin. Sending two events with
93-
// some delay gives the exporter time to export the trace for the first event. The sender
94-
// is shutdown immediately after sending the last event so the trace for the last
95-
// event will probably not be exported.
96-
eventshub.SendMultipleEvents(2, 3*time.Second),
9789
))
9890

9991
f.Assert("event trace exported", channelHasMatchingTraceTree(sourceName, sinkName, channelName, ev.ID()))
@@ -170,7 +162,7 @@ func channelHasMatchingTraceTree(sourceName, sinkName, channelName, eventID stri
170162
},
171163
},
172164
}
173-
eventshub.StoreFromContext(ctx, sinkName).AssertAtLeast(t, 1,
165+
eventshub.StoreFromContext(ctx, sinkName).AssertExact(t, 1,
174166
MatchKind(EventReceived),
175167
tracing.TraceTreeMatches(sourceName, eventID, expectedTree),
176168
)

vendor/knative.dev/reconciler-test/pkg/eventshub/eventshub.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,11 @@ func Start(eventLogFactories map[string]EventLogFactory, eventGeneratorFactories
4343
ctx, _ := injection.EnableInjectionOrDie(nil, nil)
4444
ctx = ConfigureLogging(ctx, "eventshub")
4545

46-
if err := ConfigureTracing(logging.FromContext(ctx), ""); err != nil {
46+
tracer, err := ConfigureTracing(logging.FromContext(ctx), "")
47+
if err != nil {
4748
logging.FromContext(ctx).Fatal("Unable to setup trace publishing", err)
4849
}
50+
defer tracer.Shutdown(context.Background())
4951

5052
var env envConfig
5153
if err := envconfig.Process("", &env); err != nil {
@@ -54,7 +56,7 @@ func Start(eventLogFactories map[string]EventLogFactory, eventGeneratorFactories
5456
logging.FromContext(ctx).Infof("Events Hub environment configuration: %+v", env)
5557

5658
eventLogs := createEventLogs(ctx, eventLogFactories, env.EventLogs)
57-
err := startEventGenerators(ctx, eventGeneratorFactories, env.EventGenerators, eventLogs)
59+
err = startEventGenerators(ctx, eventGeneratorFactories, env.EventGenerators, eventLogs)
5860

5961
if err != nil {
6062
logging.FromContext(ctx).Fatal("Error during start: ", err)

vendor/knative.dev/reconciler-test/pkg/eventshub/utils.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,19 +59,32 @@ func ParseDurationStr(durationStr string, defaultDuration int) time.Duration {
5959
}
6060

6161
// ConfigureTracing can be used in test-images to configure tracing
62-
func ConfigureTracing(logger *zap.SugaredLogger, serviceName string) error {
62+
func ConfigureTracing(logger *zap.SugaredLogger, serviceName string) (tracing.Tracer, error) {
6363
tracingEnv := os.Getenv(ConfigTracingEnv)
6464

65+
var (
66+
tracer tracing.Tracer
67+
err error
68+
)
69+
6570
if tracingEnv == "" {
66-
return tracing.SetupStaticPublishing(logger, serviceName, config.NoopConfig())
71+
tracer, err = tracing.SetupPublishingWithStaticConfig(logger, serviceName, config.NoopConfig())
72+
if err != nil {
73+
return tracer, err
74+
}
6775
}
6876

6977
conf, err := config.JSONToTracingConfig(tracingEnv)
7078
if err != nil {
71-
return err
79+
return tracer, err
80+
}
81+
82+
tracer, err = tracing.SetupPublishingWithStaticConfig(logger, serviceName, conf)
83+
if err != nil {
84+
return tracer, err
7285
}
7386

74-
return tracing.SetupStaticPublishing(logger, serviceName, conf)
87+
return tracer, nil
7588
}
7689

7790
// ConfigureTracing can be used in test-images to configure tracing

vendor/modules.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1613,7 +1613,7 @@ knative.dev/pkg/webhook/json
16131613
knative.dev/pkg/webhook/resourcesemantics
16141614
knative.dev/pkg/webhook/resourcesemantics/defaulting
16151615
knative.dev/pkg/webhook/resourcesemantics/validation
1616-
# knative.dev/reconciler-test v0.0.0-20220818122349-177f8264c28c
1616+
# knative.dev/reconciler-test v0.0.0-20220901014218-ff8756131bd5
16171617
## explicit; go 1.18
16181618
knative.dev/reconciler-test/cmd/eventshub
16191619
knative.dev/reconciler-test/pkg/environment

0 commit comments

Comments
 (0)