This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-cli.git


The following commit(s) were added to refs/heads/master by this push:
     new b5f72ee  Support list single service by service name (#12)
b5f72ee is described below

commit b5f72ee5176e81c8e6355039229d902cc6f3cde1
Author: kezhenxu94 <[email protected]>
AuthorDate: Sat Nov 16 19:18:22 2019 +0800

    Support list single service by service name (#12)
---
 commands/service/list.go | 28 +++++++++++++++++++---------
 graphql/client/client.go |  4 ++--
 2 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/commands/service/list.go b/commands/service/list.go
index 81b5de7..feacb89 100644
--- a/commands/service/list.go
+++ b/commands/service/list.go
@@ -29,10 +29,12 @@ import (
 )
 
 var ListCommand = cli.Command{
-       Name:      "list",
-       ShortName: "ls",
-       Usage:     "List all available services",
-       Flags:     flags.DurationFlags,
+       Name:        "list",
+       ShortName:   "ls",
+       Usage:       "List services",
+       ArgsUsage:   "<service name>",
+       Description: "list all services if no <service name> is given, 
otherwise, only list the given service",
+       Flags:       flags.DurationFlags,
        Before: interceptor.BeforeChain([]cli.BeforeFunc{
                interceptor.DurationInterceptor,
        }),
@@ -40,11 +42,19 @@ var ListCommand = cli.Command{
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
-               services := client.Services(ctx, schema.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
-               })
+
+               var services []schema.Service
+
+               if args := ctx.Args(); len(args) == 0 {
+                       services = client.Services(ctx, schema.Duration{
+                               Start: start,
+                               End:   end,
+                               Step:  step.(*model.StepEnumValue).Selected,
+                       })
+               } else {
+                       service, _ := client.SearchService(ctx, args.First())
+                       services = []schema.Service{service}
+               }
 
                return display.Display(ctx, services)
        },
diff --git a/graphql/client/client.go b/graphql/client/client.go
index 70f8081..fb870a0 100644
--- a/graphql/client/client.go
+++ b/graphql/client/client.go
@@ -86,8 +86,8 @@ func SearchService(cliCtx *cli.Context, serviceCode string) 
(service schema.Serv
        var response map[string]schema.Service
        request := graphql.NewRequest(`
                query searchService($serviceCode: String!) {
-               service: searchService(serviceCode: $serviceCode) {
-                               id name
+                       service: searchService(serviceCode: $serviceCode) {
+                               id name
                        }
                }
        `)

Reply via email to