// Code generated by qtc from "targetstatus.qtpl". DO NOT EDIT. // See https://github.com/valyala/quicktemplate for details. //line targetstatus.qtpl:1 package promscrape //line targetstatus.qtpl:1 import ( "github.com/VictoriaMetrics/VictoriaMetrics/lib/prompbmarshal" "github.com/VictoriaMetrics/VictoriaMetrics/lib/promrelabel" "net/url" "time" ) //line targetstatus.qtpl:10 import ( qtio422016 "io" qt422016 "github.com/valyala/quicktemplate" ) //line targetstatus.qtpl:10 var ( _ = qtio422016.Copy _ = qt422016.AcquireByteBuffer ) //line targetstatus.qtpl:10 func StreamTargetsResponsePlain(qw422016 *qt422016.Writer, jts []jobTargetsStatuses, emptyJobs []string, showOriginLabels, showOnlyUnhealthy bool, err error) { //line targetstatus.qtpl:12 if err != nil { //line targetstatus.qtpl:13 qw422016.N().S(err.Error()) //line targetstatus.qtpl:14 return //line targetstatus.qtpl:15 } //line targetstatus.qtpl:17 for _, js := range jts { //line targetstatus.qtpl:18 if showOnlyUnhealthy && js.upCount == js.targetsTotal { //line targetstatus.qtpl:18 continue //line targetstatus.qtpl:18 } //line targetstatus.qtpl:18 qw422016.N().S(`job=`) //line targetstatus.qtpl:19 qw422016.N().Q(js.job) //line targetstatus.qtpl:19 qw422016.N().S(`(`) //line targetstatus.qtpl:19 qw422016.N().D(js.upCount) //line targetstatus.qtpl:19 qw422016.N().S(`/`) //line targetstatus.qtpl:19 qw422016.N().D(js.targetsTotal) //line targetstatus.qtpl:19 qw422016.N().S(` `) //line targetstatus.qtpl:19 qw422016.N().S(`up)`) //line targetstatus.qtpl:20 qw422016.N().S(` `) //line targetstatus.qtpl:21 for _, ts := range js.targetsStatus { //line targetstatus.qtpl:22 if showOnlyUnhealthy && ts.up { //line targetstatus.qtpl:22 continue //line targetstatus.qtpl:22 } //line targetstatus.qtpl:23 qw422016.N().S("\t") //line targetstatus.qtpl:23 qw422016.N().S(`state=`) //line targetstatus.qtpl:24 if ts.up { //line targetstatus.qtpl:24 qw422016.N().S(`up`) //line targetstatus.qtpl:24 } else { //line targetstatus.qtpl:24 qw422016.N().S(`down`) //line targetstatus.qtpl:24 } //line targetstatus.qtpl:24 qw422016.N().S(`,`) //line targetstatus.qtpl:24 qw422016.N().S(` `) //line targetstatus.qtpl:24 qw422016.N().S(`endpoint=`) //line targetstatus.qtpl:25 qw422016.N().S(ts.sw.Config.ScrapeURL) //line targetstatus.qtpl:25 qw422016.N().S(`,`) //line targetstatus.qtpl:25 qw422016.N().S(` `) //line targetstatus.qtpl:25 qw422016.N().S(`labels=`) //line targetstatus.qtpl:26 qw422016.N().S(promLabelsString(promrelabel.FinalizeLabels(nil, ts.sw.Config.Labels))) //line targetstatus.qtpl:26 qw422016.N().S(`,`) //line targetstatus.qtpl:26 qw422016.N().S(` `) //line targetstatus.qtpl:27 if showOriginLabels { //line targetstatus.qtpl:27 qw422016.N().S(`originalLabels=`) //line targetstatus.qtpl:27 qw422016.N().S(promLabelsString(ts.sw.Config.OriginalLabels)) //line targetstatus.qtpl:27 qw422016.N().S(`,`) //line targetstatus.qtpl:27 qw422016.N().S(` `) //line targetstatus.qtpl:27 } //line targetstatus.qtpl:27 qw422016.N().S(`scrapes_total=`) //line targetstatus.qtpl:28 qw422016.N().D(ts.scrapesTotal) //line targetstatus.qtpl:28 qw422016.N().S(`,`) //line targetstatus.qtpl:28 qw422016.N().S(` `) //line targetstatus.qtpl:28 qw422016.N().S(`scrapes_failed=`) //line targetstatus.qtpl:29 qw422016.N().D(ts.scrapesFailed) //line targetstatus.qtpl:29 qw422016.N().S(`,`) //line targetstatus.qtpl:29 qw422016.N().S(` `) //line targetstatus.qtpl:29 qw422016.N().S(`last_scrape=`) //line targetstatus.qtpl:30 qw422016.N().FPrec(ts.getDurationFromLastScrape().Seconds(), 3) //line targetstatus.qtpl:30 qw422016.N().S(`s ago,`) //line targetstatus.qtpl:30 qw422016.N().S(` `) //line targetstatus.qtpl:30 qw422016.N().S(`scrape_duration=`) //line targetstatus.qtpl:31 qw422016.N().D(int(ts.scrapeDuration)) //line targetstatus.qtpl:31 qw422016.N().S(`ms,`) //line targetstatus.qtpl:31 qw422016.N().S(` `) //line targetstatus.qtpl:31 qw422016.N().S(`samples_scraped=`) //line targetstatus.qtpl:32 qw422016.N().D(ts.samplesScraped) //line targetstatus.qtpl:32 qw422016.N().S(`,`) //line targetstatus.qtpl:32 qw422016.N().S(` `) //line targetstatus.qtpl:32 qw422016.N().S(`error=`) //line targetstatus.qtpl:33 if ts.err != nil { //line targetstatus.qtpl:33 qw422016.N().S(ts.err.Error()) //line targetstatus.qtpl:33 } //line targetstatus.qtpl:34 qw422016.N().S(` `) //line targetstatus.qtpl:35 } //line targetstatus.qtpl:36 } //line targetstatus.qtpl:38 for _, jobName := range emptyJobs { //line targetstatus.qtpl:38 qw422016.N().S(`job=`) //line targetstatus.qtpl:39 qw422016.N().Q(jobName) //line targetstatus.qtpl:39 qw422016.N().S(`(0/0 up)`) //line targetstatus.qtpl:40 qw422016.N().S(` `) //line targetstatus.qtpl:41 } //line targetstatus.qtpl:43 } //line targetstatus.qtpl:43 func WriteTargetsResponsePlain(qq422016 qtio422016.Writer, jts []jobTargetsStatuses, emptyJobs []string, showOriginLabels, showOnlyUnhealthy bool, err error) { //line targetstatus.qtpl:43 qw422016 := qt422016.AcquireWriter(qq422016) //line targetstatus.qtpl:43 StreamTargetsResponsePlain(qw422016, jts, emptyJobs, showOriginLabels, showOnlyUnhealthy, err) //line targetstatus.qtpl:43 qt422016.ReleaseWriter(qw422016) //line targetstatus.qtpl:43 } //line targetstatus.qtpl:43 func TargetsResponsePlain(jts []jobTargetsStatuses, emptyJobs []string, showOriginLabels, showOnlyUnhealthy bool, err error) string { //line targetstatus.qtpl:43 qb422016 := qt422016.AcquireByteBuffer() //line targetstatus.qtpl:43 WriteTargetsResponsePlain(qb422016, jts, emptyJobs, showOriginLabels, showOnlyUnhealthy, err) //line targetstatus.qtpl:43 qs422016 := string(qb422016.B) //line targetstatus.qtpl:43 qt422016.ReleaseByteBuffer(qb422016) //line targetstatus.qtpl:43 return qs422016 //line targetstatus.qtpl:43 } //line targetstatus.qtpl:45 func StreamTargetsResponseHTML(qw422016 *qt422016.Writer, jts []jobTargetsStatuses, emptyJobs []string, showOnlyUnhealthy bool, endpointSearch, labelSearch string, err error) { //line targetstatus.qtpl:45 qw422016.N().S(`Scrape targets
`) //line targetstatus.qtpl:84 if err != nil { //line targetstatus.qtpl:85 streamerrorNotification(qw422016, err) //line targetstatus.qtpl:86 } //line targetstatus.qtpl:86 qw422016.N().S(`

