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
commit 1ccb9b91fbb912c9d873dbafb70b99558e6d92cc Author: kezhenxu94 <kezhenx...@163.com> AuthorDate: Sun Nov 10 01:09:27 2019 +0800 Extract commonly-used flags for reuse --- commands/flags/duration.go | 48 ++++++++++++++++++++++++++++++++++++++++++++++ commands/service/list.go | 21 ++------------------ 2 files changed, 50 insertions(+), 19 deletions(-) diff --git a/commands/flags/duration.go b/commands/flags/duration.go new file mode 100644 index 0000000..d4b3f83 --- /dev/null +++ b/commands/flags/duration.go @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package flags + +import ( + "github.com/apache/skywalking-cli/commands/model" + "github.com/apache/skywalking-cli/graphql/schema" + "github.com/urfave/cli" +) + +// DurationFlags are common flags that involves a duration, composed +// by a start time, an end time, and a step, which is commonly used +// in most of the commands +var DurationFlags = []cli.Flag{ + cli.StringFlag{ + Name: "start", + Usage: "query start `TIME`", + }, + cli.StringFlag{ + Name: "end", + Usage: "query end `TIME`", + }, + cli.GenericFlag{ + Name: "step", + Hidden: true, + Value: &model.StepEnumValue{ + Enum: schema.AllStep, + Default: schema.StepMinute, + Selected: schema.StepMinute, + }, + }, +} diff --git a/commands/service/list.go b/commands/service/list.go index 257bc3a..d57f970 100644 --- a/commands/service/list.go +++ b/commands/service/list.go @@ -21,6 +21,7 @@ package service import ( "encoding/json" "fmt" + "github.com/apache/skywalking-cli/commands/flags" "github.com/apache/skywalking-cli/commands/interceptor" "github.com/apache/skywalking-cli/commands/model" "github.com/apache/skywalking-cli/graphql/client" @@ -32,25 +33,7 @@ var ListCommand = cli.Command{ Name: "list", ShortName: "ls", Usage: "List all available services", - Flags: []cli.Flag{ - cli.StringFlag{ - Name: "start", - Usage: "query start `TIME`", - }, - cli.StringFlag{ - Name: "end", - Usage: "query end `TIME`", - }, - cli.GenericFlag{ - Name: "step", - Hidden: true, - Value: &model.StepEnumValue{ - Enum: schema.AllStep, - Default: schema.StepMinute, - Selected: schema.StepMinute, - }, - }, - }, + Flags: flags.DurationFlags, Before: interceptor.BeforeChain([]cli.BeforeFunc{ interceptor.DurationInterceptor, }),