Continue if labels are bad

Signed-off-by: Felix Yuan <felix.yuan@reddit.com>
This commit is contained in:
Felix Yuan 2023-06-29 14:54:16 -07:00
parent 393dab8141
commit 66a22531ff
2 changed files with 11 additions and 14 deletions

View File

@ -82,19 +82,16 @@ func (c *PGStatUserIndexesCollector) Update(ctx context.Context, instance *insta
if err := rows.Scan(&schemaname, &relname, &indexrelname, &idxScan, &idxTupRead, &idxTupFetch); err != nil {
return err
}
schemanameLabel := "unknown"
if schemaname.Valid {
schemanameLabel = schemaname.String
if !schemaname.Valid {
continue
}
relnameLabel := "unknown"
if relname.Valid {
relnameLabel = relname.String
if !relname.Valid {
continue
}
indexrelnameLabel := "unknown"
if indexrelname.Valid {
indexrelnameLabel = indexrelname.String
if !indexrelname.Valid {
continue
}
labels := []string{schemanameLabel, relnameLabel, indexrelnameLabel}
labels := []string{schemaname.String, relname.String, indexrelname.String}
idxScanMetric := 0.0
if idxScan.Valid {

View File

@ -83,7 +83,7 @@ func TestPgStatUserIndexesCollectorNull(t *testing.T) {
"idx_tup_fetch",
}
rows := sqlmock.NewRows(columns).
AddRow(nil, nil, nil, nil, nil, nil)
AddRow("foo", "bar", "blah", nil, nil, nil)
mock.ExpectQuery(sanitizeQuery(statUserIndexesQuery)).WillReturnRows(rows)
@ -97,9 +97,9 @@ func TestPgStatUserIndexesCollectorNull(t *testing.T) {
}
}()
expected := []MetricResult{
{labels: labelMap{"schemaname": "unknown", "relname": "unknown", "indexrelname": "unknown"}, value: 0, metricType: dto.MetricType_COUNTER},
{labels: labelMap{"schemaname": "unknown", "relname": "unknown", "indexrelname": "unknown"}, value: 0, metricType: dto.MetricType_COUNTER},
{labels: labelMap{"schemaname": "unknown", "relname": "unknown", "indexrelname": "unknown"}, value: 0, metricType: dto.MetricType_COUNTER},
{labels: labelMap{"schemaname": "foo", "relname": "bar", "indexrelname": "blah"}, value: 0, metricType: dto.MetricType_COUNTER},
{labels: labelMap{"schemaname": "foo", "relname": "bar", "indexrelname": "blah"}, value: 0, metricType: dto.MetricType_COUNTER},
{labels: labelMap{"schemaname": "foo", "relname": "bar", "indexrelname": "blah"}, value: 0, metricType: dto.MetricType_COUNTER},
}
convey.Convey("Metrics comparison", t, func() {
for _, expect := range expected {