Skip to content

Commit 4881ca0

Browse files
authored
Merge pull request #1496 from kaleido-io/fix_metrics
fix metrics when recording length of confirmed event
2 parents 3e769de + 8c3eef4 commit 4881ca0

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

internal/metrics/metrics.go

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright © 2022 Kaleido, Inc.
1+
// Copyright © 2024 Kaleido, Inc.
22
//
33
// SPDX-License-Identifier: Apache-2.0
44
//
@@ -78,19 +78,28 @@ func (mm *metricsManager) MessageSubmitted(msg *core.Message) {
7878
}
7979

8080
func (mm *metricsManager) MessageConfirmed(msg *core.Message, eventType fftypes.FFEnum) {
81-
timeElapsed := time.Since(mm.GetTime(msg.Header.ID.String())).Seconds()
81+
eventTime := mm.GetTime(msg.Header.ID.String())
82+
timeElapsed := time.Since(eventTime).Seconds()
8283
mm.DeleteTime(msg.Header.ID.String())
8384

8485
switch msg.Header.Type {
8586
case core.MessageTypeBroadcast:
86-
BroadcastHistogram.Observe(timeElapsed)
87+
if !eventTime.IsZero() {
88+
// Check that we recorded the submission
89+
// as we might not be the party submitting
90+
BroadcastHistogram.Observe(timeElapsed)
91+
}
8792
if eventType == core.EventTypeMessageConfirmed { // Broadcast Confirmed
8893
BroadcastConfirmedCounter.Inc()
8994
} else if eventType == core.EventTypeMessageRejected { // Broadcast Rejected
9095
BroadcastRejectedCounter.Inc()
9196
}
9297
case core.MessageTypePrivate:
93-
PrivateMsgHistogram.Observe(timeElapsed)
98+
if !eventTime.IsZero() {
99+
// Check that we recorded the submission
100+
// as we might not be the party submitting
101+
PrivateMsgHistogram.Observe(timeElapsed)
102+
}
94103
if eventType == core.EventTypeMessageConfirmed { // Private Msg Confirmed
95104
PrivateMsgConfirmedCounter.Inc()
96105
} else if eventType == core.EventTypeMessageRejected { // Private Msg Rejected
@@ -114,18 +123,25 @@ func (mm *metricsManager) TransferSubmitted(transfer *core.TokenTransfer) {
114123
}
115124

116125
func (mm *metricsManager) TransferConfirmed(transfer *core.TokenTransfer) {
117-
timeElapsed := time.Since(mm.GetTime(transfer.LocalID.String())).Seconds()
126+
transferEvent := mm.GetTime(transfer.LocalID.String())
127+
timeElapsed := time.Since(transferEvent).Seconds()
118128
mm.DeleteTime(transfer.LocalID.String())
119129

120130
switch transfer.Type {
121131
case core.TokenTransferTypeMint: // Mint confirmed
122-
MintHistogram.Observe(timeElapsed)
132+
if !transferEvent.IsZero() {
133+
MintHistogram.Observe(timeElapsed)
134+
}
123135
MintConfirmedCounter.Inc()
124136
case core.TokenTransferTypeTransfer: // Transfer confirmed
125-
TransferHistogram.Observe(timeElapsed)
137+
if !transferEvent.IsZero() {
138+
TransferHistogram.Observe(timeElapsed)
139+
}
126140
TransferConfirmedCounter.Inc()
127141
case core.TokenTransferTypeBurn: // Burn confirmed
128-
BurnHistogram.Observe(timeElapsed)
142+
if !transferEvent.IsZero() {
143+
BurnHistogram.Observe(timeElapsed)
144+
}
129145
BurnConfirmedCounter.Inc()
130146
}
131147
}

0 commit comments

Comments
 (0)