diff options
Diffstat (limited to 'cmd/podmanV2/pods/top.go')
-rw-r--r-- | cmd/podmanV2/pods/top.go | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/cmd/podmanV2/pods/top.go b/cmd/podmanV2/pods/top.go deleted file mode 100644 index e501bb478..000000000 --- a/cmd/podmanV2/pods/top.go +++ /dev/null @@ -1,86 +0,0 @@ -package pods - -import ( - "context" - "fmt" - "os" - "strings" - "text/tabwriter" - - "github.com/containers/libpod/cmd/podmanV2/registry" - "github.com/containers/libpod/pkg/domain/entities" - "github.com/containers/psgo" - "github.com/pkg/errors" - "github.com/spf13/cobra" -) - -var ( - topDescription = fmt.Sprintf(`Specify format descriptors to alter the output. - - You may run "podman pod top -l pid pcpu seccomp" to print the process ID, the CPU percentage and the seccomp mode of each process of the latest pod. - Format Descriptors: - %s`, strings.Join(psgo.ListDescriptors(), ",")) - - topOptions = entities.PodTopOptions{} - - topCommand = &cobra.Command{ - Use: "top [flags] POD [FORMAT-DESCRIPTORS|ARGS]", - Short: "Display the running processes in a pod", - Long: topDescription, - RunE: top, - Args: cobra.ArbitraryArgs, - Example: `podman pod top podID -podman pod top --latest -podman pod top podID pid seccomp args %C -podman pod top podID -eo user,pid,comm`, - } -) - -func init() { - registry.Commands = append(registry.Commands, registry.CliCommand{ - Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode}, - Command: topCommand, - Parent: podCmd, - }) - - flags := topCommand.Flags() - flags.SetInterspersed(false) - flags.BoolVar(&topOptions.ListDescriptors, "list-descriptors", false, "") - flags.BoolVarP(&topOptions.Latest, "latest", "l", false, "Act on the latest container podman is aware of") - - _ = flags.MarkHidden("list-descriptors") // meant only for bash completion - if registry.IsRemote() { - _ = flags.MarkHidden("latest") - } -} - -func top(cmd *cobra.Command, args []string) error { - if topOptions.ListDescriptors { - fmt.Println(strings.Join(psgo.ListDescriptors(), "\n")) - return nil - } - - if len(args) < 1 && !topOptions.Latest { - return errors.Errorf("you must provide the name or id of a running pod") - } - - if topOptions.Latest { - topOptions.Descriptors = args - } else { - topOptions.NameOrID = args[0] - topOptions.Descriptors = args[1:] - } - - topResponse, err := registry.ContainerEngine().PodTop(context.Background(), topOptions) - if err != nil { - return err - } - - w := tabwriter.NewWriter(os.Stdout, 5, 1, 3, ' ', 0) - for _, proc := range topResponse.Value { - if _, err := fmt.Fprintln(w, proc); err != nil { - return err - } - } - return w.Flush() -} |