// Code generated by qtc from "targets_response.qtpl". DO NOT EDIT.
// See https://github.com/valyala/quicktemplate for details.

//line lib/promscrape/targets_response.qtpl:1
package promscrape

//line lib/promscrape/targets_response.qtpl:1
import "github.com/VictoriaMetrics/VictoriaMetrics/lib/prompbmarshal"

//line lib/promscrape/targets_response.qtpl:6
import (
	qtio422016 "io"

	qt422016 "github.com/valyala/quicktemplate"
)

//line lib/promscrape/targets_response.qtpl:6
var (
	_ = qtio422016.Copy
	_ = qt422016.AcquireByteBuffer
)

//line lib/promscrape/targets_response.qtpl:6
func StreamTargetsResponsePlain(qw422016 *qt422016.Writer, jts []jobTargetsStatuses, emptyJobs []string, showOriginLabels bool) {
//line lib/promscrape/targets_response.qtpl:8
	for _, js := range jts {
//line lib/promscrape/targets_response.qtpl:8
		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().D(js.upCount)
//line lib/promscrape/targets_response.qtpl:9
		qw422016.N().S(`/`)
//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)`)
//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:13
			labels := promLabelsString(ts.labels)
			ol := promLabelsString(ts.originalLabels)

//line lib/promscrape/targets_response.qtpl:16
			qw422016.N().S("\t")
//line lib/promscrape/targets_response.qtpl:16
			qw422016.N().S(`state=`)
//line lib/promscrape/targets_response.qtpl:16
			if ts.up {
//line lib/promscrape/targets_response.qtpl:16
				qw422016.N().S(`up`)
//line lib/promscrape/targets_response.qtpl:16
			} else {
//line lib/promscrape/targets_response.qtpl:16
				qw422016.N().S(`down`)
//line lib/promscrape/targets_response.qtpl:16
			}
//line lib/promscrape/targets_response.qtpl:16
			qw422016.N().S(`,`)
//line lib/promscrape/targets_response.qtpl:16
			qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:16
			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:17
			qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:17
			qw422016.N().S(`labels=`)
//line lib/promscrape/targets_response.qtpl:18
			qw422016.N().S(labels)
//line lib/promscrape/targets_response.qtpl:19
			if showOriginLabels {
//line lib/promscrape/targets_response.qtpl:19
				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:19
			qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:19
			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 ago,`)
//line lib/promscrape/targets_response.qtpl:20
			qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:20
			qw422016.N().S(`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:21
			qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:21
			qw422016.N().S(`samples_scraped=`)
//line lib/promscrape/targets_response.qtpl:22
			qw422016.N().D(ts.samplesScraped)
//line lib/promscrape/targets_response.qtpl:22
			qw422016.N().S(`,`)
//line lib/promscrape/targets_response.qtpl:22
			qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:22
			qw422016.N().S(`error=`)
//line lib/promscrape/targets_response.qtpl:23
			qw422016.N().Q(ts.errMsg)
//line lib/promscrape/targets_response.qtpl:24
			qw422016.N().S(`
`)
//line lib/promscrape/targets_response.qtpl:25
		}
//line lib/promscrape/targets_response.qtpl:26
	}
//line lib/promscrape/targets_response.qtpl:28
	for _, jobName := range emptyJobs {
//line lib/promscrape/targets_response.qtpl:28
		qw422016.N().S(`job=`)
//line lib/promscrape/targets_response.qtpl:29
		qw422016.N().Q(jobName)
//line lib/promscrape/targets_response.qtpl:29
		qw422016.N().S(`(0/0 up)`)
//line lib/promscrape/targets_response.qtpl:30
		qw422016.N().S(`
`)
//line lib/promscrape/targets_response.qtpl:31
	}
//line lib/promscrape/targets_response.qtpl:33
}

//line lib/promscrape/targets_response.qtpl:33
func WriteTargetsResponsePlain(qq422016 qtio422016.Writer, jts []jobTargetsStatuses, emptyJobs []string, showOriginLabels bool) {
//line lib/promscrape/targets_response.qtpl:33
	qw422016 := qt422016.AcquireWriter(qq422016)
//line lib/promscrape/targets_response.qtpl:33
	StreamTargetsResponsePlain(qw422016, jts, emptyJobs, showOriginLabels)
//line lib/promscrape/targets_response.qtpl:33
	qt422016.ReleaseWriter(qw422016)
//line lib/promscrape/targets_response.qtpl:33
}

