Skip to content

Commit efd82e1

Browse files
committed
Initial otel impl using our utils
Signed-off-by: Christopher Petito <[email protected]>
1 parent b6e2eca commit efd82e1

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

cmd/docker/docker.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package main
22

33
import (
4+
"context"
45
"fmt"
56
"os"
67
"os/exec"
@@ -21,17 +22,19 @@ import (
2122
"github.com/sirupsen/logrus"
2223
"github.com/spf13/cobra"
2324
"github.com/spf13/pflag"
25+
"go.opentelemetry.io/otel"
2426
)
2527

2628
func main() {
27-
dockerCli, err := command.NewDockerCli()
29+
ctx := context.Background()
30+
dockerCli, err := command.NewDockerCli(command.WithBaseContext(ctx))
2831
if err != nil {
2932
fmt.Fprintln(os.Stderr, err)
3033
os.Exit(1)
3134
}
3235
logrus.SetOutput(dockerCli.Err())
3336

34-
if err := runDocker(dockerCli); err != nil {
37+
if err := runDocker(ctx, dockerCli); err != nil {
3538
if sterr, ok := err.(cli.StatusError); ok {
3639
if sterr.Status != "" {
3740
fmt.Fprintln(dockerCli.Err(), sterr.Status)
@@ -286,7 +289,7 @@ func tryPluginRun(dockerCli command.Cli, cmd *cobra.Command, subcommand string,
286289
}
287290

288291
//nolint:gocyclo
289-
func runDocker(dockerCli *command.DockerCli) error {
292+
func runDocker(ctx context.Context, dockerCli *command.DockerCli) error {
290293
tcmd := newDockerCommand(dockerCli)
291294

292295
cmd, args, err := tcmd.HandleGlobalFlags()
@@ -298,6 +301,11 @@ func runDocker(dockerCli *command.DockerCli) error {
298301
return err
299302
}
300303

304+
mp := dockerCli.MeterProvider(ctx)
305+
defer mp.Shutdown(ctx)
306+
otel.SetMeterProvider(mp)
307+
command.InstrumentCobraCommands(cmd, mp)
308+
301309
var envs []string
302310
args, os.Args, envs, err = processAliases(dockerCli, cmd, args, os.Args)
303311
if err != nil {

0 commit comments

Comments
 (0)