forked from TrueCloudLab/frostfs-node
[#1210] reputation: Improve debug logs
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
0adb29c035
commit
13af4e6046
17 changed files with 188 additions and 60 deletions
|
@ -108,7 +108,7 @@ func (c *announceContext) announce() {
|
|||
return
|
||||
}
|
||||
|
||||
c.log.Debug("announcement successfully finished")
|
||||
c.log.Debug("trust announcement successfully finished")
|
||||
}
|
||||
|
||||
func (c *Controller) acquireAnnouncement(prm StartPrm) *announceContext {
|
||||
|
@ -163,9 +163,9 @@ func (c *commonContext) freeAnnouncement() {
|
|||
c.ctrl.announceMtx.Unlock()
|
||||
|
||||
if stopped {
|
||||
c.log.Debug("announcement successfully interrupted")
|
||||
c.log.Debug("trust announcement successfully interrupted")
|
||||
} else {
|
||||
c.log.Debug("announcement is not started or already interrupted")
|
||||
c.log.Debug("trust announcement is not started or already interrupted")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -254,9 +254,9 @@ func (c *commonContext) freeReport() {
|
|||
c.ctrl.reportMtx.Unlock()
|
||||
|
||||
if stopped {
|
||||
c.log.Debug("announcement successfully interrupted")
|
||||
c.log.Debug("trust announcement successfully interrupted")
|
||||
} else {
|
||||
c.log.Debug("announcement is not started or already interrupted")
|
||||
c.log.Debug("trust announcement is not started or already interrupted")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package common
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
|
||||
"github.com/nspcc-dev/hrw"
|
||||
|
@ -58,6 +59,11 @@ func NewManagerBuilder(prm ManagersPrm, opts ...MngOption) ManagerBuilder {
|
|||
// BuildManagers sorts nodes in NetMap with HRW algorithms and
|
||||
// takes the next node after the current one as the only manager.
|
||||
func (mb *managerBuilder) BuildManagers(epoch uint64, p reputation.PeerID) ([]ServerInfo, error) {
|
||||
mb.log.Debug("start building managers",
|
||||
zap.Uint64("epoch", epoch),
|
||||
zap.String("peer", hex.EncodeToString(p.Bytes())),
|
||||
)
|
||||
|
||||
nm, err := mb.nmSrc.GetNetMapByEpoch(epoch)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
@ -43,6 +43,11 @@ func (c *Calculator) Calculate(prm CalculatePrm) {
|
|||
|
||||
iter := ctx.I()
|
||||
|
||||
log := c.opts.log.With(
|
||||
zap.Uint64("epoch", ctx.Epoch()),
|
||||
zap.Uint32("iteration", iter),
|
||||
)
|
||||
|
||||
if iter == 0 {
|
||||
c.sendInitialValues(ctx)
|
||||
return
|
||||
|
@ -54,7 +59,7 @@ func (c *Calculator) Calculate(prm CalculatePrm) {
|
|||
|
||||
consumersIter, err := c.prm.DaughterTrustSource.InitConsumersIterator(ctx)
|
||||
if err != nil {
|
||||
c.opts.log.Debug("consumers trust iterator's init failure",
|
||||
log.Debug("consumers trust iterator's init failure",
|
||||
zap.String("error", err.Error()),
|
||||
)
|
||||
|
||||
|
@ -74,7 +79,7 @@ func (c *Calculator) Calculate(prm CalculatePrm) {
|
|||
})
|
||||
})
|
||||
if err != nil {
|
||||
c.opts.log.Debug("worker pool submit failure",
|
||||
log.Debug("worker pool submit failure",
|
||||
zap.String("error", err.Error()),
|
||||
)
|
||||
}
|
||||
|
@ -83,7 +88,7 @@ func (c *Calculator) Calculate(prm CalculatePrm) {
|
|||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
c.opts.log.Debug("iterate daughters failed",
|
||||
log.Debug("iterate daughter's consumers failed",
|
||||
zap.String("error", err.Error()),
|
||||
)
|
||||
}
|
||||
|
@ -156,7 +161,7 @@ func (c *Calculator) iterateDaughter(p iterDaughterPrm) {
|
|||
if p.lastIter {
|
||||
finalWriter, err := c.prm.FinalResultTarget.InitIntermediateWriter(p.ctx)
|
||||
if err != nil {
|
||||
c.opts.log.Debug("init intermediate writer failure",
|
||||
c.opts.log.Debug("init writer failure",
|
||||
zap.String("error", err.Error()),
|
||||
)
|
||||
|
||||
|
@ -176,7 +181,7 @@ func (c *Calculator) iterateDaughter(p iterDaughterPrm) {
|
|||
} else {
|
||||
intermediateWriter, err := c.prm.IntermediateValueTarget.InitWriter(p.ctx)
|
||||
if err != nil {
|
||||
c.opts.log.Debug("init intermediate writer failure",
|
||||
c.opts.log.Debug("init writer failure",
|
||||
zap.String("error", err.Error()),
|
||||
)
|
||||
|
||||
|
@ -197,7 +202,7 @@ func (c *Calculator) iterateDaughter(p iterDaughterPrm) {
|
|||
|
||||
err := intermediateWriter.Write(trust)
|
||||
if err != nil {
|
||||
c.opts.log.Debug("write intermediate value failure",
|
||||
c.opts.log.Debug("write value failure",
|
||||
zap.String("error", err.Error()),
|
||||
)
|
||||
}
|
||||
|
@ -213,7 +218,7 @@ func (c *Calculator) iterateDaughter(p iterDaughterPrm) {
|
|||
err = intermediateWriter.Close()
|
||||
if err != nil {
|
||||
c.opts.log.Error(
|
||||
"could not close intermediate writer",
|
||||
"could not close writer",
|
||||
zap.String("error", err.Error()),
|
||||
)
|
||||
}
|
||||
|
@ -232,7 +237,7 @@ func (c *Calculator) sendInitialValues(ctx Context) {
|
|||
|
||||
intermediateWriter, err := c.prm.IntermediateValueTarget.InitWriter(ctx)
|
||||
if err != nil {
|
||||
c.opts.log.Debug("init intermediate writer failure",
|
||||
c.opts.log.Debug("init writer failure",
|
||||
zap.String("error", err.Error()),
|
||||
)
|
||||
|
||||
|
@ -259,7 +264,7 @@ func (c *Calculator) sendInitialValues(ctx Context) {
|
|||
|
||||
err = intermediateWriter.Write(trust)
|
||||
if err != nil {
|
||||
c.opts.log.Debug("write intermediate value failure",
|
||||
c.opts.log.Debug("write value failure",
|
||||
zap.String("error", err.Error()),
|
||||
)
|
||||
|
||||
|
@ -277,7 +282,7 @@ func (c *Calculator) sendInitialValues(ctx Context) {
|
|||
|
||||
err = intermediateWriter.Close()
|
||||
if err != nil {
|
||||
c.opts.log.Debug("could not close intermediate writer",
|
||||
c.opts.log.Debug("could not close writer",
|
||||
zap.String("error", err.Error()),
|
||||
)
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/reputation/common"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
|
||||
)
|
||||
|
||||
// Prm groups the required parameters of the Builder's constructor.
|
||||
|
@ -16,6 +17,8 @@ type Prm struct {
|
|||
//
|
||||
// Must not be nil.
|
||||
ManagerBuilder common.ManagerBuilder
|
||||
|
||||
Log *logger.Logger
|
||||
}
|
||||
|
||||
// Builder represents component that routes node to its managers.
|
||||
|
@ -26,6 +29,7 @@ type Prm struct {
|
|||
// the Builder is immediately ready to work through API.
|
||||
type Builder struct {
|
||||
managerBuilder common.ManagerBuilder
|
||||
log *logger.Logger
|
||||
}
|
||||
|
||||
const invalidPrmValFmt = "invalid parameter %s (%T):%v"
|
||||
|
@ -44,9 +48,12 @@ func New(prm Prm) *Builder {
|
|||
switch {
|
||||
case prm.ManagerBuilder == nil:
|
||||
panicOnPrmValue("ManagerBuilder", prm.ManagerBuilder)
|
||||
case prm.Log == nil:
|
||||
panicOnPrmValue("Logger", prm.Log)
|
||||
}
|
||||
|
||||
return &Builder{
|
||||
managerBuilder: prm.ManagerBuilder,
|
||||
log: prm.Log,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,13 +5,21 @@ import (
|
|||
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/reputation"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/reputation/common"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
// NextStage builds Manager list for trusted node and returns it directly.
|
||||
//
|
||||
// If passed route has more than one point, then endpoint of the route is reached.
|
||||
func (b *Builder) NextStage(epoch uint64, t reputation.Trust, passed []common.ServerInfo) ([]common.ServerInfo, error) {
|
||||
if len(passed) > 1 {
|
||||
passedLen := len(passed)
|
||||
|
||||
b.log.Debug("building next stage for trust route",
|
||||
zap.Uint64("epoch", epoch),
|
||||
zap.Int("passed_length", passedLen),
|
||||
)
|
||||
|
||||
if passedLen > 1 {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/reputation/common"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
|
||||
)
|
||||
|
||||
// Prm groups the required parameters of the Builder's constructor.
|
||||
|
@ -16,6 +17,8 @@ type Prm struct {
|
|||
//
|
||||
// Must not be nil.
|
||||
ManagerBuilder common.ManagerBuilder
|
||||
|
||||
Log *logger.Logger
|
||||
}
|
||||
|
||||
// Builder represents component that routes node to its managers.
|
||||
|
@ -26,6 +29,7 @@ type Prm struct {
|
|||
// the Builder is immediately ready to work through API.
|
||||
type Builder struct {
|
||||
managerBuilder common.ManagerBuilder
|
||||
log *logger.Logger
|
||||
}
|
||||
|
||||
const invalidPrmValFmt = "invalid parameter %s (%T):%v"
|
||||
|
@ -44,9 +48,12 @@ func New(prm Prm) *Builder {
|
|||
switch {
|
||||
case prm.ManagerBuilder == nil:
|
||||
panicOnPrmValue("ManagerBuilder", prm.ManagerBuilder)
|
||||
case prm.Log == nil:
|
||||
panicOnPrmValue("Logger", prm.Log)
|
||||
}
|
||||
|
||||
return &Builder{
|
||||
managerBuilder: prm.ManagerBuilder,
|
||||
log: prm.Log,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,13 +5,21 @@ import (
|
|||
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/reputation"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/services/reputation/common"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
// NextStage builds Manager list for trusting node and returns it directly.
|
||||
//
|
||||
// If passed route has more than one point, then endpoint of the route is reached.
|
||||
func (b *Builder) NextStage(epoch uint64, t reputation.Trust, passed []common.ServerInfo) ([]common.ServerInfo, error) {
|
||||
if len(passed) > 1 {
|
||||
passedLen := len(passed)
|
||||
|
||||
b.log.Debug("building next stage for local trust route",
|
||||
zap.Uint64("epoch", epoch),
|
||||
zap.Int("passed_length", passedLen),
|
||||
)
|
||||
|
||||
if passedLen > 1 {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue