Skip to content

Commit

Permalink
Add timestamp to metric.Describe
Browse files Browse the repository at this point in the history
This was a bit of a serious omission. Made it hard to debug "partial
write due to data outside of retention policy" issues.
  • Loading branch information
KristianLyng committed Mar 18, 2024
1 parent 1478171 commit eee3d18
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
6 changes: 5 additions & 1 deletion data.go
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,11 @@ func (m Metric) Describe() string {
dfields = fmt.Sprintf("%s [%s=%v]", dfields, idx, v)
}
}
return fmt.Sprintf("%d metadatafields and %d data-fields, First 5 Metadata fields: %s Data: %s", metadata, data, mfields, dfields)
tm := "<nil>"
if m.Time != nil {
tm = m.Time.Format(time.RFC3339)
}
return fmt.Sprintf("%d metadatafields and %d data-fields, time: %s, First 5 Metadata fields: %s Data: %s", metadata, data, tm, mfields, dfields)
}

// Describe returns key properties of the container useful for debugging
Expand Down
8 changes: 4 additions & 4 deletions data_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ func TestValidate(t *testing.T) {
t.Errorf("Validate() succeeded on an Container with empty metrics[]")
}
got = fmt.Sprintf("%s", err)
want = "missing timestamp for metric(0 metadatafields and 0 data-fields, First 5 Metadata fields: Data: )"
want = "missing timestamp for metric(0 metadatafields and 0 data-fields, time: <nil>, First 5 Metadata fields: Data: )"
if got != want {
t.Errorf("Validate() expected reason %s, got %s", want, got)
}
Expand All @@ -118,7 +118,7 @@ func TestValidate(t *testing.T) {
t.Errorf("Validate() succeeded on an Container with no data")
}
got = fmt.Sprintf("%s", err)
want = "missing data for metric(0 metadatafields and 0 data-fields, First 5 Metadata fields: Data: )"
want = fmt.Sprintf("missing data for metric(0 metadatafields and 0 data-fields, time: %s, First 5 Metadata fields: Data: )", now.Format(time.RFC3339))
if got != want {
t.Errorf("Validate() expected reason {%s}, got {%s}", want, got)
}
Expand All @@ -130,7 +130,7 @@ func TestValidate(t *testing.T) {
t.Errorf("Validate() succeeded on an Container with no data")
}
got = fmt.Sprintf("%s", err)
want = "empty data for metric(0 metadatafields and 0 data-fields, First 5 Metadata fields: Data: )"
want = fmt.Sprintf("empty data for metric(0 metadatafields and 0 data-fields, time: %s, First 5 Metadata fields: Data: )", now.Format(time.RFC3339))
if got != want {
t.Errorf("Validate() expected reason %s, got %s", want, got)
}
Expand Down Expand Up @@ -171,7 +171,7 @@ func TestValidate_partial(t *testing.T) {
t.Errorf("Validate() succeeded on an Container with bad data")
}
got := fmt.Sprintf("%s", err)
want := "missing data for metric(1 metadatafields and 0 data-fields, First 5 Metadata fields: [ok=nah] Data: )"
want := "missing data for metric(1 metadatafields and 0 data-fields, time: 2022-03-22T19:55:15+02:00, First 5 Metadata fields: [ok=nah] Data: )"
if got != want {
t.Errorf("Validate() expected reason %s, got %s", want, got)
}
Expand Down

0 comments on commit eee3d18

Please sign in to comment.