|
|
@ -336,6 +336,9 @@ func (p *OpenMetricsParser) Next() (Entry, error) { |
|
|
|
if ts, err = parseFloat(yoloString(p.l.buf()[1:])); err != nil { |
|
|
|
if ts, err = parseFloat(yoloString(p.l.buf()[1:])); err != nil { |
|
|
|
return EntryInvalid, err |
|
|
|
return EntryInvalid, err |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if math.IsNaN(ts) || math.IsInf(ts, 0) { |
|
|
|
|
|
|
|
return EntryInvalid, errors.New("invalid timestamp") |
|
|
|
|
|
|
|
} |
|
|
|
p.ts = int64(ts * 1000) |
|
|
|
p.ts = int64(ts * 1000) |
|
|
|
switch t3 := p.nextToken(); t3 { |
|
|
|
switch t3 := p.nextToken(); t3 { |
|
|
|
case tLinebreak: |
|
|
|
case tLinebreak: |
|
|
@ -392,6 +395,9 @@ func (p *OpenMetricsParser) parseComment() error { |
|
|
|
if ts, err = parseFloat(yoloString(p.l.buf()[1:])); err != nil { |
|
|
|
if ts, err = parseFloat(yoloString(p.l.buf()[1:])); err != nil { |
|
|
|
return err |
|
|
|
return err |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if math.IsNaN(ts) || math.IsInf(ts, 0) { |
|
|
|
|
|
|
|
return errors.New("invalid exemplar timestamp") |
|
|
|
|
|
|
|
} |
|
|
|
p.exemplarTs = int64(ts * 1000) |
|
|
|
p.exemplarTs = int64(ts * 1000) |
|
|
|
switch t3 := p.nextToken(); t3 { |
|
|
|
switch t3 := p.nextToken(); t3 { |
|
|
|
case tLinebreak: |
|
|
|
case tLinebreak: |
|
|
|