diff --git a/src/runtime/cli/kata-check.go b/src/runtime/cli/kata-check.go index 1a0b130d6b..66f6b2becb 100644 --- a/src/runtime/cli/kata-check.go +++ b/src/runtime/cli/kata-check.go @@ -389,13 +389,6 @@ EXAMPLES: if verbose { kataLog.Logger.SetLevel(logrus.InfoLevel) } - ctx, err := cliContextToContext(context) - if err != nil { - return err - } - - span, _ := katautils.Trace(ctx, "check") - defer span.End() if !context.Bool("no-network-checks") && os.Getenv(noNetworkEnvVar) == "" { cmd := RelCmdCheck @@ -407,8 +400,7 @@ EXAMPLES: if os.Geteuid() == 0 { kataLog.Warn("Not running network checks as super user") } else { - - err = HandleReleaseVersions(cmd, version, context.Bool("include-all-releases")) + err := HandleReleaseVersions(cmd, version, context.Bool("include-all-releases")) if err != nil { return err } @@ -424,7 +416,7 @@ EXAMPLES: return errors.New("check: cannot determine runtime config") } - err = setCPUtype(runtimeConfig.HypervisorType) + err := setCPUtype(runtimeConfig.HypervisorType) if err != nil { return err } @@ -437,7 +429,6 @@ EXAMPLES: } err = hostIsVMContainerCapable(details) - if err != nil { return err } diff --git a/src/runtime/cli/kata-env.go b/src/runtime/cli/kata-env.go index 1caac6ff19..2daf51d8d6 100644 --- a/src/runtime/cli/kata-env.go +++ b/src/runtime/cli/kata-env.go @@ -13,7 +13,6 @@ import ( "strings" "github.com/BurntSushi/toml" - "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils" "github.com/kata-containers/kata-containers/src/runtime/pkg/utils" vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers" exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental" @@ -448,14 +447,6 @@ var kataEnvCLICommand = cli.Command{ }, }, Action: func(context *cli.Context) error { - ctx, err := cliContextToContext(context) - if err != nil { - return err - } - - span, _ := katautils.Trace(ctx, "kata-env") - defer span.End() - return handleSettings(defaultOutputFile, context) }, } diff --git a/src/runtime/cli/kata-exec.go b/src/runtime/cli/kata-exec.go index 6877071589..d556f782ac 100644 --- a/src/runtime/cli/kata-exec.go +++ b/src/runtime/cli/kata-exec.go @@ -26,7 +26,6 @@ import ( clientUtils "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols/client" "github.com/pkg/errors" "github.com/urfave/cli" - "go.opentelemetry.io/otel/label" ) const ( @@ -67,24 +66,15 @@ var kataExecCLICommand = cli.Command{ }, }, Action: func(context *cli.Context) error { - ctx, err := cliContextToContext(context) - if err != nil { - return err - } - span, _ := katautils.Trace(ctx, subCommandName) - defer span.End() - namespace := context.String(paramRuntimeNamespace) if namespace == "" { namespace = defaultRuntimeNamespace } - span.SetAttributes(label.Key("namespace").String(namespace)) port := context.Uint64(paramDebugConsolePort) if port == 0 { port = defaultKernelParamDebugConsoleVPortValue } - span.SetAttributes(label.Key("port").Uint64(port)) sandboxID := context.Args().Get(0) @@ -92,8 +82,6 @@ var kataExecCLICommand = cli.Command{ return err } - span.SetAttributes(label.Key("sandbox").String(sandboxID)) - conn, err := getConn(namespace, sandboxID, port) if err != nil { return err diff --git a/src/runtime/cli/main.go b/src/runtime/cli/main.go index 0c454f6608..b3c4e0f67f 100644 --- a/src/runtime/cli/main.go +++ b/src/runtime/cli/main.go @@ -27,9 +27,6 @@ import ( specs "github.com/opencontainers/runtime-spec/specs-go" "github.com/sirupsen/logrus" "github.com/urfave/cli" - "go.opentelemetry.io/otel" - "go.opentelemetry.io/otel/label" - otelTrace "go.opentelemetry.io/otel/trace" ) // specConfig is the name of the file holding the containers configuration @@ -132,10 +129,6 @@ var runtimeCommands = []cli.Command{ // parsing occurs. var runtimeBeforeSubcommands = beforeSubcommands -// runtimeAfterSubcommands is the function to run after the command-line -// has been parsed. -var runtimeAfterSubcommands = afterSubcommands - // runtimeCommandNotFound is the function to handle an invalid sub-command. var runtimeCommandNotFound = commandNotFound @@ -168,10 +161,6 @@ func init() { // setupSignalHandler sets up signal handling, starting a go routine to deal // with signals as they arrive. -// -// Note that the specified context is NOT used to create a trace span (since the -// first (root) span must be created in beforeSubcommands()): it is simply -// used to pass to the crash handling functions to finalise tracing. func setupSignalHandler(ctx context.Context) { signals.SetLogger(kataLog) @@ -181,10 +170,6 @@ func setupSignalHandler(ctx context.Context) { signal.Notify(sigCh, sig) } - dieCb := func() { - katautils.StopTracing(ctx) - } - go func() { for { sig := <-sigCh @@ -198,7 +183,6 @@ func setupSignalHandler(ctx context.Context) { if signals.FatalSignal(nativeSignal) { kataLog.WithField("signal", sig).Error("received fatal signal") - signals.Die(dieCb) } else if debug && signals.NonFatalSignal(nativeSignal) { kataLog.WithField("signal", sig).Debug("handling signal") signals.Backtrace() @@ -210,18 +194,6 @@ func setupSignalHandler(ctx context.Context) { // setExternalLoggers registers the specified logger with the external // packages which accept a logger to handle their own logging. func setExternalLoggers(ctx context.Context, logger *logrus.Entry) { - var span otelTrace.Span - - // Only create a new span if a root span already exists. This is - // required to ensure that this function will not disrupt the root - // span logic by creating a span before the proper root span has been - // created. - - if otelTrace.SpanFromContext(ctx) != nil { - span, ctx = katautils.Trace(ctx, "setExternalLoggers") - defer span.End() - } - // Set virtcontainers logger. vci.SetLogger(ctx, logger) @@ -244,7 +216,6 @@ func beforeSubcommands(c *cli.Context) error { var configFile string var runtimeConfig oci.RuntimeConfig var err error - var traceFlushFunc func() katautils.SetConfigOptions(name, defaultRuntimeConfiguration, defaultSysConfRuntimeConfiguration) @@ -270,7 +241,6 @@ func beforeSubcommands(c *cli.Context) error { // Issue: https://github.com/kata-containers/runtime/issues/2428 ignoreConfigLogs := false - var traceRootSpan string subCmdIsCheckCmd := (c.NArg() >= 1 && ((c.Args()[0] == "kata-check") || (c.Args()[0] == "check"))) if subCmdIsCheckCmd { @@ -302,16 +272,13 @@ func beforeSubcommands(c *cli.Context) error { cmdName := c.Args().First() if c.App.Command(cmdName) != nil { kataLog = kataLog.WithField("command", cmdName) - - // Name for the root span (used for tracing) now the - // sub-command name is known. - traceRootSpan = name + " " + cmdName } - // Since a context is required, pass a new (throw-away) one - we - // cannot use the main context as tracing hasn't been enabled yet - // (meaning any spans created at this point will be silently ignored). - setExternalLoggers(context.Background(), kataLog) + ctx, err := cliContextToContext(c) + if err != nil { + return err + } + setExternalLoggers(ctx, kataLog) if c.NArg() == 1 && (c.Args()[0] == "kata-env" || c.Args()[0] == "env") { // simply report the logging setup @@ -325,20 +292,6 @@ func beforeSubcommands(c *cli.Context) error { } if !subCmdIsCheckCmd { debug = runtimeConfig.Debug - - if traceRootSpan != "" { - // Create the tracer. - // - // Note: no spans are created until the command-line has been parsed. - // This delays collection of trace data slightly but benefits the user by - // ensuring the first span is the name of the sub-command being - // invoked from the command-line. - traceFlushFunc, err = setupTracing(c, traceRootSpan, &runtimeConfig) - if err != nil { - return err - } - defer traceFlushFunc() - } } args := strings.Join(c.Args(), " ") @@ -377,36 +330,6 @@ func handleShowConfig(context *cli.Context) { } } -func setupTracing(context *cli.Context, rootSpanName string, config *oci.RuntimeConfig) (func(), error) { - flush, err := katautils.CreateTracer(name, config) - if err != nil { - return nil, err - } - - ctx, err := cliContextToContext(context) - if err != nil { - return nil, err - } - - // Create the root span now that the sub-command name is - // known. - // - // Note that this "Before" function is called (and returns) - // before the subcommand handler is called. As such, we cannot - // "Finish()" the span here - that is handled in the .After - // function. - tracer := otel.Tracer("kata") - newCtx, span := tracer.Start(ctx, rootSpanName) - - span.SetAttributes(label.Key("subsystem").String("runtime")) - - // Add tracer to metadata and update the context - context.App.Metadata["tracer"] = tracer - context.App.Metadata["context"] = newCtx - - return flush, nil -} - // add supported experimental features in context func addExpFeatures(clictx *cli.Context, runtimeConfig oci.RuntimeConfig) error { ctx, err := cliContextToContext(clictx) @@ -420,22 +343,11 @@ func addExpFeatures(clictx *cli.Context, runtimeConfig oci.RuntimeConfig) error } ctx = exp.ContextWithExp(ctx, exps) - // Add tracer to metadata and update the context + // Add experimental features to metadata and update the context clictx.App.Metadata["context"] = ctx return nil } -func afterSubcommands(c *cli.Context) error { - ctx, err := cliContextToContext(c) - if err != nil { - return err - } - - katautils.StopTracing(ctx) - - return nil -} - // function called when an invalid command is specified which causes the // runtime to error. func commandNotFound(c *cli.Context, command string) { @@ -502,7 +414,6 @@ func createRuntimeApp(ctx context.Context, args []string) error { app.Flags = runtimeFlags app.Commands = runtimeCommands app.Before = runtimeBeforeSubcommands - app.After = runtimeAfterSubcommands app.EnableBashCompletion = true // allow sub-commands to access context @@ -578,12 +489,5 @@ func cliContextToContext(c *cli.Context) (context.Context, error) { func main() { // create a new empty context ctx := context.Background() - - dieCb := func() { - katautils.StopTracing(ctx) - } - - defer signals.HandlePanic(dieCb) - createRuntime(ctx) } diff --git a/src/runtime/cli/version.go b/src/runtime/cli/version.go index 9acd0e80c5..d743ef6715 100644 --- a/src/runtime/cli/version.go +++ b/src/runtime/cli/version.go @@ -6,7 +6,6 @@ package main import ( - "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils" "github.com/urfave/cli" ) @@ -14,14 +13,6 @@ var versionCLICommand = cli.Command{ Name: "version", Usage: "display version details", Action: func(context *cli.Context) error { - ctx, err := cliContextToContext(context) - if err != nil { - return err - } - - span, _ := katautils.Trace(ctx, "version") - defer span.End() - cli.VersionPrinter(context) return nil },