From 48cddd3644f93a7f5069dc82893498b22f798ccc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Kripalani?= Date: Tue, 27 Jul 2021 14:25:28 +0100 Subject: [PATCH 1/3] add a super verbose -vv flag to lotus and lotus-miner. --- cli/util/api.go | 28 ++++++++++++++++++++++++++++ cli/util/verbose.go | 16 ++++++++++++++++ cmd/lotus-miner/main.go | 2 ++ cmd/lotus/main.go | 2 ++ 4 files changed, 48 insertions(+) create mode 100644 cli/util/verbose.go diff --git a/cli/util/api.go b/cli/util/api.go index ecd2e927f..b7210a18f 100644 --- a/cli/util/api.go +++ b/cli/util/api.go @@ -146,6 +146,10 @@ func GetRawAPI(ctx *cli.Context, t repo.RepoType, version string) (string, http. return "", nil, xerrors.Errorf("could not get DialArgs: %w", err) } + if IsSuperVerbose { + _, _ = fmt.Fprintf(ctx.App.Writer, "using raw API %s endpoint: %s\n", version, addr) + } + return addr, ainfo.AuthHeader(), nil } @@ -185,6 +189,10 @@ func GetFullNodeAPI(ctx *cli.Context) (v0api.FullNode, jsonrpc.ClientCloser, err return nil, nil, err } + if IsSuperVerbose { + _, _ = fmt.Fprintln(ctx.App.Writer, "using full node API v0 endpoint:", addr) + } + return client.NewFullNodeRPCV0(ctx.Context, addr, headers) } @@ -198,6 +206,10 @@ func GetFullNodeAPIV1(ctx *cli.Context) (v1api.FullNode, jsonrpc.ClientCloser, e return nil, nil, err } + if IsSuperVerbose { + _, _ = fmt.Fprintln(ctx.App.Writer, "using full node API v1 endpoint:", addr) + } + return client.NewFullNodeRPCV1(ctx.Context, addr, headers) } @@ -242,6 +254,10 @@ func GetStorageMinerAPI(ctx *cli.Context, opts ...GetStorageMinerOption) (api.St addr = u.String() } + if IsSuperVerbose { + _, _ = fmt.Fprintln(ctx.App.Writer, "using miner API v0 endpoint:", addr) + } + return client.NewStorageMinerRPCV0(ctx.Context, addr, headers) } @@ -251,6 +267,10 @@ func GetWorkerAPI(ctx *cli.Context) (api.Worker, jsonrpc.ClientCloser, error) { return nil, nil, err } + if IsSuperVerbose { + _, _ = fmt.Fprintln(ctx.App.Writer, "using worker API v0 endpoint:", addr) + } + return client.NewWorkerRPCV0(ctx.Context, addr, headers) } @@ -260,6 +280,10 @@ func GetGatewayAPI(ctx *cli.Context) (api.Gateway, jsonrpc.ClientCloser, error) return nil, nil, err } + if IsSuperVerbose { + _, _ = fmt.Fprintln(ctx.App.Writer, "using gateway API v1 endpoint:", addr) + } + return client.NewGatewayRPCV1(ctx.Context, addr, headers) } @@ -269,6 +293,10 @@ func GetGatewayAPIV0(ctx *cli.Context) (v0api.Gateway, jsonrpc.ClientCloser, err return nil, nil, err } + if IsSuperVerbose { + _, _ = fmt.Fprintln(ctx.App.Writer, "using gateway API v0 endpoint:", addr) + } + return client.NewGatewayRPCV0(ctx.Context, addr, headers) } diff --git a/cli/util/verbose.go b/cli/util/verbose.go new file mode 100644 index 000000000..b1eb1a9be --- /dev/null +++ b/cli/util/verbose.go @@ -0,0 +1,16 @@ +package cliutil + +import "github.com/urfave/cli/v2" + +// IsSuperVerbose is a global var signalling if we're running in super verbose +// mode or not (default: false). +var IsSuperVerbose bool + +// FlagSuperVerbose enables super verbose mode, which is useful when debugging +// the CLI itself. It should be included as a flag on the top-level command +// (e.g. lotus -vv, lotus-miner -vv). +var FlagSuperVerbose = &cli.BoolFlag{ + Name: "vv", + Usage: "enables super verbose mode, useful for debugging the CLI", + Destination: &IsSuperVerbose, +} diff --git a/cmd/lotus-miner/main.go b/cmd/lotus-miner/main.go index c555531d6..c14f85b93 100644 --- a/cmd/lotus-miner/main.go +++ b/cmd/lotus-miner/main.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/fatih/color" + cliutil "github.com/filecoin-project/lotus/cli/util" logging "github.com/ipfs/go-log/v2" "github.com/urfave/cli/v2" "go.opencensus.io/trace" @@ -105,6 +106,7 @@ func main() { Value: "~/.lotusminer", // TODO: Consider XDG_DATA_HOME Usage: fmt.Sprintf("Specify miner repo path. flag(%s) and env(LOTUS_STORAGE_PATH) are DEPRECATION, will REMOVE SOON", FlagMinerRepoDeprecation), }, + cliutil.FlagSuperVerbose, }, Commands: append(local, lcli.CommonCommands...), diff --git a/cmd/lotus/main.go b/cmd/lotus/main.go index d803cce1e..6719116ce 100644 --- a/cmd/lotus/main.go +++ b/cmd/lotus/main.go @@ -12,6 +12,7 @@ import ( "github.com/filecoin-project/lotus/api" "github.com/filecoin-project/lotus/build" lcli "github.com/filecoin-project/lotus/cli" + cliutil "github.com/filecoin-project/lotus/cli/util" "github.com/filecoin-project/lotus/lib/lotuslog" "github.com/filecoin-project/lotus/lib/tracing" "github.com/filecoin-project/lotus/node/repo" @@ -81,6 +82,7 @@ func main() { Name: "force-send", Usage: "if true, will ignore pre-send checks", }, + cliutil.FlagSuperVerbose, }, Commands: append(local, lcli.Commands...), From 3451acbc0313df454aa0cf97108624ca72dfeb2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Kripalani?= Date: Tue, 27 Jul 2021 15:28:10 +0100 Subject: [PATCH 2/3] docgen. --- documentation/en/cli-lotus-miner.md | 1 + documentation/en/cli-lotus.md | 1 + 2 files changed, 2 insertions(+) diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index 2ba693bff..9884edf27 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -43,6 +43,7 @@ GLOBAL OPTIONS: --actor value, -a value specify other actor to check state for (read only) --color use color in display output (default: depends on output being a TTY) --miner-repo value, --storagerepo value Specify miner repo path. flag(storagerepo) and env(LOTUS_STORAGE_PATH) are DEPRECATION, will REMOVE SOON (default: "~/.lotusminer") [$LOTUS_MINER_PATH, $LOTUS_STORAGE_PATH] + --vv enables super verbose mode, useful for debugging the CLI (default: false) --help, -h show help (default: false) --version, -v print the version (default: false) ``` diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index cae648a0d..7418f433d 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -39,6 +39,7 @@ COMMANDS: GLOBAL OPTIONS: --interactive setting to false will disable interactive functionality of commands (default: false) --force-send if true, will ignore pre-send checks (default: false) + --vv enables super verbose mode, useful for debugging the CLI (default: false) --help, -h show help (default: false) --version, -v print the version (default: false) ``` From b04fb75a924370c81423de62f24036cb5da4ad47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Kripalani?= Date: Tue, 27 Jul 2021 20:46:02 +0100 Subject: [PATCH 3/3] rename flag to very verbose. --- cli/util/api.go | 14 +++++++------- cli/util/verbose.go | 14 +++++++------- cmd/lotus-miner/main.go | 2 +- cmd/lotus/main.go | 2 +- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus.md | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/cli/util/api.go b/cli/util/api.go index b7210a18f..730b75d9d 100644 --- a/cli/util/api.go +++ b/cli/util/api.go @@ -146,7 +146,7 @@ func GetRawAPI(ctx *cli.Context, t repo.RepoType, version string) (string, http. return "", nil, xerrors.Errorf("could not get DialArgs: %w", err) } - if IsSuperVerbose { + if IsVeryVerbose { _, _ = fmt.Fprintf(ctx.App.Writer, "using raw API %s endpoint: %s\n", version, addr) } @@ -189,7 +189,7 @@ func GetFullNodeAPI(ctx *cli.Context) (v0api.FullNode, jsonrpc.ClientCloser, err return nil, nil, err } - if IsSuperVerbose { + if IsVeryVerbose { _, _ = fmt.Fprintln(ctx.App.Writer, "using full node API v0 endpoint:", addr) } @@ -206,7 +206,7 @@ func GetFullNodeAPIV1(ctx *cli.Context) (v1api.FullNode, jsonrpc.ClientCloser, e return nil, nil, err } - if IsSuperVerbose { + if IsVeryVerbose { _, _ = fmt.Fprintln(ctx.App.Writer, "using full node API v1 endpoint:", addr) } @@ -254,7 +254,7 @@ func GetStorageMinerAPI(ctx *cli.Context, opts ...GetStorageMinerOption) (api.St addr = u.String() } - if IsSuperVerbose { + if IsVeryVerbose { _, _ = fmt.Fprintln(ctx.App.Writer, "using miner API v0 endpoint:", addr) } @@ -267,7 +267,7 @@ func GetWorkerAPI(ctx *cli.Context) (api.Worker, jsonrpc.ClientCloser, error) { return nil, nil, err } - if IsSuperVerbose { + if IsVeryVerbose { _, _ = fmt.Fprintln(ctx.App.Writer, "using worker API v0 endpoint:", addr) } @@ -280,7 +280,7 @@ func GetGatewayAPI(ctx *cli.Context) (api.Gateway, jsonrpc.ClientCloser, error) return nil, nil, err } - if IsSuperVerbose { + if IsVeryVerbose { _, _ = fmt.Fprintln(ctx.App.Writer, "using gateway API v1 endpoint:", addr) } @@ -293,7 +293,7 @@ func GetGatewayAPIV0(ctx *cli.Context) (v0api.Gateway, jsonrpc.ClientCloser, err return nil, nil, err } - if IsSuperVerbose { + if IsVeryVerbose { _, _ = fmt.Fprintln(ctx.App.Writer, "using gateway API v0 endpoint:", addr) } diff --git a/cli/util/verbose.go b/cli/util/verbose.go index b1eb1a9be..efcad0962 100644 --- a/cli/util/verbose.go +++ b/cli/util/verbose.go @@ -2,15 +2,15 @@ package cliutil import "github.com/urfave/cli/v2" -// IsSuperVerbose is a global var signalling if we're running in super verbose -// mode or not (default: false). -var IsSuperVerbose bool +// IsVeryVerbose is a global var signalling if the CLI is running in very +// verbose mode or not (default: false). +var IsVeryVerbose bool -// FlagSuperVerbose enables super verbose mode, which is useful when debugging +// FlagVeryVerbose enables very verbose mode, which is useful when debugging // the CLI itself. It should be included as a flag on the top-level command // (e.g. lotus -vv, lotus-miner -vv). -var FlagSuperVerbose = &cli.BoolFlag{ +var FlagVeryVerbose = &cli.BoolFlag{ Name: "vv", - Usage: "enables super verbose mode, useful for debugging the CLI", - Destination: &IsSuperVerbose, + Usage: "enables very verbose mode, useful for debugging the CLI", + Destination: &IsVeryVerbose, } diff --git a/cmd/lotus-miner/main.go b/cmd/lotus-miner/main.go index c14f85b93..c697de0c9 100644 --- a/cmd/lotus-miner/main.go +++ b/cmd/lotus-miner/main.go @@ -106,7 +106,7 @@ func main() { Value: "~/.lotusminer", // TODO: Consider XDG_DATA_HOME Usage: fmt.Sprintf("Specify miner repo path. flag(%s) and env(LOTUS_STORAGE_PATH) are DEPRECATION, will REMOVE SOON", FlagMinerRepoDeprecation), }, - cliutil.FlagSuperVerbose, + cliutil.FlagVeryVerbose, }, Commands: append(local, lcli.CommonCommands...), diff --git a/cmd/lotus/main.go b/cmd/lotus/main.go index 6719116ce..66eae0f1e 100644 --- a/cmd/lotus/main.go +++ b/cmd/lotus/main.go @@ -82,7 +82,7 @@ func main() { Name: "force-send", Usage: "if true, will ignore pre-send checks", }, - cliutil.FlagSuperVerbose, + cliutil.FlagVeryVerbose, }, Commands: append(local, lcli.Commands...), diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index 9884edf27..29593fbd4 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -43,7 +43,7 @@ GLOBAL OPTIONS: --actor value, -a value specify other actor to check state for (read only) --color use color in display output (default: depends on output being a TTY) --miner-repo value, --storagerepo value Specify miner repo path. flag(storagerepo) and env(LOTUS_STORAGE_PATH) are DEPRECATION, will REMOVE SOON (default: "~/.lotusminer") [$LOTUS_MINER_PATH, $LOTUS_STORAGE_PATH] - --vv enables super verbose mode, useful for debugging the CLI (default: false) + --vv enables very verbose mode, useful for debugging the CLI (default: false) --help, -h show help (default: false) --version, -v print the version (default: false) ``` diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index 7418f433d..5faf5c58b 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -39,7 +39,7 @@ COMMANDS: GLOBAL OPTIONS: --interactive setting to false will disable interactive functionality of commands (default: false) --force-send if true, will ignore pre-send checks (default: false) - --vv enables super verbose mode, useful for debugging the CLI (default: false) + --vv enables very verbose mode, useful for debugging the CLI (default: false) --help, -h show help (default: false) --version, -v print the version (default: false) ```