Scrape targets


`) //line targetstatus.qtpl:121 if endpointSearch == "" && labelSearch == "" { //line targetstatus.qtpl:121 qw422016.N().S(``) //line targetstatus.qtpl:125 } else { //line targetstatus.qtpl:125 qw422016.N().S(``) //line targetstatus.qtpl:129 } //line targetstatus.qtpl:129 qw422016.N().S(`

`) //line targetstatus.qtpl:155 for i, js := range jts { //line targetstatus.qtpl:156 if showOnlyUnhealthy && js.upCount == js.targetsTotal { //line targetstatus.qtpl:156 continue //line targetstatus.qtpl:156 } //line targetstatus.qtpl:156 qw422016.N().S(`

`) //line targetstatus.qtpl:160 qw422016.E().S(js.job) //line targetstatus.qtpl:160 qw422016.N().S(` `) //line targetstatus.qtpl:160 qw422016.N().S(`(`) //line targetstatus.qtpl:160 qw422016.N().D(js.upCount) //line targetstatus.qtpl:160 qw422016.N().S(`/`) //line targetstatus.qtpl:160 qw422016.N().D(js.targetsTotal) //line targetstatus.qtpl:160 qw422016.N().S(` `) //line targetstatus.qtpl:160 qw422016.N().S(`up)

