Skip to content

Commit 48cac23

Browse files
committed
feat: propagate trace context to helper pods
Signed-off-by: Suhyen Im <[email protected]>
1 parent 3ef23b0 commit 48cac23

File tree

7 files changed

+41
-13
lines changed

7 files changed

+41
-13
lines changed

bin/helper/helper.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func main() {
5454

5555
clients := cli.ClientSets{}
5656

57-
_, span := otel.Tracer(telemetry.TracerName).Start(ctx, "ExecuteExperimentHelper")
57+
ctx, span := otel.Tracer(telemetry.TracerName).Start(ctx, "ExecuteExperimentHelper")
5858
defer span.End()
5959

6060
// parse the helper name
@@ -71,17 +71,17 @@ func main() {
7171
// invoke the corresponding helper based on the the (-name) flag
7272
switch *helperName {
7373
case "container-kill":
74-
containerKill.Helper(clients)
74+
containerKill.Helper(ctx, clients)
7575
case "disk-fill":
76-
diskFill.Helper(clients)
76+
diskFill.Helper(ctx, clients)
7777
case "dns-chaos":
78-
dnsChaos.Helper(clients)
78+
dnsChaos.Helper(ctx, clients)
7979
case "stress-chaos":
80-
stressChaos.Helper(clients)
80+
stressChaos.Helper(ctx, clients)
8181
case "network-chaos":
82-
networkChaos.Helper(clients)
82+
networkChaos.Helper(ctx, clients)
8383
case "http-chaos":
84-
httpChaos.Helper(clients)
84+
httpChaos.Helper(ctx, clients)
8585

8686
default:
8787
log.Errorf("Unsupported -name %v, please provide the correct value of -name args", *helperName)

chaoslib/litmus/container-kill/helper/container-kill.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import (
44
"bytes"
55
"context"
66
"fmt"
7+
"github.com/litmuschaos/litmus-go/pkg/telemetry"
8+
"go.opentelemetry.io/otel"
79
"os/exec"
810
"strconv"
911
"time"
@@ -27,7 +29,9 @@ import (
2729
var err error
2830

2931
// Helper injects the container-kill chaos
30-
func Helper(clients clients.ClientSets) {
32+
func Helper(ctx context.Context, clients clients.ClientSets) {
33+
ctx, span := otel.Tracer(telemetry.TracerName).Start(ctx, "SimulateContainerKillFault")
34+
defer span.End()
3135

3236
experimentsDetails := experimentTypes.ExperimentDetails{}
3337
eventsDetails := types.EventDetails{}

chaoslib/litmus/disk-fill/helper/disk-fill.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ import (
44
"context"
55
"fmt"
66
"github.com/litmuschaos/litmus-go/pkg/cerrors"
7+
"github.com/litmuschaos/litmus-go/pkg/telemetry"
78
"github.com/palantir/stacktrace"
9+
"go.opentelemetry.io/otel"
810
"os"
911
"os/exec"
1012
"os/signal"
@@ -29,7 +31,9 @@ import (
2931
var inject, abort chan os.Signal
3032

3133
// Helper injects the disk-fill chaos
32-
func Helper(clients clients.ClientSets) {
34+
func Helper(ctx context.Context, clients clients.ClientSets) {
35+
ctx, span := otel.Tracer(telemetry.TracerName).Start(ctx, "SimulateDiskFillFault")
36+
defer span.End()
3337

3438
experimentsDetails := experimentTypes.ExperimentDetails{}
3539
eventsDetails := types.EventDetails{}

chaoslib/litmus/http-chaos/helper/http-helper.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package helper
22

33
import (
4+
"context"
45
"fmt"
56
"github.com/litmuschaos/litmus-go/pkg/cerrors"
7+
"github.com/litmuschaos/litmus-go/pkg/telemetry"
68
"github.com/palantir/stacktrace"
9+
"go.opentelemetry.io/otel"
710
"os"
811
"os/signal"
912
"strconv"
@@ -27,7 +30,9 @@ var (
2730
)
2831

2932
// Helper injects the http chaos
30-
func Helper(clients clients.ClientSets) {
33+
func Helper(ctx context.Context, clients clients.ClientSets) {
34+
ctx, span := otel.Tracer(telemetry.TracerName).Start(ctx, "SimulatePodHTTPFault")
35+
defer span.End()
3136

3237
experimentsDetails := experimentTypes.ExperimentDetails{}
3338
eventsDetails := types.EventDetails{}

chaoslib/litmus/network-chaos/helper/netem.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package helper
22

33
import (
4+
"context"
45
"fmt"
56
"github.com/litmuschaos/litmus-go/pkg/cerrors"
67
"github.com/litmuschaos/litmus-go/pkg/events"
8+
"github.com/litmuschaos/litmus-go/pkg/telemetry"
79
"github.com/palantir/stacktrace"
10+
"go.opentelemetry.io/otel"
811
"os"
912
"os/exec"
1013
"os/signal"
@@ -34,7 +37,9 @@ var (
3437
)
3538

3639
// Helper injects the network chaos
37-
func Helper(clients clients.ClientSets) {
40+
func Helper(ctx context.Context, clients clients.ClientSets) {
41+
ctx, span := otel.Tracer(telemetry.TracerName).Start(ctx, "SimulatePodNetworkFault")
42+
defer span.End()
3843

3944
experimentsDetails := experimentTypes.ExperimentDetails{}
4045
eventsDetails := types.EventDetails{}

chaoslib/litmus/pod-dns-chaos/helper/dnschaos.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@ package helper
22

33
import (
44
"bytes"
5+
"context"
56
"fmt"
67
"github.com/litmuschaos/litmus-go/pkg/cerrors"
8+
"github.com/litmuschaos/litmus-go/pkg/telemetry"
79
"github.com/palantir/stacktrace"
10+
"go.opentelemetry.io/otel"
811
"os"
912
"os/exec"
1013
"os/signal"
@@ -34,7 +37,9 @@ const (
3437
)
3538

3639
// Helper injects the dns chaos
37-
func Helper(clients clients.ClientSets) {
40+
func Helper(ctx context.Context, clients clients.ClientSets) {
41+
ctx, span := otel.Tracer(telemetry.TracerName).Start(ctx, "SimulatePodDNSFault")
42+
defer span.End()
3843

3944
experimentsDetails := experimentTypes.ExperimentDetails{}
4045
eventsDetails := types.EventDetails{}

chaoslib/litmus/stress-chaos/helper/stress-helper.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@ package helper
33
import (
44
"bufio"
55
"bytes"
6+
"context"
67
"fmt"
78
"github.com/litmuschaos/litmus-go/pkg/cerrors"
9+
"github.com/litmuschaos/litmus-go/pkg/telemetry"
810
"github.com/palantir/stacktrace"
11+
"go.opentelemetry.io/otel"
912
"io"
1013
"os"
1114
"os/exec"
@@ -51,7 +54,9 @@ const (
5154
)
5255

5356
// Helper injects the stress chaos
54-
func Helper(clients clients.ClientSets) {
57+
func Helper(ctx context.Context, clients clients.ClientSets) {
58+
ctx, span := otel.Tracer(telemetry.TracerName).Start(ctx, "SimulatePodStressFault")
59+
defer span.End()
5560

5661
experimentsDetails := experimentTypes.ExperimentDetails{}
5762
eventsDetails := types.EventDetails{}

0 commit comments

Comments
 (0)