//line lib/promscrape/targets_response.qtpl:33
func TargetsResponsePlain(jts []jobTargetsStatuses, emptyJobs []string, showOriginLabels bool) string {
//line lib/promscrape/targets_response.qtpl:33
	qb422016 := qt422016.AcquireByteBuffer()
//line lib/promscrape/targets_response.qtpl:33
	WriteTargetsResponsePlain(qb422016, jts, emptyJobs, showOriginLabels)
//line lib/promscrape/targets_response.qtpl:33
	qs422016 := string(qb422016.B)
//line lib/promscrape/targets_response.qtpl:33
	qt422016.ReleaseByteBuffer(qb422016)
//line lib/promscrape/targets_response.qtpl:33
	return qs422016
//line lib/promscrape/targets_response.qtpl:33
}

//line lib/promscrape/targets_response.qtpl:35
func StreamTargetsResponseHTML(qw422016 *qt422016.Writer, jts []jobTargetsStatuses, emptyJobs []string, onlyUnhealthy bool) {
//line lib/promscrape/targets_response.qtpl:35
	qw422016.N().S(`<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"><title>Scrape targets</title></head><body class="m-3"><h1>Scrape targets</h1><div><button type="button" class="btn`)
//line lib/promscrape/targets_response.qtpl:47
	qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:47
	if !onlyUnhealthy {
//line lib/promscrape/targets_response.qtpl:47
		qw422016.N().S(`btn-primary`)
//line lib/promscrape/targets_response.qtpl:47
	} else {
//line lib/promscrape/targets_response.qtpl:47
		qw422016.N().S(`btn-secondary`)
//line lib/promscrape/targets_response.qtpl:47
	}
//line lib/promscrape/targets_response.qtpl:47
	qw422016.N().S(`" onclick="location.href='targets'">All</button><button type="button" class="btn`)
//line lib/promscrape/targets_response.qtpl:50
	qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:50
	if onlyUnhealthy {
//line lib/promscrape/targets_response.qtpl:50
		qw422016.N().S(`btn-primary`)
//line lib/promscrape/targets_response.qtpl:50
	} else {
//line lib/promscrape/targets_response.qtpl:50
		qw422016.N().S(`btn-secondary`)
//line lib/promscrape/targets_response.qtpl:50
	}
//line lib/promscrape/targets_response.qtpl:50
	qw422016.N().S(`" onclick="location.href='targets?show_only_unhealthy=true'">Unhealthy</button></div>`)
//line lib/promscrape/targets_response.qtpl:54
	for i, js := range jts {
//line lib/promscrape/targets_response.qtpl:55
		if onlyUnhealthy && js.upCount == js.targetsTotal {
//line lib/promscrape/targets_response.qtpl:55
			continue
//line lib/promscrape/targets_response.qtpl:55
		}
//line lib/promscrape/targets_response.qtpl:55
		qw422016.N().S(`<div><h4>`)
//line lib/promscrape/targets_response.qtpl:58
		qw422016.E().S(js.job)
//line lib/promscrape/targets_response.qtpl:58
		qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:58
		qw422016.N().S(`(`)
//line lib/promscrape/targets_response.qtpl:58
		qw422016.N().D(js.upCount)
//line lib/promscrape/targets_response.qtpl:58
		qw422016.N().S(`/`)
//line lib/promscrape/targets_response.qtpl:58
		qw422016.N().D(js.targetsTotal)
//line lib/promscrape/targets_response.qtpl:58
		qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:58
		qw422016.N().S(`up)<button type="button" class="btn btn-primary" onclick="document.getElementById('table-`)
//line lib/promscrape/targets_response.qtpl:59
		qw422016.N().D(i)
//line lib/promscrape/targets_response.qtpl:59
		qw422016.N().S(`').style.display='none'">collapse</button><button type="button" class="btn btn-secondary" onclick="document.getElementById('table-`)
//line lib/promscrape/targets_response.qtpl:60
		qw422016.N().D(i)
//line lib/promscrape/targets_response.qtpl:60
		qw422016.N().S(`').style.display='block'">expand</button></h4><div id="table-`)
//line lib/promscrape/targets_response.qtpl:62
		qw422016.N().D(i)
//line lib/promscrape/targets_response.qtpl:62
		qw422016.N().S(`"><table class="table table-striped table-hover table-bordered table-sm"><thead><tr><th scope="col">Endpoint</th><th scope="col">State</th><th scope="col">Labels</th><th scope="col">Last Scrape</th><th scope="col">Scrape Duration</th><th scope="col">Samples Scraped</th><th scope="col">Error</th></tr></thead><tbody>`)
//line lib/promscrape/targets_response.qtpl:76
		for j, ts := range js.targetsStatus {
//line lib/promscrape/targets_response.qtpl:77
			if onlyUnhealthy && ts.up {
//line lib/promscrape/targets_response.qtpl:77
				continue
//line lib/promscrape/targets_response.qtpl:77
			}
//line lib/promscrape/targets_response.qtpl:77
			qw422016.N().S(`<tr`)
//line lib/promscrape/targets_response.qtpl:78
			if !ts.up {
//line lib/promscrape/targets_response.qtpl:78
				qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:78
				qw422016.N().S(`class="alert alert-danger" role="alert"`)
//line lib/promscrape/targets_response.qtpl:78
			}
//line lib/promscrape/targets_response.qtpl:78
			qw422016.N().S(`><td><a href="`)
//line lib/promscrape/targets_response.qtpl:79
			qw422016.E().S(ts.endpoint)
//line lib/promscrape/targets_response.qtpl:79
			qw422016.N().S(`">`)
//line lib/promscrape/targets_response.qtpl:79
			qw422016.E().S(ts.endpoint)
//line lib/promscrape/targets_response.qtpl:79
			qw422016.N().S(`</a><br></td><td>`)
//line lib/promscrape/targets_response.qtpl:80
			if ts.up {
//line lib/promscrape/targets_response.qtpl:80
				qw422016.N().S(`UP`)
//line lib/promscrape/targets_response.qtpl:80
			} else {
//line lib/promscrape/targets_response.qtpl:80
				qw422016.N().S(`DOWN`)
//line lib/promscrape/targets_response.qtpl:80
			}
//line lib/promscrape/targets_response.qtpl:80
			qw422016.N().S(`</td><td><button type="button" class="btn btn-sm btn-outline-info" onclick="document.getElementById('original_labels_`)
//line lib/promscrape/targets_response.qtpl:82
			qw422016.N().D(i)
//line lib/promscrape/targets_response.qtpl:82
			qw422016.N().S(`_`)
//line lib/promscrape/targets_response.qtpl:82
			qw422016.N().D(j)
//line lib/promscrape/targets_response.qtpl:82
			qw422016.N().S(`').style.display='block'">show original labels</button>`)
//line lib/promscrape/targets_response.qtpl:82
			qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:83
			streamformatLabel(qw422016, ts.labels)
//line lib/promscrape/targets_response.qtpl:83
			qw422016.N().S(`<div style="display:none" id="original_labels_`)
//line lib/promscrape/targets_response.qtpl:84
			qw422016.N().D(i)
//line lib/promscrape/targets_response.qtpl:84
			qw422016.N().S(`_`)
//line lib/promscrape/targets_response.qtpl:84
			qw422016.N().D(j)
//line lib/promscrape/targets_response.qtpl:84
			qw422016.N().S(`"><button type="button" class="btn btn-sm btn-outline-info" onclick="document.getElementById('original_labels_`)
//line lib/promscrape/targets_response.qtpl:85
			qw422016.N().D(i)
//line lib/promscrape/targets_response.qtpl:85
			qw422016.N().S(`_`)
//line lib/promscrape/targets_response.qtpl:85
			qw422016.N().D(j)
//line lib/promscrape/targets_response.qtpl:85
			qw422016.N().S(`').style.display='none'">hide original labels</button>`)
//line lib/promscrape/targets_response.qtpl:85
			qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:86
			streamformatLabel(qw422016, ts.originalLabels)
//line lib/promscrape/targets_response.qtpl:86
			qw422016.N().S(`</div></td><td>`)
//line lib/promscrape/targets_response.qtpl:89
			qw422016.N().FPrec(ts.lastScrapeTime.Seconds(), 3)
//line lib/promscrape/targets_response.qtpl:89
			qw422016.N().S(`s ago</td><td>`)
//line lib/promscrape/targets_response.qtpl:90
			qw422016.N().FPrec(ts.scrapeDuration.Seconds(), 3)
//line lib/promscrape/targets_response.qtpl:90
			qw422016.N().S(`s</td><td>`)
//line lib/promscrape/targets_response.qtpl:91
			qw422016.N().D(ts.samplesScraped)
//line lib/promscrape/targets_response.qtpl:91
			qw422016.N().S(`</td><td>`)
//line lib/promscrape/targets_response.qtpl:92
			qw422016.E().S(ts.errMsg)
//line lib/promscrape/targets_response.qtpl:92
			qw422016.N().S(`</td></tr>`)
//line lib/promscrape/targets_response.qtpl:94
		}
//line lib/promscrape/targets_response.qtpl:94
		qw422016.N().S(`</tbody></table></div></div>`)
//line lib/promscrape/targets_response.qtpl:99
	}
//line lib/promscrape/targets_response.qtpl:101
	for _, jobName := range emptyJobs {
//line lib/promscrape/targets_response.qtpl:101
		qw422016.N().S(`<div><h4><a>`)
//line lib/promscrape/targets_response.qtpl:104
		qw422016.E().S(jobName)
//line lib/promscrape/targets_response.qtpl:104
		qw422016.N().S(`(0/0 up)</a></h4><table class="table table-striped table-hover table-bordered table-sm"><thead><tr><th scope="col">Endpoint</th><th scope="col">State</th><th scope="col">Labels</th><th scope="col">Last Scrape</th><th scope="col">Scrape Duration</th><th scope="col">Samples Scraped</th><th scope="col">Error</th></tr></thead></table></div>`)
//line lib/promscrape/targets_response.qtpl:120
	}
//line lib/promscrape/targets_response.qtpl:120
	qw422016.N().S(`</body></html>`)
//line lib/promscrape/targets_response.qtpl:123
}

