aboutsummaryrefslogtreecommitdiff
path: root/pkg/domain/infra/abi/containers.go
diff options
context:
space:
mode:
authorValentin Rothberg <rothberg@redhat.com>2020-03-26 11:13:45 +0100
committerValentin Rothberg <rothberg@redhat.com>2020-03-27 09:14:01 +0100
commit500a2d508bc8babe8234f259ab51d4908daf9378 (patch)
treee26e59d60eab94ee1321312e38636042edd6f33a /pkg/domain/infra/abi/containers.go
parent1710eca4e930f7ed3a2b060029c627c1a66a2349 (diff)
downloadpodman-500a2d508bc8babe8234f259ab51d4908daf9378.tar.gz
podman-500a2d508bc8babe8234f259ab51d4908daf9378.tar.bz2
podman-500a2d508bc8babe8234f259ab51d4908daf9378.zip
podmanV2: implement top
Implement the `top` command for podmanV2. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Diffstat (limited to 'pkg/domain/infra/abi/containers.go')
-rw-r--r--pkg/domain/infra/abi/containers.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/pkg/domain/infra/abi/containers.go b/pkg/domain/infra/abi/containers.go
index 2e1a5aa82..3965c5f75 100644
--- a/pkg/domain/infra/abi/containers.go
+++ b/pkg/domain/infra/abi/containers.go
@@ -255,3 +255,25 @@ func (ic *ContainerEngine) ContainerInspect(ctx context.Context, namesOrIds []st
}
return reports, nil
}
+
+func (ic *ContainerEngine) ContainerTop(ctx context.Context, options entities.TopOptions) (*entities.StringSliceReport, error) {
+ var (
+ container *libpod.Container
+ err error
+ )
+
+ // Look up the container.
+ if options.Latest {
+ container, err = ic.Libpod.GetLatestContainer()
+ } else {
+ container, err = ic.Libpod.LookupContainer(options.NameOrID)
+ }
+ if err != nil {
+ return nil, errors.Wrap(err, "unable to lookup requested container")
+ }
+
+ // Run Top.
+ report := &entities.StringSliceReport{}
+ report.Value, err = container.Top(options.Descriptors)
+ return report, err
+}