Skip to content
This repository was archived by the owner on Mar 15, 2024. It is now read-only.

Commit 33b9bad

Browse files
committed
feat(metrics): add additional error metrics
1 parent be6911f commit 33b9bad

File tree

2 files changed

+44
-15
lines changed

2 files changed

+44
-15
lines changed

metrics/events.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,17 @@ func (m *Metrics) HandleFailureEvent(ctx context.Context, id types.RetrievalID,
3232
m.graphsyncRetrievalFailureCount.Add(ctx, 1, attribute.String("sp_id", storageProviderID))
3333
}
3434
var errorMetricMatches = map[string]instrument.Int64Counter{
35-
"response rejected": m.retrievalErrorRejectedCount,
36-
"Too many retrieval deals received": m.retrievalErrorTooManyCount,
37-
"Access Control": m.retrievalErrorACLCount,
38-
"Under maintenance, retry later": m.retrievalErrorMaintenanceCount,
39-
"miner is not accepting online retrieval deals": m.retrievalErrorNoOnlineCount,
40-
"unconfirmed block transfer": m.retrievalErrorUnconfirmedCount,
41-
"timeout after ": m.retrievalErrorTimeoutCount,
35+
"response rejected": m.retrievalErrorRejectedCount,
36+
"Too many retrieval deals received": m.retrievalErrorTooManyCount,
37+
"Access Control": m.retrievalErrorACLCount,
38+
"Under maintenance, retry later": m.retrievalErrorMaintenanceCount,
39+
"miner is not accepting online retrieval deals": m.retrievalErrorNoOnlineCount,
40+
"unconfirmed block transfer": m.retrievalErrorUnconfirmedCount,
41+
"timeout after ": m.retrievalErrorTimeoutCount,
42+
"there is no unsealed piece containing payload cid": m.retrievalErrorNoUnsealedCount,
43+
"getting pieces for cid": m.retrievalErrorDAGStoreCount,
44+
"graphsync request failed to complete: request failed - unknown reason": m.retrievalErrorGraphsyncCount,
45+
"failed to dial": m.retrievalErrorFailedToDialCount,
4246
}
4347

4448
var matched bool

metrics/metrics.go

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,27 @@ func (m *Metrics) Start() error {
267267
); err != nil {
268268
return err
269269
}
270+
if m.retrievalErrorNoUnsealedCount, err = meter.Int64Counter(meterName+"/retrieval_error_no_unsealed_total",
271+
instrument.WithDescription("The number of retrieval errors where the provider could not find an unsealed piece"),
272+
); err != nil {
273+
return err
274+
}
275+
if m.retrievalErrorDAGStoreCount, err = meter.Int64Counter(meterName+"/retrieval_error_dagstore_total",
276+
instrument.WithDescription("The number of retrieval errors due to DAG Store issues"),
277+
); err != nil {
278+
return err
279+
}
280+
if m.retrievalErrorGraphsyncCount, err = meter.Int64Counter(meterName+"/retrieval_error_graphsync_total",
281+
instrument.WithDescription("The number of retrieval errors due to graphsync requests that errored"),
282+
); err != nil {
283+
return err
284+
}
285+
if m.retrievalErrorFailedToDialCount, err = meter.Int64Counter(meterName+"/retrieval_error_failed_to_dial_total",
286+
instrument.WithDescription("The number of retrieval errors because we could not connected to the provider"),
287+
); err != nil {
288+
return err
289+
}
290+
270291
if m.retrievalErrorOtherCount, err = meter.Int64Counter(meterName+"/retrieval_error_other_total",
271292
instrument.WithDescription("The number of retrieval errors with uncategorized causes"),
272293
); err != nil {
@@ -316,14 +337,18 @@ type stats struct {
316337
retrievalDealSize instrument.Int64Histogram
317338

318339
// error kinds
319-
retrievalErrorRejectedCount instrument.Int64Counter
320-
retrievalErrorTooManyCount instrument.Int64Counter
321-
retrievalErrorACLCount instrument.Int64Counter
322-
retrievalErrorMaintenanceCount instrument.Int64Counter
323-
retrievalErrorNoOnlineCount instrument.Int64Counter
324-
retrievalErrorUnconfirmedCount instrument.Int64Counter
325-
retrievalErrorTimeoutCount instrument.Int64Counter
326-
retrievalErrorOtherCount instrument.Int64Counter
340+
retrievalErrorRejectedCount instrument.Int64Counter
341+
retrievalErrorTooManyCount instrument.Int64Counter
342+
retrievalErrorACLCount instrument.Int64Counter
343+
retrievalErrorMaintenanceCount instrument.Int64Counter
344+
retrievalErrorNoOnlineCount instrument.Int64Counter
345+
retrievalErrorUnconfirmedCount instrument.Int64Counter
346+
retrievalErrorTimeoutCount instrument.Int64Counter
347+
retrievalErrorOtherCount instrument.Int64Counter
348+
retrievalErrorNoUnsealedCount instrument.Int64Counter
349+
retrievalErrorDAGStoreCount instrument.Int64Counter
350+
retrievalErrorGraphsyncCount instrument.Int64Counter
351+
retrievalErrorFailedToDialCount instrument.Int64Counter
327352

328353
// averages
329354
indexerCandidatesPerRequestCount instrument.Int64Histogram

0 commit comments

Comments
 (0)