`) //line targetstatus.qtpl:184 for _, ts := range js.targetsStatus { //line targetstatus.qtpl:186 endpoint := ts.sw.Config.ScrapeURL targetID := getTargetID(ts.sw) lastScrapeTime := ts.getDurationFromLastScrape() //line targetstatus.qtpl:190 if showOnlyUnhealthy && ts.up { //line targetstatus.qtpl:190 continue //line targetstatus.qtpl:190 } //line targetstatus.qtpl:190 qw422016.N().S(``) //line targetstatus.qtpl:219 } //line targetstatus.qtpl:219 qw422016.N().S(`
EndpointStateLabelsScrapesErrorsLast ScrapeDurationSamplesLast error
`) //line targetstatus.qtpl:192 qw422016.E().S(endpoint) //line targetstatus.qtpl:192 qw422016.N().S(` (response)`) //line targetstatus.qtpl:197 if ts.up { //line targetstatus.qtpl:197 qw422016.N().S(`UP`) //line targetstatus.qtpl:197 } else { //line targetstatus.qtpl:197 qw422016.N().S(`DOWN`) //line targetstatus.qtpl:197 } //line targetstatus.qtpl:197 qw422016.N().S(`
`) //line targetstatus.qtpl:201 streamformatLabel(qw422016, promrelabel.FinalizeLabels(nil, ts.sw.Config.Labels)) //line targetstatus.qtpl:201 qw422016.N().S(`
`) //line targetstatus.qtpl:207 qw422016.N().D(ts.scrapesTotal) //line targetstatus.qtpl:207 qw422016.N().S(``) //line targetstatus.qtpl:208 qw422016.N().D(ts.scrapesFailed) //line targetstatus.qtpl:208 qw422016.N().S(``) //line targetstatus.qtpl:210 if lastScrapeTime < 365*24*time.Hour { //line targetstatus.qtpl:211 qw422016.N().FPrec(lastScrapeTime.Seconds(), 3) //line targetstatus.qtpl:211 qw422016.N().S(`s ago`) //line targetstatus.qtpl:212 } else { //line targetstatus.qtpl:212 qw422016.N().S(`none`) //line targetstatus.qtpl:214 } //line targetstatus.qtpl:214 qw422016.N().S(``) //line targetstatus.qtpl:215 qw422016.N().D(int(ts.scrapeDuration)) //line targetstatus.qtpl:215 qw422016.N().S(`ms`) //line targetstatus.qtpl:216 qw422016.N().D(ts.samplesScraped) //line targetstatus.qtpl:216 qw422016.N().S(``) //line targetstatus.qtpl:217 if ts.err != nil { //line targetstatus.qtpl:217 qw422016.E().S(ts.err.Error()) //line targetstatus.qtpl:217 } //line targetstatus.qtpl:217 qw422016.N().S(`
`) //line targetstatus.qtpl:225 } //line targetstatus.qtpl:225 qw422016.N().S(`
`) //line targetstatus.qtpl:229 for _, jobName := range emptyJobs { //line targetstatus.qtpl:229 qw422016.N().S(`

`) //line targetstatus.qtpl:232 qw422016.E().S(jobName) //line targetstatus.qtpl:232 qw422016.N().S(`(0/0 up)

