From 2c11f9d2651a802f7aa551a72ee42aeb4d94716d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Wed, 5 Oct 2022 19:44:55 +0000 Subject: [PATCH] feat: Add node uptime rpc / output in info command --- api/api_common.go | 4 ++++ api/mocks/mock_full.go | 15 +++++++++++++++ api/proxy_gen.go | 13 +++++++++++++ api/v0api/v0mocks/mock_full.go | 15 +++++++++++++++ build/openrpc/full.json.gz | Bin 28424 -> 28427 bytes build/openrpc/gateway.json.gz | Bin 5080 -> 5077 bytes build/openrpc/miner.json.gz | Bin 16025 -> 16032 bytes build/openrpc/worker.json.gz | Bin 5260 -> 5259 bytes cli/info.go | 6 ++++++ cmd/lotus-miner/info.go | 6 ++++++ documentation/en/api-v0-methods-miner.md | 14 ++++++++++++++ documentation/en/api-v0-methods.md | 14 ++++++++++++++ documentation/en/api-v1-unstable-methods.md | 14 ++++++++++++++ node/builder.go | 1 + node/impl/common/common.go | 7 +++++++ node/modules/dtypes/api.go | 4 ++++ node/options.go | 6 ++++++ 17 files changed, 119 insertions(+) diff --git a/api/api_common.go b/api/api_common.go index 73a0c984c..2a887a26a 100644 --- a/api/api_common.go +++ b/api/api_common.go @@ -3,6 +3,7 @@ package api import ( "context" "fmt" + "time" "github.com/google/uuid" @@ -49,6 +50,9 @@ type Common interface { // trigger graceful shutdown Shutdown(context.Context) error //perm:admin + // StartTime returns node start time + StartTime(context.Context) (time.Time, error) //perm:read + // Session returns a random UUID of api provider session Session(context.Context) (uuid.UUID, error) //perm:read diff --git a/api/mocks/mock_full.go b/api/mocks/mock_full.go index bfc4fc905..ab86d19cf 100644 --- a/api/mocks/mock_full.go +++ b/api/mocks/mock_full.go @@ -2272,6 +2272,21 @@ func (mr *MockFullNodeMockRecorder) Shutdown(arg0 interface{}) *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Shutdown", reflect.TypeOf((*MockFullNode)(nil).Shutdown), arg0) } +// StartTime mocks base method. +func (m *MockFullNode) StartTime(arg0 context.Context) (time.Time, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "StartTime", arg0) + ret0, _ := ret[0].(time.Time) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StartTime indicates an expected call of StartTime. +func (mr *MockFullNodeMockRecorder) StartTime(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartTime", reflect.TypeOf((*MockFullNode)(nil).StartTime), arg0) +} + // StateAccountKey mocks base method. func (m *MockFullNode) StateAccountKey(arg0 context.Context, arg1 address.Address, arg2 types.TipSetKey) (address.Address, error) { m.ctrl.T.Helper() diff --git a/api/proxy_gen.go b/api/proxy_gen.go index 935eaca94..254d1274d 100644 --- a/api/proxy_gen.go +++ b/api/proxy_gen.go @@ -79,6 +79,8 @@ type CommonStruct struct { Shutdown func(p0 context.Context) error `perm:"admin"` + StartTime func(p0 context.Context) (time.Time, error) `perm:"read"` + Version func(p0 context.Context) (APIVersion, error) `perm:"read"` } } @@ -1162,6 +1164,17 @@ func (s *CommonStub) Shutdown(p0 context.Context) error { return ErrNotSupported } +func (s *CommonStruct) StartTime(p0 context.Context) (time.Time, error) { + if s.Internal.StartTime == nil { + return *new(time.Time), ErrNotSupported + } + return s.Internal.StartTime(p0) +} + +func (s *CommonStub) StartTime(p0 context.Context) (time.Time, error) { + return *new(time.Time), ErrNotSupported +} + func (s *CommonStruct) Version(p0 context.Context) (APIVersion, error) { if s.Internal.Version == nil { return *new(APIVersion), ErrNotSupported diff --git a/api/v0api/v0mocks/mock_full.go b/api/v0api/v0mocks/mock_full.go index 8df8a89f7..5cbcac8b5 100644 --- a/api/v0api/v0mocks/mock_full.go +++ b/api/v0api/v0mocks/mock_full.go @@ -2157,6 +2157,21 @@ func (mr *MockFullNodeMockRecorder) Shutdown(arg0 interface{}) *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Shutdown", reflect.TypeOf((*MockFullNode)(nil).Shutdown), arg0) } +// StartTime mocks base method. +func (m *MockFullNode) StartTime(arg0 context.Context) (time.Time, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "StartTime", arg0) + ret0, _ := ret[0].(time.Time) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StartTime indicates an expected call of StartTime. +func (mr *MockFullNodeMockRecorder) StartTime(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartTime", reflect.TypeOf((*MockFullNode)(nil).StartTime), arg0) +} + // StateAccountKey mocks base method. func (m *MockFullNode) StateAccountKey(arg0 context.Context, arg1 address.Address, arg2 types.TipSetKey) (address.Address, error) { m.ctrl.T.Helper() diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index 5e5c0e76275f150057a6da56aa13224ce7191d68..9db0b94b2f219f6439e8271b06bb69ed12cb4951 100644 GIT binary patch delta 23603 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

M_^K>&A2*Sh6vkOjAq=Fda=0c<(<#gTuxpPOlin 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 delta 23560 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 eFY9ZF?Bg<_9)Bk?PmL1F2NKRVP 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%0DCJC2O;%M1(VXcF(O>_noy2LnTEIw*c6IQJ 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 IA8#=M02MySH2?qr diff --git a/cli/info.go b/cli/info.go index 0d036875a..007e3655f 100644 --- a/cli/info.go +++ b/cli/info.go @@ -41,7 +41,13 @@ func infoCmdAct(cctx *cli.Context) error { return err } + start, err := fullapi.StartTime(ctx) + if err != nil { + return err + } + fmt.Printf("Network: %s\n", network.NetworkName) + fmt.Printf("StartTime: %s (started at %s)\n", time.Now().Sub(start).Truncate(time.Second), start.Truncate(time.Second)) fmt.Print("Chain: ") err = SyncBasefeeCheck(ctx, fullapi) if err != nil { diff --git a/cmd/lotus-miner/info.go b/cmd/lotus-miner/info.go index 9065139eb..312d86600 100644 --- a/cmd/lotus-miner/info.go +++ b/cmd/lotus-miner/info.go @@ -92,6 +92,12 @@ func infoCmdAct(cctx *cli.Context) error { fmt.Println("Enabled subsystems (from markets API):", subsystems) + start, err := fullapi.StartTime(ctx) + if err != nil { + return err + } + fmt.Printf("StartTime: %s (started at %s)\n", time.Now().Sub(start).Truncate(time.Second), start.Truncate(time.Second)) + fmt.Print("Chain: ") err = lcli.SyncBasefeeCheck(ctx, fullapi) diff --git a/documentation/en/api-v0-methods-miner.md b/documentation/en/api-v0-methods-miner.md index 848600bc6..d999d7f22 100644 --- a/documentation/en/api-v0-methods-miner.md +++ b/documentation/en/api-v0-methods-miner.md @@ -167,6 +167,8 @@ * [SectorsSummary](#SectorsSummary) * [SectorsUnsealPiece](#SectorsUnsealPiece) * [SectorsUpdate](#SectorsUpdate) +* [Start](#Start) + * [StartTime](#StartTime) * [Storage](#Storage) * [StorageAddLocal](#StorageAddLocal) * [StorageAttach](#StorageAttach) @@ -3621,6 +3623,18 @@ Inputs: Response: `{}` +## Start + + +### StartTime + + +Perms: read + +Inputs: `null` + +Response: `"0001-01-01T00:00:00Z"` + ## Storage diff --git a/documentation/en/api-v0-methods.md b/documentation/en/api-v0-methods.md index 44a8ca554..5bcb25570 100644 --- a/documentation/en/api-v0-methods.md +++ b/documentation/en/api-v0-methods.md @@ -156,6 +156,8 @@ * [PaychVoucherCreate](#PaychVoucherCreate) * [PaychVoucherList](#PaychVoucherList) * [PaychVoucherSubmit](#PaychVoucherSubmit) +* [Start](#Start) + * [StartTime](#StartTime) * [State](#State) * [StateAccountKey](#StateAccountKey) * [StateActorCodeCIDs](#StateActorCodeCIDs) @@ -4615,6 +4617,18 @@ Response: } ``` +## Start + + +### StartTime + + +Perms: read + +Inputs: `null` + +Response: `"0001-01-01T00:00:00Z"` + ## State The State methods are used to query, inspect, and interact with chain state. Most methods take a TipSetKey as a parameter. The state looked up is the parent state of the tipset. diff --git a/documentation/en/api-v1-unstable-methods.md b/documentation/en/api-v1-unstable-methods.md index ff360e16a..feca555a7 100644 --- a/documentation/en/api-v1-unstable-methods.md +++ b/documentation/en/api-v1-unstable-methods.md @@ -164,6 +164,8 @@ * [PaychVoucherCreate](#PaychVoucherCreate) * [PaychVoucherList](#PaychVoucherList) * [PaychVoucherSubmit](#PaychVoucherSubmit) +* [Start](#Start) + * [StartTime](#StartTime) * [State](#State) * [StateAccountKey](#StateAccountKey) * [StateActorCodeCIDs](#StateActorCodeCIDs) @@ -5047,6 +5049,18 @@ Response: } ``` +## Start + + +### StartTime + + +Perms: read + +Inputs: `null` + +Response: `"0001-01-01T00:00:00Z"` + ## State The State methods are used to query, inspect, and interact with chain state. Most methods take a TipSetKey as a parameter. The state looked up is the parent state of the tipset. diff --git a/node/builder.go b/node/builder.go index ca31a2c91..9690b7f7c 100644 --- a/node/builder.go +++ b/node/builder.go @@ -155,6 +155,7 @@ func defaults() []Option { Override(new(journal.DisabledEvents), journal.EnvDisabledEvents), Override(new(journal.Journal), modules.OpenFilesystemJournal), Override(new(*alerting.Alerting), alerting.NewAlertingSystem), + Override(new(dtypes.NodeStartTime), FromVal(dtypes.NodeStartTime(time.Now()))), Override(CheckFDLimit, modules.CheckFdLimit(build.DefaultFDLimit)), diff --git a/node/impl/common/common.go b/node/impl/common/common.go index 182b74989..eff6b58b8 100644 --- a/node/impl/common/common.go +++ b/node/impl/common/common.go @@ -2,6 +2,7 @@ package common import ( "context" + "time" "github.com/gbrlsnchs/jwt/v3" "github.com/google/uuid" @@ -26,6 +27,8 @@ type CommonAPI struct { Alerting *alerting.Alerting APISecret *dtypes.APIAlg ShutdownChan dtypes.ShutdownChan + + Start dtypes.NodeStartTime } type jwtPayload struct { @@ -91,3 +94,7 @@ func (a *CommonAPI) Session(ctx context.Context) (uuid.UUID, error) { func (a *CommonAPI) Closing(ctx context.Context) (<-chan struct{}, error) { return make(chan struct{}), nil // relies on jsonrpc closing } + +func (a *CommonAPI) StartTime(context.Context) (time.Time, error) { + return time.Time(a.Start), nil +} diff --git a/node/modules/dtypes/api.go b/node/modules/dtypes/api.go index d57b05cfa..6de511b9d 100644 --- a/node/modules/dtypes/api.go +++ b/node/modules/dtypes/api.go @@ -1,6 +1,8 @@ package dtypes import ( + "time" + "github.com/gbrlsnchs/jwt/v3" "github.com/multiformats/go-multiaddr" ) @@ -8,3 +10,5 @@ import ( type APIAlg jwt.HMACSHA type APIEndpoint multiaddr.Multiaddr + +type NodeStartTime time.Time diff --git a/node/options.go b/node/options.go index 0793a150f..26c2c247f 100644 --- a/node/options.go +++ b/node/options.go @@ -93,6 +93,12 @@ func From(typ interface{}) interface{} { }).Interface() } +func FromVal[T any](v T) func() T { + return func() T { + return v + } +} + // from go-ipfs // as casts input constructor to a given interface (if a value is given, it // wraps it into a constructor).