Skip to content

Commit a5d95f3

Browse files
authored
Merge pull request #367 from linusg/fix-openmetrics
Make OpenMetrics output spec compliant
2 parents 5ee0790 + 0f3375b commit a5d95f3

File tree

3 files changed

+16
-29
lines changed

3 files changed

+16
-29
lines changed

README.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -627,15 +627,12 @@ The output includes a metadata header containing definitions of the returned met
627627
# UNIT scc_lines lines
628628
# HELP scc_lines Number of lines.
629629
# TYPE scc_code count
630-
# UNIT scc_code lines
631630
# HELP scc_code Number of lines of actual code.
632631
# TYPE scc_comments count
633632
# HELP scc_comments Number of comments.
634633
# TYPE scc_blanks count
635-
# UNIT scc_blanks lines
636634
# HELP scc_blanks Number of blank lines.
637635
# TYPE scc_complexity count
638-
# UNIT scc_complexity lines
639636
# HELP scc_complexity Code complexity.
640637
# TYPE scc_bytes count
641638
# UNIT scc_bytes bytes
@@ -655,12 +652,12 @@ scc_bytes{language="Go"} 1000
655652

656653
or, if `--by-file` is present, in per file form:
657654
```text
658-
scc_lines{language="Go", file="./bbbb.go"} 1000
659-
scc_code{language="Go", file="./bbbb.go"} 1000
660-
scc_comments{language="Go", file="./bbbb.go"} 1000
661-
scc_blanks{language="Go", file="./bbbb.go"} 1000
662-
scc_complexity{language="Go", file="./bbbb.go"} 1000
663-
scc_bytes{language="Go", file="./bbbb.go"} 1000
655+
scc_lines{language="Go",file="./bbbb.go"} 1000
656+
scc_code{language="Go",file="./bbbb.go"} 1000
657+
scc_comments{language="Go",file="./bbbb.go"} 1000
658+
scc_blanks{language="Go",file="./bbbb.go"} 1000
659+
scc_complexity{language="Go",file="./bbbb.go"} 1000
660+
scc_bytes{language="Go",file="./bbbb.go"} 1000
664661
```
665662

666663
### Performance

processor/formatters.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,25 +46,21 @@ var wideFormatFileTruncate = 42
4646
var openMetricsMetadata = `# TYPE scc_files count
4747
# HELP scc_files Number of sourcecode files.
4848
# TYPE scc_lines count
49-
# UNIT scc_lines lines
5049
# HELP scc_lines Number of lines.
5150
# TYPE scc_code count
52-
# UNIT scc_code lines
5351
# HELP scc_code Number of lines of actual code.
5452
# TYPE scc_comments count
5553
# HELP scc_comments Number of comments.
5654
# TYPE scc_blanks count
57-
# UNIT scc_blanks lines
5855
# HELP scc_blanks Number of blank lines.
5956
# TYPE scc_complexity count
60-
# UNIT scc_complexity lines
6157
# HELP scc_complexity Code complexity.
6258
# TYPE scc_bytes count
6359
# UNIT scc_bytes bytes
6460
# HELP scc_bytes Size in bytes.
6561
`
6662
var openMetricsSummaryRecordFormat = "scc_%s{language=\"%s\"} %d\n"
67-
var openMetricsFileRecordFormat = "scc_%s{language=\"%s\", file=\"%s\"} %d\n"
63+
var openMetricsFileRecordFormat = "scc_%s{language=\"%s\",file=\"%s\"} %d\n"
6864