//line lib/promscrape/targets_response.qtpl:123
func WriteTargetsResponseHTML(qq422016 qtio422016.Writer, jts []jobTargetsStatuses, emptyJobs []string, onlyUnhealthy bool) {
//line lib/promscrape/targets_response.qtpl:123
	qw422016 := qt422016.AcquireWriter(qq422016)
//line lib/promscrape/targets_response.qtpl:123
	StreamTargetsResponseHTML(qw422016, jts, emptyJobs, onlyUnhealthy)
//line lib/promscrape/targets_response.qtpl:123
	qt422016.ReleaseWriter(qw422016)
//line lib/promscrape/targets_response.qtpl:123
}

//line lib/promscrape/targets_response.qtpl:123
func TargetsResponseHTML(jts []jobTargetsStatuses, emptyJobs []string, onlyUnhealthy bool) string {
//line lib/promscrape/targets_response.qtpl:123
	qb422016 := qt422016.AcquireByteBuffer()
//line lib/promscrape/targets_response.qtpl:123
	WriteTargetsResponseHTML(qb422016, jts, emptyJobs, onlyUnhealthy)
//line lib/promscrape/targets_response.qtpl:123
	qs422016 := string(qb422016.B)
//line lib/promscrape/targets_response.qtpl:123
	qt422016.ReleaseByteBuffer(qb422016)
//line lib/promscrape/targets_response.qtpl:123
	return qs422016
//line lib/promscrape/targets_response.qtpl:123
}

