{% import ( "net/url" "github.com/VictoriaMetrics/VictoriaMetrics/lib/prompbmarshal" "github.com/VictoriaMetrics/VictoriaMetrics/lib/promrelabel" ) %} {% stripspace %} {% func TargetsResponsePlain(jts []jobTargetsStatuses, emptyJobs []string, showOriginLabels, showOnlyUnhealthy bool, err error) %} {% if err != nil %} {%s= err.Error() %} {% return %} {% endif %} {% for _, js := range jts %} {% if showOnlyUnhealthy && js.upCount == js.targetsTotal %}{% continue %}{% endif %} job={%q= js.job %} ({%d js.upCount %}/{%d js.targetsTotal %}{% space %}up) {% newline %} {% for _, ts := range js.targetsStatus %} {% if showOnlyUnhealthy && ts.up %}{% continue %}{% endif %} {%s= "\t" %} state={% if ts.up %}up{% else %}down{% endif %},{% space %} endpoint={%s= ts.sw.Config.ScrapeURL %},{% space %} labels={%s= promLabelsString(promrelabel.FinalizeLabels(nil, ts.sw.Config.Labels)) %},{% space %} {% if showOriginLabels %}originalLabels={%s= promLabelsString(ts.sw.Config.OriginalLabels) %},{% space %}{% endif %} scrapes_total={%d ts.scrapesTotal %},{% space %} scrapes_failed={%d ts.scrapesFailed %},{% space %} last_scrape={%f.3 ts.getDurationFromLastScrape().Seconds() %}s ago,{% space %} scrape_duration={%d int(ts.scrapeDuration) %}ms,{% space %} samples_scraped={%d ts.samplesScraped %},{% space %} error={% if ts.err != nil %}{%s= ts.err.Error() %}{% endif %} {% newline %} {% endfor %} {% endfor %} {% for _, jobName := range emptyJobs %} job={%q= jobName %} (0/0 up) {% newline %} {% endfor %} {% endfunc %} {% func TargetsResponseHTML(scrapeTargets scrapeTargets) %} {% code targetsStatuses := scrapeTargets.targetsStatuses filter := scrapeTargets.requestFilter if filter.activeTab == "" { filter.activeTab="targets-tab" } %} Scrape targets
{% if targetsStatuses.err != nil %} {%= errorNotification(targetsStatuses.err) %} {% endif %}

Scrape targets


{% if filter.endpointSearch == "" && filter.labelSearch == "" %} {% else %} {% endif %}

{%= Targets(targetsStatuses.jobTargetsStatuses, targetsStatuses.emptyJobs, filter.showOnlyUnhealthy) %}
{%= ServiceDiscovery(targetsStatuses.jobTargetsStatuses, targetsStatuses.emptyJobs, filter.showOnlyUnhealthy, targetsStatuses.droppedKeyStatuses) %}
{% endfunc %} {% func queryArgs(m map[string]string) %} {% code qa := make(url.Values, len(m)) for k, v := range m { qa[k] = []string{v} } %} {%s qa.Encode() %} {% endfunc %} {% func formatLabel(labels []prompbmarshal.Label) %} { {% for i, label := range labels %} {%s label.Name %}={%q label.Value %} {% if i+1 < len(labels) %},{% space %}{% endif %} {% endfor %} } {% endfunc %} {% func errorNotification(err error) %} {% endfunc %} {% endstripspace %}