EndpointStateLabelsLast ScrapeScrape DurationSamples ScrapedError
`) //line targetstatus.qtpl:248 } //line targetstatus.qtpl:248 qw422016.N().S(`
`) //line targetstatus.qtpl:254 } //line targetstatus.qtpl:254 func WriteTargetsResponseHTML(qq422016 qtio422016.Writer, jts []jobTargetsStatuses, emptyJobs []string, showOnlyUnhealthy bool, endpointSearch, labelSearch string, err error) { //line targetstatus.qtpl:254 qw422016 := qt422016.AcquireWriter(qq422016) //line targetstatus.qtpl:254 StreamTargetsResponseHTML(qw422016, jts, emptyJobs, showOnlyUnhealthy, endpointSearch, labelSearch, err) //line targetstatus.qtpl:254 qt422016.ReleaseWriter(qw422016) //line targetstatus.qtpl:254 } //line targetstatus.qtpl:254 func TargetsResponseHTML(jts []jobTargetsStatuses, emptyJobs []string, showOnlyUnhealthy bool, endpointSearch, labelSearch string, err error) string { //line targetstatus.qtpl:254 qb422016 := qt422016.AcquireByteBuffer() //line targetstatus.qtpl:254 WriteTargetsResponseHTML(qb422016, jts, emptyJobs, showOnlyUnhealthy, endpointSearch, labelSearch, err) //line targetstatus.qtpl:254 qs422016 := string(qb422016.B) //line targetstatus.qtpl:254 qt422016.ReleaseByteBuffer(qb422016) //line targetstatus.qtpl:254 return qs422016 //line targetstatus.qtpl:254 } //line targetstatus.qtpl:256 func streamqueryArgs(qw422016 *qt422016.Writer, m map[string]string) { //line targetstatus.qtpl:258 qa := make(url.Values, len(m)) for k, v := range m { qa[k] = []string{v} } //line targetstatus.qtpl:263 qw422016.E().S(qa.Encode()) //line targetstatus.qtpl:264 } //line targetstatus.qtpl:264 func writequeryArgs(qq422016 qtio422016.Writer, m map[string]string) { //line targetstatus.qtpl:264 qw422016 := qt422016.AcquireWriter(qq422016) //line targetstatus.qtpl:264 streamqueryArgs(qw422016, m) //line targetstatus.qtpl:264 qt422016.ReleaseWriter(qw422016) //line targetstatus.qtpl:264 } //line targetstatus.qtpl:264 func queryArgs(m map[string]string) string { //line targetstatus.qtpl:264 qb422016 := qt422016.AcquireByteBuffer() //line targetstatus.qtpl:264 writequeryArgs(qb422016, m) //line targetstatus.qtpl:264 qs422016 := string(qb422016.B) //line targetstatus.qtpl:264 qt422016.ReleaseByteBuffer(qb422016) //line targetstatus.qtpl:264 return qs422016 //line targetstatus.qtpl:264 } //line targetstatus.qtpl:266 func streamformatLabel(qw422016 *qt422016.Writer, labels []prompbmarshal.Label) { //line targetstatus.qtpl:266 qw422016.N().S(`{`) //line targetstatus.qtpl:268 for i, label := range labels { //line targetstatus.qtpl:269 qw422016.E().S(label.Name) //line targetstatus.qtpl:269 qw422016.N().S(`=`) //line targetstatus.qtpl:269 qw422016.E().Q(label.Value) //line targetstatus.qtpl:270 if i+1 < len(labels) { //line targetstatus.qtpl:270 qw422016.N().S(`,`) //line targetstatus.qtpl:270 qw422016.N().S(` `) //line targetstatus.qtpl:270 } //line targetstatus.qtpl:271 } //line targetstatus.qtpl:271 qw422016.N().S(`}`) //line targetstatus.qtpl:273 } //line targetstatus.qtpl:273 func writeformatLabel(qq422016 qtio422016.Writer, labels []prompbmarshal.Label) { //line targetstatus.qtpl:273 qw422016 := qt422016.AcquireWriter(qq422016) //line targetstatus.qtpl:273 streamformatLabel(qw422016, labels) //line targetstatus.qtpl:273 qt422016.ReleaseWriter(qw422016) //line targetstatus.qtpl:273 } //line targetstatus.qtpl:273 func formatLabel(labels []prompbmarshal.Label) string { //line targetstatus.qtpl:273 qb422016 := qt422016.AcquireByteBuffer() //line targetstatus.qtpl:273 writeformatLabel(qb422016, labels) //line targetstatus.qtpl:273 qs422016 := string(qb422016.B) //line targetstatus.qtpl:273 qt422016.ReleaseByteBuffer(qb422016) //line targetstatus.qtpl:273 return qs422016 //line targetstatus.qtpl:273 } //line targetstatus.qtpl:275 func streamerrorNotification(qw422016 *qt422016.Writer, err error) { //line targetstatus.qtpl:275 qw422016.N().S(``) //line targetstatus.qtpl:283 } //line targetstatus.qtpl:283 func writeerrorNotification(qq422016 qtio422016.Writer, err error) { //line targetstatus.qtpl:283 qw422016 := qt422016.AcquireWriter(qq422016) //line targetstatus.qtpl:283 streamerrorNotification(qw422016, err) //line targetstatus.qtpl:283 qt422016.ReleaseWriter(qw422016) //line targetstatus.qtpl:283 } //line targetstatus.qtpl:283 func errorNotification(err error) string { //line targetstatus.qtpl:283 qb422016 := qt422016.AcquireByteBuffer() //line targetstatus.qtpl:283 writeerrorNotification(qb422016, err) //line targetstatus.qtpl:283 qs422016 := string(qb422016.B) //line targetstatus.qtpl:283 qt422016.ReleaseByteBuffer(qb422016) //line targetstatus.qtpl:283 return qs422016 //line targetstatus.qtpl:283 }