From 4e48067133dfb139b07c08ac36d19d1e8354561d Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Tue, 15 Dec 2020 01:01:22 +0200 Subject: [PATCH 1/4] .github/workflows/main.yml: set GO111MODULE=off when installing auxiliary tools via `go install` --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 16d3cdcefb..4662926ee0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,7 +20,7 @@ jobs: id: go - name: Dependencies env: - GO111MODULE: on + GO111MODULE: off run: | go install golang.org/x/lint/golint go install github.com/kisielk/errcheck From 020917949bcd9ef5bb6c8a9ed74052843e0f8e60 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Tue, 15 Dec 2020 11:24:18 +0200 Subject: [PATCH 2/4] lib/promscrape: formatting fixes for `/targets` page --- lib/promscrape/targets_response.qtpl | 12 ++++++------ lib/promscrape/targets_response.qtpl.go | 20 +++++++++++--------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/lib/promscrape/targets_response.qtpl b/lib/promscrape/targets_response.qtpl index f1fa91f9b5..cce1ae6c59 100644 --- a/lib/promscrape/targets_response.qtpl +++ b/lib/promscrape/targets_response.qtpl @@ -18,7 +18,7 @@ job={%q= js.job %}{% space %} ({%d js.upCount %}/{%d js.targetsTotal %} {% space {% space %} labels={%s= labels %} {% if showOriginLabels %},{% space %} originalLabels={%s= ol %}{% endif %}, {% space %} last_scrape={%f.3 ts.lastScrapeTime.Seconds() %}s {% space %} ago, - {% space %} scrape_duration={%f.3 float64(ts.scrapeDuration.Seconds()) %}s, + {% space %} scrape_duration={%f.3 ts.scrapeDuration.Seconds() %}s, {% space %} error={%q= ts.error %} {% newline %} {% endfor %} @@ -57,7 +57,7 @@ job={%q= js.job %}{% space %} ({%d js.upCount %}/{%d js.targetsTotal %} {% space {% for _,js :=range jts %}

- {%q= js.job %} ({%d js.upCount %}/{%d js.targetsTotal %} up) + {%q js.job %} ({%d js.upCount %}/{%d js.targetsTotal %} up)

@@ -75,7 +75,7 @@ job={%q= js.job %}{% space %} ({%d js.upCount %}/{%d js.targetsTotal %} {% space {% if onlyUnhealthy && ts.up %} {% continue %} {% endif %} - - - + + + {% endfor %} diff --git a/lib/promscrape/targets_response.qtpl.go b/lib/promscrape/targets_response.qtpl.go index b0472bddbf..34ecfb8c4d 100644 --- a/lib/promscrape/targets_response.qtpl.go +++ b/lib/promscrape/targets_response.qtpl.go @@ -112,7 +112,7 @@ func StreamTargetsResponsePlain(qw422016 *qt422016.Writer, jts []jobTargetsStatu //line lib/promscrape/targets_response.qtpl:21 qw422016.N().S(`scrape_duration=`) //line lib/promscrape/targets_response.qtpl:21 - qw422016.N().FPrec(float64(ts.scrapeDuration.Seconds()), 3) + qw422016.N().FPrec(ts.scrapeDuration.Seconds(), 3) //line lib/promscrape/targets_response.qtpl:21 qw422016.N().S(`s,`) //line lib/promscrape/targets_response.qtpl:22 @@ -193,11 +193,11 @@ func StreamTargetsResponseHTML(qw422016 *qt422016.Writer, jts []jobTargetsStatus //line lib/promscrape/targets_response.qtpl:57 qw422016.N().S(``) //line lib/promscrape/targets_response.qtpl:90 From 5af2a9ca0e47afc53cd01664ddbab94168f3d376 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Tue, 15 Dec 2020 11:58:53 +0200 Subject: [PATCH 3/4] lib/promscrape: formatting fixes for `/tarets` page --- lib/promscrape/targets_response.qtpl | 17 +++++++++-------- lib/promscrape/targets_response.qtpl.go | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/promscrape/targets_response.qtpl b/lib/promscrape/targets_response.qtpl index cce1ae6c59..8729335b1f 100644 --- a/lib/promscrape/targets_response.qtpl +++ b/lib/promscrape/targets_response.qtpl @@ -29,6 +29,8 @@ job={%q= js.job %}{% space %} ({%d js.upCount %}/{%d js.targetsTotal %} {% space {% func TargetsResponseHTML(jts []jobTargetsStatuses, redirectPath string, onlyUnhealthy bool) %} + + - - - - VictoriaMetrics Database - - + + Scrape targets + +

Targets

- {%s= ts.endpoint %}
+ {%s ts.endpoint %}
{% if ts.up %}UP{% else %}DOWN{% endif %} @@ -83,9 +83,9 @@ job={%q= js.job %}{% space %} ({%d js.upCount %}/{%d js.targetsTotal %} {% space {%= formatLabel(ts.labels) %} {%s ts.lastScrapeTime.String() %} {% space %} ago{%s ts.scrapeDuration.String() %}{%s= ts.error %}{%f.3 ts.lastScrapeTime.Seconds() %}s {% space %} ago{%f.3 ts.scrapeDuration.Seconds() %}s{%s ts.error %}
`) //line lib/promscrape/targets_response.qtpl:78 - qw422016.N().S(ts.endpoint) + qw422016.E().S(ts.endpoint) //line lib/promscrape/targets_response.qtpl:78 qw422016.N().S(`
`) //line lib/promscrape/targets_response.qtpl:81 @@ -253,17 +253,19 @@ func StreamTargetsResponseHTML(qw422016 *qt422016.Writer, jts []jobTargetsStatus //line lib/promscrape/targets_response.qtpl:84 qw422016.N().S(``) //line lib/promscrape/targets_response.qtpl:86 - qw422016.E().S(ts.lastScrapeTime.String()) + qw422016.N().FPrec(ts.lastScrapeTime.Seconds(), 3) +//line lib/promscrape/targets_response.qtpl:86 + qw422016.N().S(`s`) //line lib/promscrape/targets_response.qtpl:86 qw422016.N().S(` `) //line lib/promscrape/targets_response.qtpl:86 qw422016.N().S(`ago`) //line lib/promscrape/targets_response.qtpl:87 - qw422016.E().S(ts.scrapeDuration.String()) + qw422016.N().FPrec(ts.scrapeDuration.Seconds(), 3) //line lib/promscrape/targets_response.qtpl:87 - qw422016.N().S(``) + qw422016.N().S(`s`) //line lib/promscrape/targets_response.qtpl:88 - qw422016.N().S(ts.error) + qw422016.E().S(ts.error) //line lib/promscrape/targets_response.qtpl:88 qw422016.N().S(`
{% endfor %} - + {% endfunc %} {% func formatLabel(labels []prompbmarshal.Label) %} {% for _, label := range labels %} - {% space %} {%s label.Name %}={%q label.Value %} {% space %} + {% space %} {%s label.Name %}={%q label.Value %} {% space %} {% endfor %} {% endfunc %} + {% endstripspace %} diff --git a/lib/promscrape/targets_response.qtpl.go b/lib/promscrape/targets_response.qtpl.go index 34ecfb8c4d..1d7ed7a2e9 100644 --- a/lib/promscrape/targets_response.qtpl.go +++ b/lib/promscrape/targets_response.qtpl.go @@ -163,7 +163,7 @@ func TargetsResponsePlain(jts []jobTargetsStatuses, showOriginLabels bool) strin //line lib/promscrape/targets_response.qtpl:30 func StreamTargetsResponseHTML(qw422016 *qt422016.Writer, jts []jobTargetsStatuses, redirectPath string, onlyUnhealthy bool) { //line lib/promscrape/targets_response.qtpl:30 - qw422016.N().S(`VictoriaMetrics Database

Targets

- - -
+ +

Scrape targets

+
+ +
{% for _,js :=range jts %} -
-

- {%q js.job %} ({%d js.upCount %}/{%d js.targetsTotal %} up) -

- - - - - - - - - - - - - {% for _, ts := range js.targetsStatus %} - {% if onlyUnhealthy && ts.up %} {% continue %} {% endif %} - - - - - - - - - {% endfor %} - -
EndpointStateLabelsLast ScrapeScrape DurationError
- {%s ts.endpoint %}
-
- {% if ts.up %}UP{% else %}DOWN{% endif %} - - {%= formatLabel(ts.labels) %} - {%f.3 ts.lastScrapeTime.Seconds() %}s {% space %} ago{%f.3 ts.scrapeDuration.Seconds() %}s{%s ts.error %}
-
+ {% if onlyUnhealthy && js.upCount == js.targetsTotal %}{% continue %}{% endif %} +
+

+ {%s js.job %} ({%d js.upCount %}/{%d js.targetsTotal %} up) +

+ + + + + + + + + + + + + {% for _, ts := range js.targetsStatus %} + {% if onlyUnhealthy && ts.up %}{% continue %}{% endif %} + + + + + + + + + {% endfor %} + +
EndpointStateLabelsLast ScrapeScrape DurationError
{%s ts.endpoint %}
{% if ts.up %}UP{% else %}DOWN{% endif %} + {%= formatLabel(ts.labels) %} + {%f.3 ts.lastScrapeTime.Seconds() %}s ago{%f.3 ts.scrapeDuration.Seconds() %}s{%s ts.error %}
+
{% endfor %} @@ -98,8 +89,8 @@ job={%q= js.job %}{% space %} ({%d js.upCount %}/{%d js.targetsTotal %} {% space {% func formatLabel(labels []prompbmarshal.Label) %} {% for _, label := range labels %} - {% space %} {%s label.Name %}={%q label.Value %} {% space %} + {%s label.Name %}={%q label.Value %} {% space %} {% endfor %} {% endfunc %} -{% endstripspace %} +{% endcollapsespace %} diff --git a/lib/promscrape/targets_response.qtpl.go b/lib/promscrape/targets_response.qtpl.go index 1d7ed7a2e9..0c9d9699a9 100644 --- a/lib/promscrape/targets_response.qtpl.go +++ b/lib/promscrape/targets_response.qtpl.go @@ -25,13 +25,11 @@ func StreamTargetsResponsePlain(qw422016 *qt422016.Writer, jts []jobTargetsStatu //line lib/promscrape/targets_response.qtpl:8 for _, js := range jts { //line lib/promscrape/targets_response.qtpl:8 - qw422016.N().S(`job=`) + qw422016.N().S(` job=`) //line lib/promscrape/targets_response.qtpl:9 qw422016.N().Q(js.job) //line lib/promscrape/targets_response.qtpl:9 - qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:9 - qw422016.N().S(`(`) + qw422016.N().S(` (`) //line lib/promscrape/targets_response.qtpl:9 qw422016.N().D(js.upCount) //line lib/promscrape/targets_response.qtpl:9 @@ -39,18 +37,22 @@ func StreamTargetsResponsePlain(qw422016 *qt422016.Writer, jts []jobTargetsStatu //line lib/promscrape/targets_response.qtpl:9 qw422016.N().D(js.targetsTotal) //line lib/promscrape/targets_response.qtpl:9 - qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:9 - qw422016.N().S(`up)`) + qw422016.N().S(` up) `) //line lib/promscrape/targets_response.qtpl:10 qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:10 + qw422016.N().S(` `) //line lib/promscrape/targets_response.qtpl:11 for _, ts := range js.targetsStatus { +//line lib/promscrape/targets_response.qtpl:11 + qw422016.N().S(` `) //line lib/promscrape/targets_response.qtpl:13 labels := promLabelsString(ts.labels) ol := promLabelsString(ts.originalLabels) +//line lib/promscrape/targets_response.qtpl:15 + qw422016.N().S(` `) //line lib/promscrape/targets_response.qtpl:16 qw422016.N().S("\t") //line lib/promscrape/targets_response.qtpl:16 @@ -66,71 +68,55 @@ func StreamTargetsResponsePlain(qw422016 *qt422016.Writer, jts []jobTargetsStatu //line lib/promscrape/targets_response.qtpl:16 } //line lib/promscrape/targets_response.qtpl:16 - qw422016.N().S(`,`) -//line lib/promscrape/targets_response.qtpl:17 - qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:17 - qw422016.N().S(`endpoint=`) + qw422016.N().S(`, endpoint=`) //line lib/promscrape/targets_response.qtpl:17 qw422016.N().S(ts.endpoint) //line lib/promscrape/targets_response.qtpl:17 - qw422016.N().S(`,`) -//line lib/promscrape/targets_response.qtpl:18 - qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:18 - qw422016.N().S(`labels=`) + qw422016.N().S(`, labels=`) //line lib/promscrape/targets_response.qtpl:18 qw422016.N().S(labels) +//line lib/promscrape/targets_response.qtpl:18 + qw422016.N().S(` `) //line lib/promscrape/targets_response.qtpl:19 if showOriginLabels { //line lib/promscrape/targets_response.qtpl:19 - qw422016.N().S(`,`) -//line lib/promscrape/targets_response.qtpl:19 - qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:19 - qw422016.N().S(`originalLabels=`) + qw422016.N().S(`, originalLabels=`) //line lib/promscrape/targets_response.qtpl:19 qw422016.N().S(ol) //line lib/promscrape/targets_response.qtpl:19 } //line lib/promscrape/targets_response.qtpl:19 - qw422016.N().S(`,`) -//line lib/promscrape/targets_response.qtpl:20 - qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:20 - qw422016.N().S(`last_scrape=`) + qw422016.N().S(`, last_scrape=`) //line lib/promscrape/targets_response.qtpl:20 qw422016.N().FPrec(ts.lastScrapeTime.Seconds(), 3) //line lib/promscrape/targets_response.qtpl:20 - qw422016.N().S(`s`) -//line lib/promscrape/targets_response.qtpl:20 - qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:20 - qw422016.N().S(`ago,`) -//line lib/promscrape/targets_response.qtpl:21 - qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:21 - qw422016.N().S(`scrape_duration=`) + qw422016.N().S(`s ago, scrape_duration=`) //line lib/promscrape/targets_response.qtpl:21 qw422016.N().FPrec(ts.scrapeDuration.Seconds(), 3) //line lib/promscrape/targets_response.qtpl:21 - qw422016.N().S(`s,`) -//line lib/promscrape/targets_response.qtpl:22 - qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:22 - qw422016.N().S(`error=`) + qw422016.N().S(`s, error=`) //line lib/promscrape/targets_response.qtpl:22 qw422016.N().Q(ts.error) +//line lib/promscrape/targets_response.qtpl:22 + qw422016.N().S(` `) //line lib/promscrape/targets_response.qtpl:23 qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:23 + qw422016.N().S(` `) //line lib/promscrape/targets_response.qtpl:24 } +//line lib/promscrape/targets_response.qtpl:24 + qw422016.N().S(` `) //line lib/promscrape/targets_response.qtpl:25 } +//line lib/promscrape/targets_response.qtpl:25 + qw422016.N().S(` `) //line lib/promscrape/targets_response.qtpl:26 qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:26 + qw422016.N().S(` `) //line lib/promscrape/targets_response.qtpl:28 } @@ -163,189 +149,225 @@ func TargetsResponsePlain(jts []jobTargetsStatuses, showOriginLabels bool) strin //line lib/promscrape/targets_response.qtpl:30 func StreamTargetsResponseHTML(qw422016 *qt422016.Writer, jts []jobTargetsStatuses, redirectPath string, onlyUnhealthy bool) { //line lib/promscrape/targets_response.qtpl:30 - qw422016.N().S(`Scrape targets

Targets

`) +//line lib/promscrape/targets_response.qtpl:51 for _, js := range jts { -//line lib/promscrape/targets_response.qtpl:57 - qw422016.N().S(`

`) -//line lib/promscrape/targets_response.qtpl:60 - qw422016.E().Q(js.job) -//line lib/promscrape/targets_response.qtpl:60 - qw422016.N().S(`(`) -//line lib/promscrape/targets_response.qtpl:60 - qw422016.N().D(js.upCount) -//line lib/promscrape/targets_response.qtpl:60 - qw422016.N().S(`/`) -//line lib/promscrape/targets_response.qtpl:60 - qw422016.N().D(js.targetsTotal) -//line lib/promscrape/targets_response.qtpl:60 - qw422016.N().S(`up)

`) -//line lib/promscrape/targets_response.qtpl:74 - for _, ts := range js.targetsStatus { -//line lib/promscrape/targets_response.qtpl:75 - if onlyUnhealthy && ts.up { -//line lib/promscrape/targets_response.qtpl:75 - continue -//line lib/promscrape/targets_response.qtpl:75 - } -//line lib/promscrape/targets_response.qtpl:75 - qw422016.N().S(``) -//line lib/promscrape/targets_response.qtpl:90 +//line lib/promscrape/targets_response.qtpl:51 + qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:52 + if onlyUnhealthy && js.upCount == js.targetsTotal { +//line lib/promscrape/targets_response.qtpl:52 + continue +//line lib/promscrape/targets_response.qtpl:52 } -//line lib/promscrape/targets_response.qtpl:90 - qw422016.N().S(`
EndpointStateLabelsLast ScrapeScrape DurationError
`) -//line lib/promscrape/targets_response.qtpl:78 - qw422016.E().S(ts.endpoint) -//line lib/promscrape/targets_response.qtpl:78 - qw422016.N().S(`
`) -//line lib/promscrape/targets_response.qtpl:81 - if ts.up { -//line lib/promscrape/targets_response.qtpl:81 - qw422016.N().S(`UP`) -//line lib/promscrape/targets_response.qtpl:81 - } else { -//line lib/promscrape/targets_response.qtpl:81 - qw422016.N().S(`DOWN`) -//line lib/promscrape/targets_response.qtpl:81 - } -//line lib/promscrape/targets_response.qtpl:81 - qw422016.N().S(``) -//line lib/promscrape/targets_response.qtpl:84 - streamformatLabel(qw422016, ts.labels) -//line lib/promscrape/targets_response.qtpl:84 - qw422016.N().S(``) -//line lib/promscrape/targets_response.qtpl:86 - qw422016.N().FPrec(ts.lastScrapeTime.Seconds(), 3) -//line lib/promscrape/targets_response.qtpl:86 - qw422016.N().S(`s`) -//line lib/promscrape/targets_response.qtpl:86 - qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:86 - qw422016.N().S(`ago`) -//line lib/promscrape/targets_response.qtpl:87 - qw422016.N().FPrec(ts.scrapeDuration.Seconds(), 3) -//line lib/promscrape/targets_response.qtpl:87 - qw422016.N().S(`s`) -//line lib/promscrape/targets_response.qtpl:88 - qw422016.E().S(ts.error) -//line lib/promscrape/targets_response.qtpl:88 - qw422016.N().S(`
`) -//line lib/promscrape/targets_response.qtpl:94 +//line lib/promscrape/targets_response.qtpl:52 + qw422016.N().S(`

`) +//line lib/promscrape/targets_response.qtpl:55 + qw422016.E().S(js.job) +//line lib/promscrape/targets_response.qtpl:55 + qw422016.N().S(` (`) +//line lib/promscrape/targets_response.qtpl:55 + qw422016.N().D(js.upCount) +//line lib/promscrape/targets_response.qtpl:55 + qw422016.N().S(`/`) +//line lib/promscrape/targets_response.qtpl:55 + qw422016.N().D(js.targetsTotal) +//line lib/promscrape/targets_response.qtpl:55 + qw422016.N().S(` up)

`) +//line lib/promscrape/targets_response.qtpl:69 + for _, ts := range js.targetsStatus { +//line lib/promscrape/targets_response.qtpl:69 + qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:70 + if onlyUnhealthy && ts.up { +//line lib/promscrape/targets_response.qtpl:70 + continue +//line lib/promscrape/targets_response.qtpl:70 + } +//line lib/promscrape/targets_response.qtpl:70 + qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:81 + } +//line lib/promscrape/targets_response.qtpl:81 + qw422016.N().S(`
Endpoint State Labels Last Scrape Scrape Duration Error
`) +//line lib/promscrape/targets_response.qtpl:72 + qw422016.E().S(ts.endpoint) +//line lib/promscrape/targets_response.qtpl:72 + qw422016.N().S(`
`) +//line lib/promscrape/targets_response.qtpl:73 + if ts.up { +//line lib/promscrape/targets_response.qtpl:73 + qw422016.N().S(`UP`) +//line lib/promscrape/targets_response.qtpl:73 + } else { +//line lib/promscrape/targets_response.qtpl:73 + qw422016.N().S(`DOWN`) +//line lib/promscrape/targets_response.qtpl:73 + } +//line lib/promscrape/targets_response.qtpl:73 + qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:75 + streamformatLabel(qw422016, ts.labels) +//line lib/promscrape/targets_response.qtpl:75 + qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:77 + qw422016.N().FPrec(ts.lastScrapeTime.Seconds(), 3) +//line lib/promscrape/targets_response.qtpl:77 + qw422016.N().S(`s ago `) +//line lib/promscrape/targets_response.qtpl:78 + qw422016.N().FPrec(ts.scrapeDuration.Seconds(), 3) +//line lib/promscrape/targets_response.qtpl:78 + qw422016.N().S(`s `) +//line lib/promscrape/targets_response.qtpl:79 + qw422016.E().S(ts.error) +//line lib/promscrape/targets_response.qtpl:79 + qw422016.N().S(`
`) +//line lib/promscrape/targets_response.qtpl:85 } -//line lib/promscrape/targets_response.qtpl:94 - qw422016.N().S(``) -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:85 + qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:88 } -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 func WriteTargetsResponseHTML(qq422016 qtio422016.Writer, jts []jobTargetsStatuses, redirectPath string, onlyUnhealthy bool) { -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 StreamTargetsResponseHTML(qw422016, jts, redirectPath, onlyUnhealthy) -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 } -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 func TargetsResponseHTML(jts []jobTargetsStatuses, redirectPath string, onlyUnhealthy bool) string { -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 WriteTargetsResponseHTML(qb422016, jts, redirectPath, onlyUnhealthy) -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 qs422016 := string(qb422016.B) -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 return qs422016 -//line lib/promscrape/targets_response.qtpl:97 +//line lib/promscrape/targets_response.qtpl:88 } -//line lib/promscrape/targets_response.qtpl:99 +//line lib/promscrape/targets_response.qtpl:90 func streamformatLabel(qw422016 *qt422016.Writer, labels []prompbmarshal.Label) { -//line lib/promscrape/targets_response.qtpl:100 +//line lib/promscrape/targets_response.qtpl:90 + qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:91 for _, label := range labels { -//line lib/promscrape/targets_response.qtpl:101 +//line lib/promscrape/targets_response.qtpl:91 qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:101 +//line lib/promscrape/targets_response.qtpl:92 qw422016.E().S(label.Name) -//line lib/promscrape/targets_response.qtpl:101 +//line lib/promscrape/targets_response.qtpl:92 qw422016.N().S(`=`) -//line lib/promscrape/targets_response.qtpl:101 +//line lib/promscrape/targets_response.qtpl:92 qw422016.E().Q(label.Value) -//line lib/promscrape/targets_response.qtpl:101 +//line lib/promscrape/targets_response.qtpl:92 qw422016.N().S(` `) -//line lib/promscrape/targets_response.qtpl:102 +//line lib/promscrape/targets_response.qtpl:92 + qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:92 + qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:93 } -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:93 + qw422016.N().S(` `) +//line lib/promscrape/targets_response.qtpl:94 } -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 func writeformatLabel(qq422016 qtio422016.Writer, labels []prompbmarshal.Label) { -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 streamformatLabel(qw422016, labels) -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 } -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 func formatLabel(labels []prompbmarshal.Label) string { -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 writeformatLabel(qb422016, labels) -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 qs422016 := string(qb422016.B) -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 return qs422016 -//line lib/promscrape/targets_response.qtpl:103 +//line lib/promscrape/targets_response.qtpl:94 }