diff --git a/.changelog/5402.trivial.md b/.changelog/5402.trivial.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/go/roothash/api/liveness.go b/go/roothash/api/liveness.go index 5d35b556b1c..7f4e0ef5998 100644 --- a/go/roothash/api/liveness.go +++ b/go/roothash/api/liveness.go @@ -11,14 +11,14 @@ type LivenessStatistics struct { LiveRounds []uint64 `json:"good_rounds"` // FinalizedProposals is a list that records the number of finalized rounds when a node - // acted as a proposer. + // acted as a proposer with the highest rank. // // The list is ordered according to the committee arrangement (i.e., the counter at index i // holds the value for the node at index i in the committee). FinalizedProposals []uint64 `json:"finalized_proposals"` // MissedProposals is a list that records the number of failed rounds when a node - // acted as a proposer. + // acted as a proposer with the highest rank. // // The list is ordered according to the committee arrangement (i.e., the counter at index i // holds the value for the node at index i in the committee). diff --git a/go/worker/common/api/api.go b/go/worker/common/api/api.go index d4d6d4961f6..41e0a46ff7d 100644 --- a/go/worker/common/api/api.go +++ b/go/worker/common/api/api.go @@ -144,4 +144,12 @@ type LivenessStatus struct { // LiveRounds is the number of rounds in which the node positively contributed. LiveRounds uint64 `json:"live_rounds"` + + // FinalizedProposals is the number of finalized rounds when a node acted as a proposer + // with the highest rank. + FinalizedProposals uint64 `json:"finalized_proposals"` + + // MissedProposals is the number of failed rounds when a node acted as a proposer + // with the highest rank. + MissedProposals uint64 `json:"missed_proposals"` } diff --git a/go/worker/common/committee/node.go b/go/worker/common/committee/node.go index b065ab09695..a599036a0e5 100644 --- a/go/worker/common/committee/node.go +++ b/go/worker/common/committee/node.go @@ -330,6 +330,8 @@ func (n *Node) GetStatus() (*api.Status, error) { for _, index := range cmte.Indices { status.Liveness.LiveRounds += rs.LivenessStatistics.LiveRounds[index] + status.Liveness.FinalizedProposals += rs.LivenessStatistics.FinalizedProposals[index] + status.Liveness.MissedProposals += rs.LivenessStatistics.MissedProposals[index] } } }