@@ -23,6 +23,10 @@ author:
2323 name : Rob Skillington
2424 organization : Chronosphere
252526+ - ins : O. Williams
27+ name : Owen Williams
28+ organization : Grafana Labs
29+ 2630---
2731
2832- Version: 1.1
@@ -321,13 +325,15 @@ metric = *sample
321325metric-type = counter / gauge / histogram / gaugehistogram / stateset
322326metric-type =/ info / summary / unknown
323327
324- sample = metricname [ labels] SP number [SP timestamp] [exemplar] LF
328+ sample = metricname-and- labels SP number [SP timestamp] [exemplar] LF
325329
326- exemplar = SP HASH SP labels SP number [SP timestamp]
330+ metricname-and-labels = metricname [labels-in-braces] / name-in-braces
331+ labels-in-braces = "{" [label *(COMMA label)] "}"
332+ name-in-braces = "{" metricname-utf8 *(COMMA label) "}"
327333
328- labels = "{" [ label *(COMMA label)] "}"
334+ label = label-key EQ DQUOTE escaped-string DQUOTE
329335
330- label = label-name EQ DQUOTE escaped-string DQUOTE
336+ exemplar = SP HASH SP labels-in-braces SP number [SP timestamp]
331337
332338number = realnumber
333339; Case insensitive
@@ -366,16 +372,16 @@ HASH = "#"
366372SIGN = "-" / "+"
367373
368374metricname = metricname-initial-char 0*metricname-char
369-
370375metricname-char = metricname-initial-char / DIGIT
371376metricname-initial-char = ALPHA / "_" / ":"
377+ metricname-utf8 = DQUOTE escaped-string DQUOTE
372378
379+ label-key = label-name / DQUOTE escaped-string DQUOTE
373380label-name = label-name-initial-char *label-name-char
374-
375381label-name-char = label-name-initial-char / DIGIT
376382label-name-initial-char = ALPHA / "_"
377383
378- escaped-string = *escaped-char
384+ escaped-string = 1 *escaped-char
379385
380386escaped-char = normal-char
381387escaped-char =/ BS ("n" / DQUOTE / BS)
0 commit comments