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

Scrape targets


`) //line lib/promscrape/targetstatus.qtpl:113 if endpointSearch == "" && labelSearch == "" { //line lib/promscrape/targetstatus.qtpl:113 qw422016.N().S(``) //line lib/promscrape/targetstatus.qtpl:117 } else { //line lib/promscrape/targetstatus.qtpl:117 qw422016.N().S(``) //line lib/promscrape/targetstatus.qtpl:121 } //line lib/promscrape/targetstatus.qtpl:121 qw422016.N().S(`

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

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

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

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

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