6965
func sortSummaryFiles(summary *LanguageSummary) {
7066
switch {
@@ -461,6 +457,7 @@ func toOpenMetricsFiles(input chan *FileJob) string {
461457
sb.WriteString(fmt.Sprintf(openMetricsFileRecordFormat, "complexity", file.Language, filename, file.Complexity))
462458
sb.WriteString(fmt.Sprintf(openMetricsFileRecordFormat, "bytes", file.Language, filename, file.Bytes))
463459
}
460+
sb.WriteString("# EOF")
464461
return sb.String()
465462
}
466463

processor/formatters_test.go

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -743,15 +743,12 @@ func TestToOpenMetricsMultiple(t *testing.T) {
743743
# UNIT scc_lines lines
744744
# HELP scc_lines Number of lines.
745745
# TYPE scc_code count
746-
# UNIT scc_code lines
747746
# HELP scc_code Number of lines of actual code.
748747
# TYPE scc_comments count
749748
# HELP scc_comments Number of comments.
750749
# TYPE scc_blanks count
751-
# UNIT scc_blanks lines
752750
# HELP scc_blanks Number of blank lines.
753751
# TYPE scc_complexity count
754-
# UNIT scc_complexity lines
755752
# HELP scc_complexity Code complexity.
756753
# TYPE scc_bytes count
757754
# UNIT scc_bytes bytes
@@ -763,6 +760,7 @@ scc_comments{language="Go"} 2000
763760
scc_blanks{language="Go"} 2000
764761
scc_complexity{language="Go"} 2000
765762
scc_bytes{language="Go"} 2000
763+
# EOF
766764
`
767765

768766
if res != expectedResult {
@@ -979,15 +977,12 @@ func TestFileSummarizeOpenMetrics(t *testing.T) {
979977
# UNIT scc_lines lines
980978
# HELP scc_lines Number of lines.
981979
# TYPE scc_code count
982-
# UNIT scc_code lines
983980
# HELP scc_code Number of lines of actual code.
984981
# TYPE scc_comments count
985982
# HELP scc_comments Number of comments.
986983
# TYPE scc_blanks count
987-
# UNIT scc_blanks lines
988984
# HELP scc_blanks Number of blank lines.
989985
# TYPE scc_complexity count
990-
# UNIT scc_complexity lines
991986
# HELP scc_complexity Code complexity.
992987
# TYPE scc_bytes count
993988
# UNIT scc_bytes bytes
@@ -999,6 +994,7 @@ scc_comments{language="Go"} 1000
999994
scc_blanks{language="Go"} 1000
1000995
scc_complexity{language="Go"} 1000
1001996
scc_bytes{language="Go"} 1000
997+
# EOF
1002998
`
1003999

10041000
if res != expectedResult {
@@ -1035,25 +1031,22 @@ func TestFileSummarizeOpenMetricsPerFile(t *testing.T) {
10351031
# UNIT scc_lines lines
10361032
# HELP scc_lines Number of lines.
10371033
# TYPE scc_code count
1038-
# UNIT scc_code lines
10391034
# HELP scc_code Number of lines of actual code.
10401035
# TYPE scc_comments count
10411036
# HELP scc_comments Number of comments.
10421037
# TYPE scc_blanks count
1043-
# UNIT scc_blanks lines
10441038
# HELP scc_blanks Number of blank lines.
10451039
# TYPE scc_complexity count
1046-
# UNIT scc_complexity lines
10471040
# HELP scc_complexity Code complexity.
10481041
# TYPE scc_bytes count
10491042
# UNIT scc_bytes bytes
10501043
# HELP scc_bytes Size in bytes.
1051-
scc_lines{language="Go", file="C:\\bbbb.go"} 1000
1052-
scc_code{language="Go", file="C:\\bbbb.go"} 1000
1053-
scc_comments{language="Go", file="C:\\bbbb.go"} 1000
1054-
scc_blanks{language="Go", file="C:\\bbbb.go"} 1000
1055-
scc_complexity{language="Go", file="C:\\bbbb.go"} 1000
1056-
scc_bytes{language="Go", file="C:\\bbbb.go"} 1000
1044+
scc_lines{language="Go",file="C:\\bbbb.go"} 1000
1045+
scc_code{language="Go",file="C:\\bbbb.go"} 1000
1046+
scc_comments{language="Go",file="C:\\bbbb.go"} 1000
1047+
scc_blanks{language="Go",file="C:\\bbbb.go"} 1000
1048+
scc_complexity{language="Go",file="C:\\bbbb.go"} 1000
1049+
scc_bytes{language="Go",file="C:\\bbbb.go"} 1000
10571050
`
10581051

10591052
if res != expectedResult {

0 commit comments

Comments
 (0)