//line lib/promscrape/targets_response.qtpl:125
func streamformatLabel(qw422016 *qt422016.Writer, labels []prompbmarshal.Label) {
//line lib/promscrape/targets_response.qtpl:125
	qw422016.N().S(`{`)
//line lib/promscrape/targets_response.qtpl:127
	for i, label := range labels {
//line lib/promscrape/targets_response.qtpl:128
		qw422016.E().S(label.Name)
//line lib/promscrape/targets_response.qtpl:128
		qw422016.N().S(`=`)
//line lib/promscrape/targets_response.qtpl:128
		qw422016.E().Q(label.Value)
//line lib/promscrape/targets_response.qtpl:129
		if i+1 < len(labels) {
//line lib/promscrape/targets_response.qtpl:129
			qw422016.N().S(`,`)
//line lib/promscrape/targets_response.qtpl:129
			qw422016.N().S(` `)
//line lib/promscrape/targets_response.qtpl:129
		}
//line lib/promscrape/targets_response.qtpl:130
	}
//line lib/promscrape/targets_response.qtpl:130
	qw422016.N().S(`}`)
//line lib/promscrape/targets_response.qtpl:132
}

//line lib/promscrape/targets_response.qtpl:132
func writeformatLabel(qq422016 qtio422016.Writer, labels []prompbmarshal.Label) {
//line lib/promscrape/targets_response.qtpl:132
	qw422016 := qt422016.AcquireWriter(qq422016)
//line lib/promscrape/targets_response.qtpl:132
	streamformatLabel(qw422016, labels)
//line lib/promscrape/targets_response.qtpl:132
	qt422016.ReleaseWriter(qw422016)
//line lib/promscrape/targets_response.qtpl:132
}

//line lib/promscrape/targets_response.qtpl:132
func formatLabel(labels []prompbmarshal.Label) string {
//line lib/promscrape/targets_response.qtpl:132
	qb422016 := qt422016.AcquireByteBuffer()
//line lib/promscrape/targets_response.qtpl:132
	writeformatLabel(qb422016, labels)
//line lib/promscrape/targets_response.qtpl:132
	qs422016 := string(qb422016.B)
//line lib/promscrape/targets_response.qtpl:132
	qt422016.ReleaseByteBuffer(qb422016)
//line lib/promscrape/targets_response.qtpl:132
	return qs422016
//line lib/promscrape/targets_response.qtpl:132
}
