From 5bca3a5be2ed1e5b8c91f1c19caebaa0ec3ab14a Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Tue, 3 Jan 2023 23:26:27 -0800 Subject: [PATCH] app/vmselect: remove dependency on lib/promscrape from app/vmselect --- lib/htmlcomponents/components.qtpl | 33 + lib/htmlcomponents/components.qtpl.go | 127 ++ lib/promrelabel/debug.go | 131 ++ .../debug.qtpl} | 22 +- lib/promrelabel/debug.qtpl.go | 433 ++++++ lib/promscrape/relabel_debug.go | 134 +- lib/promscrape/relabel_debug.qtpl.go | 433 ------ lib/promscrape/targetstatus.qtpl | 40 +- lib/promscrape/targetstatus.qtpl.go | 1286 ++++++++--------- 9 files changed, 1341 insertions(+), 1298 deletions(-) create mode 100644 lib/htmlcomponents/components.qtpl create mode 100644 lib/htmlcomponents/components.qtpl.go create mode 100644 lib/promrelabel/debug.go rename lib/{promscrape/relabel_debug.qtpl => promrelabel/debug.qtpl} (89%) create mode 100644 lib/promrelabel/debug.qtpl.go delete mode 100644 lib/promscrape/relabel_debug.qtpl.go diff --git a/lib/htmlcomponents/components.qtpl b/lib/htmlcomponents/components.qtpl new file mode 100644 index 0000000000..63fc8fed7d --- /dev/null +++ b/lib/htmlcomponents/components.qtpl @@ -0,0 +1,33 @@ +{% stripspace %} + +// CommonHeader writes common header for /targets-like pages +{% func CommonHeader() %} + + + +{% endfunc %} + +// Navbar writes navigation bar for /targets-like pages +{% func Navbar() %} + +{% endfunc %} + +// ErrorNotification writes the given err as error notification +{% func ErrorNotification(err error) %} + +{% endfunc %} + +{% endstripspace %} diff --git a/lib/htmlcomponents/components.qtpl.go b/lib/htmlcomponents/components.qtpl.go new file mode 100644 index 0000000000..ca3cbac705 --- /dev/null +++ b/lib/htmlcomponents/components.qtpl.go @@ -0,0 +1,127 @@ +// Code generated by qtc from "components.qtpl". DO NOT EDIT. +// See https://github.com/valyala/quicktemplate for details. + +// CommonHeader writes common header for /targets-like pages + +//line lib/htmlcomponents/components.qtpl:4 +package htmlcomponents + +//line lib/htmlcomponents/components.qtpl:4 +import ( + qtio422016 "io" + + qt422016 "github.com/valyala/quicktemplate" +) + +//line lib/htmlcomponents/components.qtpl:4 +var ( + _ = qtio422016.Copy + _ = qt422016.AcquireByteBuffer +) + +//line lib/htmlcomponents/components.qtpl:4 +func StreamCommonHeader(qw422016 *qt422016.Writer) { +//line lib/htmlcomponents/components.qtpl:4 + qw422016.N().S(``) +//line lib/htmlcomponents/components.qtpl:8 +} + +//line lib/htmlcomponents/components.qtpl:8 +func WriteCommonHeader(qq422016 qtio422016.Writer) { +//line lib/htmlcomponents/components.qtpl:8 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/htmlcomponents/components.qtpl:8 + StreamCommonHeader(qw422016) +//line lib/htmlcomponents/components.qtpl:8 + qt422016.ReleaseWriter(qw422016) +//line lib/htmlcomponents/components.qtpl:8 +} + +//line lib/htmlcomponents/components.qtpl:8 +func CommonHeader() string { +//line lib/htmlcomponents/components.qtpl:8 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/htmlcomponents/components.qtpl:8 + WriteCommonHeader(qb422016) +//line lib/htmlcomponents/components.qtpl:8 + qs422016 := string(qb422016.B) +//line lib/htmlcomponents/components.qtpl:8 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/htmlcomponents/components.qtpl:8 + return qs422016 +//line lib/htmlcomponents/components.qtpl:8 +} + +// Navbar writes navigation bar for /targets-like pages + +//line lib/htmlcomponents/components.qtpl:11 +func StreamNavbar(qw422016 *qt422016.Writer) { +//line lib/htmlcomponents/components.qtpl:11 + qw422016.N().S(``) +//line lib/htmlcomponents/components.qtpl:20 +} + +//line lib/htmlcomponents/components.qtpl:20 +func WriteNavbar(qq422016 qtio422016.Writer) { +//line lib/htmlcomponents/components.qtpl:20 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/htmlcomponents/components.qtpl:20 + StreamNavbar(qw422016) +//line lib/htmlcomponents/components.qtpl:20 + qt422016.ReleaseWriter(qw422016) +//line lib/htmlcomponents/components.qtpl:20 +} + +//line lib/htmlcomponents/components.qtpl:20 +func Navbar() string { +//line lib/htmlcomponents/components.qtpl:20 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/htmlcomponents/components.qtpl:20 + WriteNavbar(qb422016) +//line lib/htmlcomponents/components.qtpl:20 + qs422016 := string(qb422016.B) +//line lib/htmlcomponents/components.qtpl:20 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/htmlcomponents/components.qtpl:20 + return qs422016 +//line lib/htmlcomponents/components.qtpl:20 +} + +// ErrorNotification writes the given err as error notification + +//line lib/htmlcomponents/components.qtpl:23 +func StreamErrorNotification(qw422016 *qt422016.Writer, err error) { +//line lib/htmlcomponents/components.qtpl:23 + qw422016.N().S(``) +//line lib/htmlcomponents/components.qtpl:31 +} + +//line lib/htmlcomponents/components.qtpl:31 +func WriteErrorNotification(qq422016 qtio422016.Writer, err error) { +//line lib/htmlcomponents/components.qtpl:31 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/htmlcomponents/components.qtpl:31 + StreamErrorNotification(qw422016, err) +//line lib/htmlcomponents/components.qtpl:31 + qt422016.ReleaseWriter(qw422016) +//line lib/htmlcomponents/components.qtpl:31 +} + +//line lib/htmlcomponents/components.qtpl:31 +func ErrorNotification(err error) string { +//line lib/htmlcomponents/components.qtpl:31 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/htmlcomponents/components.qtpl:31 + WriteErrorNotification(qb422016, err) +//line lib/htmlcomponents/components.qtpl:31 + qs422016 := string(qb422016.B) +//line lib/htmlcomponents/components.qtpl:31 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/htmlcomponents/components.qtpl:31 + return qs422016 +//line lib/htmlcomponents/components.qtpl:31 +} diff --git a/lib/promrelabel/debug.go b/lib/promrelabel/debug.go new file mode 100644 index 0000000000..a12ee2f699 --- /dev/null +++ b/lib/promrelabel/debug.go @@ -0,0 +1,131 @@ +package promrelabel + +import ( + "fmt" + "io" + + "github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils" +) + +// WriteMetricRelabelDebug writes /metric-relabel-debug page to w with the given metric and relabelConfigs fields. +func WriteMetricRelabelDebug(w io.Writer, metric, relabelConfigs string) { + if metric == "" { + metric = "{}" + } + labels, err := promutils.NewLabelsFromString(metric) + if err != nil { + err = fmt.Errorf("cannot parse metric: %s", err) + WriteMetricRelabelDebugSteps(w, nil, metric, relabelConfigs, err) + return + } + pcs, err := ParseRelabelConfigsData([]byte(relabelConfigs)) + if err != nil { + err = fmt.Errorf("cannot parse relabel configs: %s", err) + WriteMetricRelabelDebugSteps(w, nil, metric, relabelConfigs, err) + return + } + + dss := newDebugRelabelSteps(pcs, labels, false) + WriteMetricRelabelDebugSteps(w, dss, metric, relabelConfigs, nil) +} + +// WriteTargetRelabelDebug writes /target-relabel-debug page to w with the corresponding args. +func WriteTargetRelabelDebug(w io.Writer, targetID, metric, relabelConfigs string, err error) { + if metric == "" { + metric = "{}" + } + if targetID == "" { + WriteTargetRelabelDebugSteps(w, targetID, nil, metric, relabelConfigs, err) + return + } + labels, err := promutils.NewLabelsFromString(metric) + if err != nil { + err = fmt.Errorf("cannot parse metric: %s", err) + WriteTargetRelabelDebugSteps(w, targetID, nil, metric, relabelConfigs, err) + return + } + pcs, err := ParseRelabelConfigsData([]byte(relabelConfigs)) + if err != nil { + err = fmt.Errorf("cannot parse relabel configs: %s", err) + WriteTargetRelabelDebugSteps(w, targetID, nil, metric, relabelConfigs, err) + return + } + dss := newDebugRelabelSteps(pcs, labels, true) + WriteTargetRelabelDebugSteps(w, targetID, dss, metric, relabelConfigs, nil) +} + +func newDebugRelabelSteps(pcs *ParsedConfigs, labels *promutils.Labels, isTargetRelabel bool) []DebugStep { + // The target relabeling below must be in sync with the code at scrapeWorkConfig.getScrapeWork if isTragetRelabeling=true + // and with the code at scrapeWork.addRowToTimeseries when isTargetRelabeling=false + + // Prevent from modifying the original labels + labels = labels.Clone() + + // Apply relabeling + labelsResult, dss := pcs.ApplyDebug(labels.GetLabels()) + labels.Labels = labelsResult + outStr := LabelsToString(labels.GetLabels()) + + if isTargetRelabel { + // Add missing instance label + if labels.Get("instance") == "" { + address := labels.Get("__address__") + if address != "" { + inStr := outStr + labels.Add("instance", address) + outStr = LabelsToString(labels.GetLabels()) + dss = append(dss, DebugStep{ + Rule: "add missing instance label from __address__ label", + In: inStr, + Out: outStr, + }) + } + } + + // Remove labels with __ prefix + inStr := outStr + labels.RemoveLabelsWithDoubleUnderscorePrefix() + outStr = LabelsToString(labels.GetLabels()) + if inStr != outStr { + dss = append(dss, DebugStep{ + Rule: "remove labels with __ prefix", + In: inStr, + Out: outStr, + }) + } + } else { + // Remove labels with __ prefix except of __name__ + inStr := outStr + labels.Labels = FinalizeLabels(labels.Labels[:0], labels.Labels) + outStr = LabelsToString(labels.GetLabels()) + if inStr != outStr { + dss = append(dss, DebugStep{ + Rule: "remove labels with __ prefix except of __name__", + In: inStr, + Out: outStr, + }) + } + } + + // There is no need in labels' sorting, since LabelsToString() automatically sorts labels. + return dss +} + +func getChangedLabelNames(in, out *promutils.Labels) map[string]struct{} { + inMap := in.ToMap() + outMap := out.ToMap() + changed := make(map[string]struct{}) + for k, v := range outMap { + inV, ok := inMap[k] + if !ok || inV != v { + changed[k] = struct{}{} + } + } + for k, v := range inMap { + outV, ok := outMap[k] + if !ok || outV != v { + changed[k] = struct{}{} + } + } + return changed +} diff --git a/lib/promscrape/relabel_debug.qtpl b/lib/promrelabel/debug.qtpl similarity index 89% rename from lib/promscrape/relabel_debug.qtpl rename to lib/promrelabel/debug.qtpl index 20e290b88e..f6cf7c399d 100644 --- a/lib/promscrape/relabel_debug.qtpl +++ b/lib/promrelabel/debug.qtpl @@ -1,25 +1,25 @@ {% import ( - "github.com/VictoriaMetrics/VictoriaMetrics/lib/promrelabel" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/htmlcomponents" "github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils" ) %} {% stripspace %} -{% func MetricRelabelDebugSteps(dss []promrelabel.DebugStep, metric, relabelConfigs string, err error) %} +{% func MetricRelabelDebugSteps(dss []DebugStep, metric, relabelConfigs string, err error) %} - {%= commonHeader() %} + {%= htmlcomponents.CommonHeader() %} Metric relabel debug - {%= navbar() %} + {%= htmlcomponents.Navbar() %}
Relabeling docs{% space %} Target relabel debug
{% if err != nil %} - {%= errorNotification(err) %} + {%= htmlcomponents.ErrorNotification(err) %} {% endif %}
@@ -40,21 +40,21 @@ {% endfunc %} -{% func TargetRelabelDebugSteps(targetID string, dss []promrelabel.DebugStep, metric, relabelConfigs string, err error) %} +{% func TargetRelabelDebugSteps(targetID string, dss []DebugStep, metric, relabelConfigs string, err error) %} - {%= commonHeader() %} + {%= htmlcomponents.CommonHeader() %} Target relabel debug - {%= navbar() %} + {%= htmlcomponents.Navbar() %}
Relabeling docs{% space %} Metric relabel debug
{% if err != nil %} - {%= errorNotification(err) %} + {%= htmlcomponents.ErrorNotification(err) %} {% endif %}
@@ -92,7 +92,7 @@
{% endfunc %} -{% func relabelDebugSteps(dss []promrelabel.DebugStep) %} +{% func relabelDebugSteps(dss []DebugStep) %} {% if len(dss) > 0 %}
Original labels: {%= mustFormatLabels(dss[0].In) %} @@ -171,7 +171,7 @@ {% endfunc %} {% func mustFormatLabels(s string) %} - {% code labels := promutils.MustNewLabelsFromString(s) %} + {% code labels := promutils.MustNewLabelsFromString(s) %} {%= labelsWithHighlight(labels, nil, "") %} {% endfunc %} diff --git a/lib/promrelabel/debug.qtpl.go b/lib/promrelabel/debug.qtpl.go new file mode 100644 index 0000000000..1cbdf2749f --- /dev/null +++ b/lib/promrelabel/debug.qtpl.go @@ -0,0 +1,433 @@ +// Code generated by qtc from "debug.qtpl". DO NOT EDIT. +// See https://github.com/valyala/quicktemplate for details. + +//line lib/promrelabel/debug.qtpl:1 +package promrelabel + +//line lib/promrelabel/debug.qtpl:1 +import ( + "github.com/VictoriaMetrics/VictoriaMetrics/lib/htmlcomponents" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils" +) + +//line lib/promrelabel/debug.qtpl:8 +import ( + qtio422016 "io" + + qt422016 "github.com/valyala/quicktemplate" +) + +//line lib/promrelabel/debug.qtpl:8 +var ( + _ = qtio422016.Copy + _ = qt422016.AcquireByteBuffer +) + +//line lib/promrelabel/debug.qtpl:8 +func StreamMetricRelabelDebugSteps(qw422016 *qt422016.Writer, dss []DebugStep, metric, relabelConfigs string, err error) { +//line lib/promrelabel/debug.qtpl:8 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:12 + htmlcomponents.StreamCommonHeader(qw422016) +//line lib/promrelabel/debug.qtpl:12 + qw422016.N().S(`Metric relabel debug`) +//line lib/promrelabel/debug.qtpl:16 + htmlcomponents.StreamNavbar(qw422016) +//line lib/promrelabel/debug.qtpl:16 + qw422016.N().S(`
Relabeling docs`) +//line lib/promrelabel/debug.qtpl:18 + qw422016.N().S(` `) +//line lib/promrelabel/debug.qtpl:18 + qw422016.N().S(`Target relabel debug
`) +//line lib/promrelabel/debug.qtpl:21 + if err != nil { +//line lib/promrelabel/debug.qtpl:22 + htmlcomponents.StreamErrorNotification(qw422016, err) +//line lib/promrelabel/debug.qtpl:23 + } +//line lib/promrelabel/debug.qtpl:23 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:27 + streamrelabelDebugFormInputs(qw422016, metric, relabelConfigs) +//line lib/promrelabel/debug.qtpl:27 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:35 + streamrelabelDebugSteps(qw422016, dss) +//line lib/promrelabel/debug.qtpl:35 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:41 +} + +//line lib/promrelabel/debug.qtpl:41 +func WriteMetricRelabelDebugSteps(qq422016 qtio422016.Writer, dss []DebugStep, metric, relabelConfigs string, err error) { +//line lib/promrelabel/debug.qtpl:41 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/promrelabel/debug.qtpl:41 + StreamMetricRelabelDebugSteps(qw422016, dss, metric, relabelConfigs, err) +//line lib/promrelabel/debug.qtpl:41 + qt422016.ReleaseWriter(qw422016) +//line lib/promrelabel/debug.qtpl:41 +} + +//line lib/promrelabel/debug.qtpl:41 +func MetricRelabelDebugSteps(dss []DebugStep, metric, relabelConfigs string, err error) string { +//line lib/promrelabel/debug.qtpl:41 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/promrelabel/debug.qtpl:41 + WriteMetricRelabelDebugSteps(qb422016, dss, metric, relabelConfigs, err) +//line lib/promrelabel/debug.qtpl:41 + qs422016 := string(qb422016.B) +//line lib/promrelabel/debug.qtpl:41 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/promrelabel/debug.qtpl:41 + return qs422016 +//line lib/promrelabel/debug.qtpl:41 +} + +//line lib/promrelabel/debug.qtpl:43 +func StreamTargetRelabelDebugSteps(qw422016 *qt422016.Writer, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) { +//line lib/promrelabel/debug.qtpl:43 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:47 + htmlcomponents.StreamCommonHeader(qw422016) +//line lib/promrelabel/debug.qtpl:47 + qw422016.N().S(`Target relabel debug`) +//line lib/promrelabel/debug.qtpl:51 + htmlcomponents.StreamNavbar(qw422016) +//line lib/promrelabel/debug.qtpl:51 + qw422016.N().S(`
Relabeling docs`) +//line lib/promrelabel/debug.qtpl:53 + qw422016.N().S(` `) +//line lib/promrelabel/debug.qtpl:53 + qw422016.N().S(`Metric relabel debug
`) +//line lib/promrelabel/debug.qtpl:56 + if err != nil { +//line lib/promrelabel/debug.qtpl:57 + htmlcomponents.StreamErrorNotification(qw422016, err) +//line lib/promrelabel/debug.qtpl:58 + } +//line lib/promrelabel/debug.qtpl:58 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:62 + streamrelabelDebugFormInputs(qw422016, metric, relabelConfigs) +//line lib/promrelabel/debug.qtpl:62 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:67 + if targetID != "" { +//line lib/promrelabel/debug.qtpl:67 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:69 + } +//line lib/promrelabel/debug.qtpl:69 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:75 + streamrelabelDebugSteps(qw422016, dss) +//line lib/promrelabel/debug.qtpl:75 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:81 +} + +//line lib/promrelabel/debug.qtpl:81 +func WriteTargetRelabelDebugSteps(qq422016 qtio422016.Writer, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) { +//line lib/promrelabel/debug.qtpl:81 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/promrelabel/debug.qtpl:81 + StreamTargetRelabelDebugSteps(qw422016, targetID, dss, metric, relabelConfigs, err) +//line lib/promrelabel/debug.qtpl:81 + qt422016.ReleaseWriter(qw422016) +//line lib/promrelabel/debug.qtpl:81 +} + +//line lib/promrelabel/debug.qtpl:81 +func TargetRelabelDebugSteps(targetID string, dss []DebugStep, metric, relabelConfigs string, err error) string { +//line lib/promrelabel/debug.qtpl:81 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/promrelabel/debug.qtpl:81 + WriteTargetRelabelDebugSteps(qb422016, targetID, dss, metric, relabelConfigs, err) +//line lib/promrelabel/debug.qtpl:81 + qs422016 := string(qb422016.B) +//line lib/promrelabel/debug.qtpl:81 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/promrelabel/debug.qtpl:81 + return qs422016 +//line lib/promrelabel/debug.qtpl:81 +} + +//line lib/promrelabel/debug.qtpl:83 +func streamrelabelDebugFormInputs(qw422016 *qt422016.Writer, metric, relabelConfigs string) { +//line lib/promrelabel/debug.qtpl:83 + qw422016.N().S(`
Relabel configs:
Labels:
`) +//line lib/promrelabel/debug.qtpl:93 +} + +//line lib/promrelabel/debug.qtpl:93 +func writerelabelDebugFormInputs(qq422016 qtio422016.Writer, metric, relabelConfigs string) { +//line lib/promrelabel/debug.qtpl:93 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/promrelabel/debug.qtpl:93 + streamrelabelDebugFormInputs(qw422016, metric, relabelConfigs) +//line lib/promrelabel/debug.qtpl:93 + qt422016.ReleaseWriter(qw422016) +//line lib/promrelabel/debug.qtpl:93 +} + +//line lib/promrelabel/debug.qtpl:93 +func relabelDebugFormInputs(metric, relabelConfigs string) string { +//line lib/promrelabel/debug.qtpl:93 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/promrelabel/debug.qtpl:93 + writerelabelDebugFormInputs(qb422016, metric, relabelConfigs) +//line lib/promrelabel/debug.qtpl:93 + qs422016 := string(qb422016.B) +//line lib/promrelabel/debug.qtpl:93 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/promrelabel/debug.qtpl:93 + return qs422016 +//line lib/promrelabel/debug.qtpl:93 +} + +//line lib/promrelabel/debug.qtpl:95 +func streamrelabelDebugSteps(qw422016 *qt422016.Writer, dss []DebugStep) { +//line lib/promrelabel/debug.qtpl:96 + if len(dss) > 0 { +//line lib/promrelabel/debug.qtpl:96 + qw422016.N().S(`
Original labels: `) +//line lib/promrelabel/debug.qtpl:98 + streammustFormatLabels(qw422016, dss[0].In) +//line lib/promrelabel/debug.qtpl:98 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:100 + } +//line lib/promrelabel/debug.qtpl:100 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:111 + for i, ds := range dss { +//line lib/promrelabel/debug.qtpl:113 + inLabels := promutils.MustNewLabelsFromString(ds.In) + outLabels := promutils.MustNewLabelsFromString(ds.Out) + changedLabels := getChangedLabelNames(inLabels, outLabels) + +//line lib/promrelabel/debug.qtpl:116 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:131 + } +//line lib/promrelabel/debug.qtpl:131 + qw422016.N().S(`
StepRelabeling RuleInput LabelsOutput labels
`) +//line lib/promrelabel/debug.qtpl:118 + qw422016.N().D(i) +//line lib/promrelabel/debug.qtpl:118 + qw422016.N().S(`
`)
+//line lib/promrelabel/debug.qtpl:119
+		qw422016.E().S(ds.Rule)
+//line lib/promrelabel/debug.qtpl:119
+		qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:122 + streamlabelsWithHighlight(qw422016, inLabels, changedLabels, "red") +//line lib/promrelabel/debug.qtpl:122 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:127 + streamlabelsWithHighlight(qw422016, outLabels, changedLabels, "blue") +//line lib/promrelabel/debug.qtpl:127 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:134 + if len(dss) > 0 { +//line lib/promrelabel/debug.qtpl:134 + qw422016.N().S(`
Resulting labels: `) +//line lib/promrelabel/debug.qtpl:136 + streammustFormatLabels(qw422016, dss[len(dss)-1].Out) +//line lib/promrelabel/debug.qtpl:136 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:138 + } +//line lib/promrelabel/debug.qtpl:139 +} + +//line lib/promrelabel/debug.qtpl:139 +func writerelabelDebugSteps(qq422016 qtio422016.Writer, dss []DebugStep) { +//line lib/promrelabel/debug.qtpl:139 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/promrelabel/debug.qtpl:139 + streamrelabelDebugSteps(qw422016, dss) +//line lib/promrelabel/debug.qtpl:139 + qt422016.ReleaseWriter(qw422016) +//line lib/promrelabel/debug.qtpl:139 +} + +//line lib/promrelabel/debug.qtpl:139 +func relabelDebugSteps(dss []DebugStep) string { +//line lib/promrelabel/debug.qtpl:139 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/promrelabel/debug.qtpl:139 + writerelabelDebugSteps(qb422016, dss) +//line lib/promrelabel/debug.qtpl:139 + qs422016 := string(qb422016.B) +//line lib/promrelabel/debug.qtpl:139 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/promrelabel/debug.qtpl:139 + return qs422016 +//line lib/promrelabel/debug.qtpl:139 +} + +//line lib/promrelabel/debug.qtpl:141 +func streamlabelsWithHighlight(qw422016 *qt422016.Writer, labels *promutils.Labels, highlight map[string]struct{}, color string) { +//line lib/promrelabel/debug.qtpl:143 + labelsList := labels.GetLabels() + metricName := "" + for i, label := range labelsList { + if label.Name == "__name__" { + metricName = label.Value + labelsList = append(labelsList[:i], labelsList[i+1:]...) + break + } + } + +//line lib/promrelabel/debug.qtpl:153 + if metricName != "" { +//line lib/promrelabel/debug.qtpl:154 + if _, ok := highlight["__name__"]; ok { +//line lib/promrelabel/debug.qtpl:154 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:155 + qw422016.E().S(metricName) +//line lib/promrelabel/debug.qtpl:155 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:156 + } else { +//line lib/promrelabel/debug.qtpl:157 + qw422016.E().S(metricName) +//line lib/promrelabel/debug.qtpl:158 + } +//line lib/promrelabel/debug.qtpl:159 + if len(labelsList) == 0 { +//line lib/promrelabel/debug.qtpl:159 + return +//line lib/promrelabel/debug.qtpl:159 + } +//line lib/promrelabel/debug.qtpl:160 + } +//line lib/promrelabel/debug.qtpl:160 + qw422016.N().S(`{`) +//line lib/promrelabel/debug.qtpl:162 + for i, label := range labelsList { +//line lib/promrelabel/debug.qtpl:163 + if _, ok := highlight[label.Name]; ok { +//line lib/promrelabel/debug.qtpl:163 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:164 + qw422016.E().S(label.Name) +//line lib/promrelabel/debug.qtpl:164 + qw422016.N().S(`=`) +//line lib/promrelabel/debug.qtpl:164 + qw422016.E().Q(label.Value) +//line lib/promrelabel/debug.qtpl:164 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:165 + } else { +//line lib/promrelabel/debug.qtpl:166 + qw422016.E().S(label.Name) +//line lib/promrelabel/debug.qtpl:166 + qw422016.N().S(`=`) +//line lib/promrelabel/debug.qtpl:166 + qw422016.E().Q(label.Value) +//line lib/promrelabel/debug.qtpl:167 + } +//line lib/promrelabel/debug.qtpl:168 + if i < len(labelsList)-1 { +//line lib/promrelabel/debug.qtpl:168 + qw422016.N().S(`,`) +//line lib/promrelabel/debug.qtpl:168 + qw422016.N().S(` `) +//line lib/promrelabel/debug.qtpl:168 + } +//line lib/promrelabel/debug.qtpl:169 + } +//line lib/promrelabel/debug.qtpl:169 + qw422016.N().S(`}`) +//line lib/promrelabel/debug.qtpl:171 +} + +//line lib/promrelabel/debug.qtpl:171 +func writelabelsWithHighlight(qq422016 qtio422016.Writer, labels *promutils.Labels, highlight map[string]struct{}, color string) { +//line lib/promrelabel/debug.qtpl:171 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/promrelabel/debug.qtpl:171 + streamlabelsWithHighlight(qw422016, labels, highlight, color) +//line lib/promrelabel/debug.qtpl:171 + qt422016.ReleaseWriter(qw422016) +//line lib/promrelabel/debug.qtpl:171 +} + +//line lib/promrelabel/debug.qtpl:171 +func labelsWithHighlight(labels *promutils.Labels, highlight map[string]struct{}, color string) string { +//line lib/promrelabel/debug.qtpl:171 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/promrelabel/debug.qtpl:171 + writelabelsWithHighlight(qb422016, labels, highlight, color) +//line lib/promrelabel/debug.qtpl:171 + qs422016 := string(qb422016.B) +//line lib/promrelabel/debug.qtpl:171 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/promrelabel/debug.qtpl:171 + return qs422016 +//line lib/promrelabel/debug.qtpl:171 +} + +//line lib/promrelabel/debug.qtpl:173 +func streammustFormatLabels(qw422016 *qt422016.Writer, s string) { +//line lib/promrelabel/debug.qtpl:174 + labels := promutils.MustNewLabelsFromString(s) + +//line lib/promrelabel/debug.qtpl:175 + streamlabelsWithHighlight(qw422016, labels, nil, "") +//line lib/promrelabel/debug.qtpl:176 +} + +//line lib/promrelabel/debug.qtpl:176 +func writemustFormatLabels(qq422016 qtio422016.Writer, s string) { +//line lib/promrelabel/debug.qtpl:176 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/promrelabel/debug.qtpl:176 + streammustFormatLabels(qw422016, s) +//line lib/promrelabel/debug.qtpl:176 + qt422016.ReleaseWriter(qw422016) +//line lib/promrelabel/debug.qtpl:176 +} + +//line lib/promrelabel/debug.qtpl:176 +func mustFormatLabels(s string) string { +//line lib/promrelabel/debug.qtpl:176 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/promrelabel/debug.qtpl:176 + writemustFormatLabels(qb422016, s) +//line lib/promrelabel/debug.qtpl:176 + qs422016 := string(qb422016.B) +//line lib/promrelabel/debug.qtpl:176 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/promrelabel/debug.qtpl:176 + return qs422016 +//line lib/promrelabel/debug.qtpl:176 +} diff --git a/lib/promscrape/relabel_debug.go b/lib/promscrape/relabel_debug.go index 06b6805e43..2ef6b0bd19 100644 --- a/lib/promscrape/relabel_debug.go +++ b/lib/promscrape/relabel_debug.go @@ -5,32 +5,13 @@ import ( "net/http" "github.com/VictoriaMetrics/VictoriaMetrics/lib/promrelabel" - "github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils" ) // WriteMetricRelabelDebug serves requests to /metric-relabel-debug page func WriteMetricRelabelDebug(w http.ResponseWriter, r *http.Request) { metric := r.FormValue("metric") relabelConfigs := r.FormValue("relabel_configs") - - if metric == "" { - metric = "{}" - } - labels, err := promutils.NewLabelsFromString(metric) - if err != nil { - err = fmt.Errorf("cannot parse metric: %s", err) - WriteMetricRelabelDebugSteps(w, nil, metric, relabelConfigs, err) - return - } - pcs, err := promrelabel.ParseRelabelConfigsData([]byte(relabelConfigs)) - if err != nil { - err = fmt.Errorf("cannot parse relabel configs: %s", err) - WriteMetricRelabelDebugSteps(w, nil, metric, relabelConfigs, err) - return - } - - dss := newDebugRelabelSteps(pcs, labels, false) - WriteMetricRelabelDebugSteps(w, dss, metric, relabelConfigs, nil) + promrelabel.WriteMetricRelabelDebug(w, metric, relabelConfigs) } // WriteTargetRelabelDebug generates response for /target-relabel-debug page @@ -38,118 +19,17 @@ func WriteTargetRelabelDebug(w http.ResponseWriter, r *http.Request) { targetID := r.FormValue("id") metric := r.FormValue("metric") relabelConfigs := r.FormValue("relabel_configs") + var err error if metric == "" && relabelConfigs == "" { - if targetID == "" { - metric = "{}" - WriteTargetRelabelDebugSteps(w, targetID, nil, metric, relabelConfigs, nil) - return - } pcs, labels, ok := getRelabelContextByTargetID(targetID) if !ok { - err := fmt.Errorf("cannot find target for id=%s", targetID) + err = fmt.Errorf("cannot find target for id=%s", targetID) targetID = "" - WriteTargetRelabelDebugSteps(w, targetID, nil, metric, relabelConfigs, err) - return + } else { + metric = labels.String() + relabelConfigs = pcs.String() } - metric = labels.String() - relabelConfigs = pcs.String() - dss := newDebugRelabelSteps(pcs, labels, true) - WriteTargetRelabelDebugSteps(w, targetID, dss, metric, relabelConfigs, nil) - return } - - if metric == "" { - metric = "{}" - } - labels, err := promutils.NewLabelsFromString(metric) - if err != nil { - err = fmt.Errorf("cannot parse metric: %s", err) - WriteTargetRelabelDebugSteps(w, targetID, nil, metric, relabelConfigs, err) - return - } - pcs, err := promrelabel.ParseRelabelConfigsData([]byte(relabelConfigs)) - if err != nil { - err = fmt.Errorf("cannot parse relabel configs: %s", err) - WriteTargetRelabelDebugSteps(w, targetID, nil, metric, relabelConfigs, err) - return - } - dss := newDebugRelabelSteps(pcs, labels, true) - WriteTargetRelabelDebugSteps(w, targetID, dss, metric, relabelConfigs, nil) -} - -func newDebugRelabelSteps(pcs *promrelabel.ParsedConfigs, labels *promutils.Labels, isTargetRelabel bool) []promrelabel.DebugStep { - // The target relabeling below must be in sync with the code at scrapeWorkConfig.getScrapeWork if isTragetRelabeling=true - // and with the code at scrapeWork.addRowToTimeseries when isTargetRelabeling=false - - // Prevent from modifying the original labels - labels = labels.Clone() - - // Apply relabeling - labelsResult, dss := pcs.ApplyDebug(labels.GetLabels()) - labels.Labels = labelsResult - outStr := promrelabel.LabelsToString(labels.GetLabels()) - - if isTargetRelabel { - // Add missing instance label - if labels.Get("instance") == "" { - address := labels.Get("__address__") - if address != "" { - inStr := outStr - labels.Add("instance", address) - outStr = promrelabel.LabelsToString(labels.GetLabels()) - dss = append(dss, promrelabel.DebugStep{ - Rule: "add missing instance label from __address__ label", - In: inStr, - Out: outStr, - }) - } - } - - // Remove labels with __ prefix - inStr := outStr - labels.RemoveLabelsWithDoubleUnderscorePrefix() - outStr = promrelabel.LabelsToString(labels.GetLabels()) - if inStr != outStr { - dss = append(dss, promrelabel.DebugStep{ - Rule: "remove labels with __ prefix", - In: inStr, - Out: outStr, - }) - } - } else { - // Remove labels with __ prefix except of __name__ - inStr := outStr - labels.Labels = promrelabel.FinalizeLabels(labels.Labels[:0], labels.Labels) - outStr = promrelabel.LabelsToString(labels.GetLabels()) - if inStr != outStr { - dss = append(dss, promrelabel.DebugStep{ - Rule: "remove labels with __ prefix except of __name__", - In: inStr, - Out: outStr, - }) - } - } - - // There is no need in labels' sorting, since promrelabel.LabelsToString() automatically sorts labels. - return dss -} - -func getChangedLabelNames(in, out *promutils.Labels) map[string]struct{} { - inMap := in.ToMap() - outMap := out.ToMap() - changed := make(map[string]struct{}) - for k, v := range outMap { - inV, ok := inMap[k] - if !ok || inV != v { - changed[k] = struct{}{} - } - } - for k, v := range inMap { - outV, ok := outMap[k] - if !ok || outV != v { - changed[k] = struct{}{} - } - } - return changed + promrelabel.WriteTargetRelabelDebug(w, targetID, metric, relabelConfigs, err) } diff --git a/lib/promscrape/relabel_debug.qtpl.go b/lib/promscrape/relabel_debug.qtpl.go deleted file mode 100644 index b33e35b495..0000000000 --- a/lib/promscrape/relabel_debug.qtpl.go +++ /dev/null @@ -1,433 +0,0 @@ -// Code generated by qtc from "relabel_debug.qtpl". DO NOT EDIT. -// See https://github.com/valyala/quicktemplate for details. - -//line lib/promscrape/relabel_debug.qtpl:1 -package promscrape - -//line lib/promscrape/relabel_debug.qtpl:1 -import ( - "github.com/VictoriaMetrics/VictoriaMetrics/lib/promrelabel" - "github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils" -) - -//line lib/promscrape/relabel_debug.qtpl:8 -import ( - qtio422016 "io" - - qt422016 "github.com/valyala/quicktemplate" -) - -//line lib/promscrape/relabel_debug.qtpl:8 -var ( - _ = qtio422016.Copy - _ = qt422016.AcquireByteBuffer -) - -//line lib/promscrape/relabel_debug.qtpl:8 -func StreamMetricRelabelDebugSteps(qw422016 *qt422016.Writer, dss []promrelabel.DebugStep, metric, relabelConfigs string, err error) { -//line lib/promscrape/relabel_debug.qtpl:8 - qw422016.N().S(``) -//line lib/promscrape/relabel_debug.qtpl:12 - streamcommonHeader(qw422016) -//line lib/promscrape/relabel_debug.qtpl:12 - qw422016.N().S(`Metric relabel debug`) -//line lib/promscrape/relabel_debug.qtpl:16 - streamnavbar(qw422016) -//line lib/promscrape/relabel_debug.qtpl:16 - qw422016.N().S(`
Relabeling docs`) -//line lib/promscrape/relabel_debug.qtpl:18 - qw422016.N().S(` `) -//line lib/promscrape/relabel_debug.qtpl:18 - qw422016.N().S(`Target relabel debug
`) -//line lib/promscrape/relabel_debug.qtpl:21 - if err != nil { -//line lib/promscrape/relabel_debug.qtpl:22 - streamerrorNotification(qw422016, err) -//line lib/promscrape/relabel_debug.qtpl:23 - } -//line lib/promscrape/relabel_debug.qtpl:23 - qw422016.N().S(`
`) -//line lib/promscrape/relabel_debug.qtpl:27 - streamrelabelDebugFormInputs(qw422016, metric, relabelConfigs) -//line lib/promscrape/relabel_debug.qtpl:27 - qw422016.N().S(`
`) -//line lib/promscrape/relabel_debug.qtpl:35 - streamrelabelDebugSteps(qw422016, dss) -//line lib/promscrape/relabel_debug.qtpl:35 - qw422016.N().S(`
`) -//line lib/promscrape/relabel_debug.qtpl:41 -} - -//line lib/promscrape/relabel_debug.qtpl:41 -func WriteMetricRelabelDebugSteps(qq422016 qtio422016.Writer, dss []promrelabel.DebugStep, metric, relabelConfigs string, err error) { -//line lib/promscrape/relabel_debug.qtpl:41 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/relabel_debug.qtpl:41 - StreamMetricRelabelDebugSteps(qw422016, dss, metric, relabelConfigs, err) -//line lib/promscrape/relabel_debug.qtpl:41 - qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/relabel_debug.qtpl:41 -} - -//line lib/promscrape/relabel_debug.qtpl:41 -func MetricRelabelDebugSteps(dss []promrelabel.DebugStep, metric, relabelConfigs string, err error) string { -//line lib/promscrape/relabel_debug.qtpl:41 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/relabel_debug.qtpl:41 - WriteMetricRelabelDebugSteps(qb422016, dss, metric, relabelConfigs, err) -//line lib/promscrape/relabel_debug.qtpl:41 - qs422016 := string(qb422016.B) -//line lib/promscrape/relabel_debug.qtpl:41 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/relabel_debug.qtpl:41 - return qs422016 -//line lib/promscrape/relabel_debug.qtpl:41 -} - -//line lib/promscrape/relabel_debug.qtpl:43 -func StreamTargetRelabelDebugSteps(qw422016 *qt422016.Writer, targetID string, dss []promrelabel.DebugStep, metric, relabelConfigs string, err error) { -//line lib/promscrape/relabel_debug.qtpl:43 - qw422016.N().S(``) -//line lib/promscrape/relabel_debug.qtpl:47 - streamcommonHeader(qw422016) -//line lib/promscrape/relabel_debug.qtpl:47 - qw422016.N().S(`Target relabel debug`) -//line lib/promscrape/relabel_debug.qtpl:51 - streamnavbar(qw422016) -//line lib/promscrape/relabel_debug.qtpl:51 - qw422016.N().S(`
Relabeling docs`) -//line lib/promscrape/relabel_debug.qtpl:53 - qw422016.N().S(` `) -//line lib/promscrape/relabel_debug.qtpl:53 - qw422016.N().S(`Metric relabel debug
`) -//line lib/promscrape/relabel_debug.qtpl:56 - if err != nil { -//line lib/promscrape/relabel_debug.qtpl:57 - streamerrorNotification(qw422016, err) -//line lib/promscrape/relabel_debug.qtpl:58 - } -//line lib/promscrape/relabel_debug.qtpl:58 - qw422016.N().S(`
`) -//line lib/promscrape/relabel_debug.qtpl:62 - streamrelabelDebugFormInputs(qw422016, metric, relabelConfigs) -//line lib/promscrape/relabel_debug.qtpl:62 - qw422016.N().S(``) -//line lib/promscrape/relabel_debug.qtpl:67 - if targetID != "" { -//line lib/promscrape/relabel_debug.qtpl:67 - qw422016.N().S(``) -//line lib/promscrape/relabel_debug.qtpl:69 - } -//line lib/promscrape/relabel_debug.qtpl:69 - qw422016.N().S(`
`) -//line lib/promscrape/relabel_debug.qtpl:75 - streamrelabelDebugSteps(qw422016, dss) -//line lib/promscrape/relabel_debug.qtpl:75 - qw422016.N().S(`
`) -//line lib/promscrape/relabel_debug.qtpl:81 -} - -//line lib/promscrape/relabel_debug.qtpl:81 -func WriteTargetRelabelDebugSteps(qq422016 qtio422016.Writer, targetID string, dss []promrelabel.DebugStep, metric, relabelConfigs string, err error) { -//line lib/promscrape/relabel_debug.qtpl:81 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/relabel_debug.qtpl:81 - StreamTargetRelabelDebugSteps(qw422016, targetID, dss, metric, relabelConfigs, err) -//line lib/promscrape/relabel_debug.qtpl:81 - qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/relabel_debug.qtpl:81 -} - -//line lib/promscrape/relabel_debug.qtpl:81 -func TargetRelabelDebugSteps(targetID string, dss []promrelabel.DebugStep, metric, relabelConfigs string, err error) string { -//line lib/promscrape/relabel_debug.qtpl:81 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/relabel_debug.qtpl:81 - WriteTargetRelabelDebugSteps(qb422016, targetID, dss, metric, relabelConfigs, err) -//line lib/promscrape/relabel_debug.qtpl:81 - qs422016 := string(qb422016.B) -//line lib/promscrape/relabel_debug.qtpl:81 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/relabel_debug.qtpl:81 - return qs422016 -//line lib/promscrape/relabel_debug.qtpl:81 -} - -//line lib/promscrape/relabel_debug.qtpl:83 -func streamrelabelDebugFormInputs(qw422016 *qt422016.Writer, metric, relabelConfigs string) { -//line lib/promscrape/relabel_debug.qtpl:83 - qw422016.N().S(`
Relabel configs:
Labels:
`) -//line lib/promscrape/relabel_debug.qtpl:93 -} - -//line lib/promscrape/relabel_debug.qtpl:93 -func writerelabelDebugFormInputs(qq422016 qtio422016.Writer, metric, relabelConfigs string) { -//line lib/promscrape/relabel_debug.qtpl:93 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/relabel_debug.qtpl:93 - streamrelabelDebugFormInputs(qw422016, metric, relabelConfigs) -//line lib/promscrape/relabel_debug.qtpl:93 - qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/relabel_debug.qtpl:93 -} - -//line lib/promscrape/relabel_debug.qtpl:93 -func relabelDebugFormInputs(metric, relabelConfigs string) string { -//line lib/promscrape/relabel_debug.qtpl:93 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/relabel_debug.qtpl:93 - writerelabelDebugFormInputs(qb422016, metric, relabelConfigs) -//line lib/promscrape/relabel_debug.qtpl:93 - qs422016 := string(qb422016.B) -//line lib/promscrape/relabel_debug.qtpl:93 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/relabel_debug.qtpl:93 - return qs422016 -//line lib/promscrape/relabel_debug.qtpl:93 -} - -//line lib/promscrape/relabel_debug.qtpl:95 -func streamrelabelDebugSteps(qw422016 *qt422016.Writer, dss []promrelabel.DebugStep) { -//line lib/promscrape/relabel_debug.qtpl:96 - if len(dss) > 0 { -//line lib/promscrape/relabel_debug.qtpl:96 - qw422016.N().S(`
Original labels: `) -//line lib/promscrape/relabel_debug.qtpl:98 - streammustFormatLabels(qw422016, dss[0].In) -//line lib/promscrape/relabel_debug.qtpl:98 - qw422016.N().S(`
`) -//line lib/promscrape/relabel_debug.qtpl:100 - } -//line lib/promscrape/relabel_debug.qtpl:100 - qw422016.N().S(``) -//line lib/promscrape/relabel_debug.qtpl:111 - for i, ds := range dss { -//line lib/promscrape/relabel_debug.qtpl:113 - inLabels := promutils.MustNewLabelsFromString(ds.In) - outLabels := promutils.MustNewLabelsFromString(ds.Out) - changedLabels := getChangedLabelNames(inLabels, outLabels) - -//line lib/promscrape/relabel_debug.qtpl:116 - qw422016.N().S(``) -//line lib/promscrape/relabel_debug.qtpl:131 - } -//line lib/promscrape/relabel_debug.qtpl:131 - qw422016.N().S(`
StepRelabeling RuleInput LabelsOutput labels
`) -//line lib/promscrape/relabel_debug.qtpl:118 - qw422016.N().D(i) -//line lib/promscrape/relabel_debug.qtpl:118 - qw422016.N().S(`
`)
-//line lib/promscrape/relabel_debug.qtpl:119
-		qw422016.E().S(ds.Rule)
-//line lib/promscrape/relabel_debug.qtpl:119
-		qw422016.N().S(`
`) -//line lib/promscrape/relabel_debug.qtpl:122 - streamlabelsWithHighlight(qw422016, inLabels, changedLabels, "red") -//line lib/promscrape/relabel_debug.qtpl:122 - qw422016.N().S(`
`) -//line lib/promscrape/relabel_debug.qtpl:127 - streamlabelsWithHighlight(qw422016, outLabels, changedLabels, "blue") -//line lib/promscrape/relabel_debug.qtpl:127 - qw422016.N().S(`
`) -//line lib/promscrape/relabel_debug.qtpl:134 - if len(dss) > 0 { -//line lib/promscrape/relabel_debug.qtpl:134 - qw422016.N().S(`
Resulting labels: `) -//line lib/promscrape/relabel_debug.qtpl:136 - streammustFormatLabels(qw422016, dss[len(dss)-1].Out) -//line lib/promscrape/relabel_debug.qtpl:136 - qw422016.N().S(`
`) -//line lib/promscrape/relabel_debug.qtpl:138 - } -//line lib/promscrape/relabel_debug.qtpl:139 -} - -//line lib/promscrape/relabel_debug.qtpl:139 -func writerelabelDebugSteps(qq422016 qtio422016.Writer, dss []promrelabel.DebugStep) { -//line lib/promscrape/relabel_debug.qtpl:139 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/relabel_debug.qtpl:139 - streamrelabelDebugSteps(qw422016, dss) -//line lib/promscrape/relabel_debug.qtpl:139 - qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/relabel_debug.qtpl:139 -} - -//line lib/promscrape/relabel_debug.qtpl:139 -func relabelDebugSteps(dss []promrelabel.DebugStep) string { -//line lib/promscrape/relabel_debug.qtpl:139 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/relabel_debug.qtpl:139 - writerelabelDebugSteps(qb422016, dss) -//line lib/promscrape/relabel_debug.qtpl:139 - qs422016 := string(qb422016.B) -//line lib/promscrape/relabel_debug.qtpl:139 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/relabel_debug.qtpl:139 - return qs422016 -//line lib/promscrape/relabel_debug.qtpl:139 -} - -//line lib/promscrape/relabel_debug.qtpl:141 -func streamlabelsWithHighlight(qw422016 *qt422016.Writer, labels *promutils.Labels, highlight map[string]struct{}, color string) { -//line lib/promscrape/relabel_debug.qtpl:143 - labelsList := labels.GetLabels() - metricName := "" - for i, label := range labelsList { - if label.Name == "__name__" { - metricName = label.Value - labelsList = append(labelsList[:i], labelsList[i+1:]...) - break - } - } - -//line lib/promscrape/relabel_debug.qtpl:153 - if metricName != "" { -//line lib/promscrape/relabel_debug.qtpl:154 - if _, ok := highlight["__name__"]; ok { -//line lib/promscrape/relabel_debug.qtpl:154 - qw422016.N().S(``) -//line lib/promscrape/relabel_debug.qtpl:155 - qw422016.E().S(metricName) -//line lib/promscrape/relabel_debug.qtpl:155 - qw422016.N().S(``) -//line lib/promscrape/relabel_debug.qtpl:156 - } else { -//line lib/promscrape/relabel_debug.qtpl:157 - qw422016.E().S(metricName) -//line lib/promscrape/relabel_debug.qtpl:158 - } -//line lib/promscrape/relabel_debug.qtpl:159 - if len(labelsList) == 0 { -//line lib/promscrape/relabel_debug.qtpl:159 - return -//line lib/promscrape/relabel_debug.qtpl:159 - } -//line lib/promscrape/relabel_debug.qtpl:160 - } -//line lib/promscrape/relabel_debug.qtpl:160 - qw422016.N().S(`{`) -//line lib/promscrape/relabel_debug.qtpl:162 - for i, label := range labelsList { -//line lib/promscrape/relabel_debug.qtpl:163 - if _, ok := highlight[label.Name]; ok { -//line lib/promscrape/relabel_debug.qtpl:163 - qw422016.N().S(``) -//line lib/promscrape/relabel_debug.qtpl:164 - qw422016.E().S(label.Name) -//line lib/promscrape/relabel_debug.qtpl:164 - qw422016.N().S(`=`) -//line lib/promscrape/relabel_debug.qtpl:164 - qw422016.E().Q(label.Value) -//line lib/promscrape/relabel_debug.qtpl:164 - qw422016.N().S(``) -//line lib/promscrape/relabel_debug.qtpl:165 - } else { -//line lib/promscrape/relabel_debug.qtpl:166 - qw422016.E().S(label.Name) -//line lib/promscrape/relabel_debug.qtpl:166 - qw422016.N().S(`=`) -//line lib/promscrape/relabel_debug.qtpl:166 - qw422016.E().Q(label.Value) -//line lib/promscrape/relabel_debug.qtpl:167 - } -//line lib/promscrape/relabel_debug.qtpl:168 - if i < len(labelsList)-1 { -//line lib/promscrape/relabel_debug.qtpl:168 - qw422016.N().S(`,`) -//line lib/promscrape/relabel_debug.qtpl:168 - qw422016.N().S(` `) -//line lib/promscrape/relabel_debug.qtpl:168 - } -//line lib/promscrape/relabel_debug.qtpl:169 - } -//line lib/promscrape/relabel_debug.qtpl:169 - qw422016.N().S(`}`) -//line lib/promscrape/relabel_debug.qtpl:171 -} - -//line lib/promscrape/relabel_debug.qtpl:171 -func writelabelsWithHighlight(qq422016 qtio422016.Writer, labels *promutils.Labels, highlight map[string]struct{}, color string) { -//line lib/promscrape/relabel_debug.qtpl:171 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/relabel_debug.qtpl:171 - streamlabelsWithHighlight(qw422016, labels, highlight, color) -//line lib/promscrape/relabel_debug.qtpl:171 - qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/relabel_debug.qtpl:171 -} - -//line lib/promscrape/relabel_debug.qtpl:171 -func labelsWithHighlight(labels *promutils.Labels, highlight map[string]struct{}, color string) string { -//line lib/promscrape/relabel_debug.qtpl:171 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/relabel_debug.qtpl:171 - writelabelsWithHighlight(qb422016, labels, highlight, color) -//line lib/promscrape/relabel_debug.qtpl:171 - qs422016 := string(qb422016.B) -//line lib/promscrape/relabel_debug.qtpl:171 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/relabel_debug.qtpl:171 - return qs422016 -//line lib/promscrape/relabel_debug.qtpl:171 -} - -//line lib/promscrape/relabel_debug.qtpl:173 -func streammustFormatLabels(qw422016 *qt422016.Writer, s string) { -//line lib/promscrape/relabel_debug.qtpl:174 - labels := promutils.MustNewLabelsFromString(s) - -//line lib/promscrape/relabel_debug.qtpl:175 - streamlabelsWithHighlight(qw422016, labels, nil, "") -//line lib/promscrape/relabel_debug.qtpl:176 -} - -//line lib/promscrape/relabel_debug.qtpl:176 -func writemustFormatLabels(qq422016 qtio422016.Writer, s string) { -//line lib/promscrape/relabel_debug.qtpl:176 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/relabel_debug.qtpl:176 - streammustFormatLabels(qw422016, s) -//line lib/promscrape/relabel_debug.qtpl:176 - qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/relabel_debug.qtpl:176 -} - -//line lib/promscrape/relabel_debug.qtpl:176 -func mustFormatLabels(s string) string { -//line lib/promscrape/relabel_debug.qtpl:176 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/relabel_debug.qtpl:176 - writemustFormatLabels(qb422016, s) -//line lib/promscrape/relabel_debug.qtpl:176 - qs422016 := string(qb422016.B) -//line lib/promscrape/relabel_debug.qtpl:176 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/relabel_debug.qtpl:176 - return qs422016 -//line lib/promscrape/relabel_debug.qtpl:176 -} diff --git a/lib/promscrape/targetstatus.qtpl b/lib/promscrape/targetstatus.qtpl index 39ee1456c1..79fe081e38 100644 --- a/lib/promscrape/targetstatus.qtpl +++ b/lib/promscrape/targetstatus.qtpl @@ -2,6 +2,7 @@ "net/url" "time" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/htmlcomponents" "github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils" ) %} @@ -44,14 +45,14 @@ - {%= commonHeader() %} + {%= htmlcomponents.CommonHeader() %} Active Targets - {%= navbar() %} + {%= htmlcomponents.Navbar() %}
{% if tsr.err != nil %} - {%= errorNotification(tsr.err) %} + {%= htmlcomponents.ErrorNotification(tsr.err) %} {% endif %}
@@ -71,14 +72,14 @@ - {%= commonHeader() %} + {%= htmlcomponents.CommonHeader() %} Discovered Targets - {%= navbar() %} + {%= htmlcomponents.Navbar() %}
{% if tsr.err != nil %} - {%= errorNotification(tsr.err) %} + {%= htmlcomponents.ErrorNotification(tsr.err) %} {% endif %}
@@ -94,23 +95,6 @@ {% endfunc %} -{% func commonHeader() %} - - - -{% endfunc %} - -{% func navbar() %} - -{% endfunc %} - {% func filtersForm(filter *requestFilter) %}
@@ -395,14 +379,4 @@ } {% endfunc %} -{% func errorNotification(err error) %} - -{% endfunc %} - {% endstripspace %} diff --git a/lib/promscrape/targetstatus.qtpl.go b/lib/promscrape/targetstatus.qtpl.go index 36bab50d23..909b520939 100644 --- a/lib/promscrape/targetstatus.qtpl.go +++ b/lib/promscrape/targetstatus.qtpl.go @@ -9,974 +9,909 @@ import ( "net/url" "time" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/htmlcomponents" "github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils" ) -//line lib/promscrape/targetstatus.qtpl:10 +//line lib/promscrape/targetstatus.qtpl:11 import ( qtio422016 "io" qt422016 "github.com/valyala/quicktemplate" ) -//line lib/promscrape/targetstatus.qtpl:10 +//line lib/promscrape/targetstatus.qtpl:11 var ( _ = qtio422016.Copy _ = qt422016.AcquireByteBuffer ) -//line lib/promscrape/targetstatus.qtpl:10 +//line lib/promscrape/targetstatus.qtpl:11 func StreamTargetsResponsePlain(qw422016 *qt422016.Writer, tsr *targetsStatusResult, filter *requestFilter) { -//line lib/promscrape/targetstatus.qtpl:12 - if tsr.err != nil { //line lib/promscrape/targetstatus.qtpl:13 - qw422016.N().S(tsr.err.Error()) + if tsr.err != nil { //line lib/promscrape/targetstatus.qtpl:14 - return + qw422016.N().S(tsr.err.Error()) //line lib/promscrape/targetstatus.qtpl:15 + return +//line lib/promscrape/targetstatus.qtpl:16 } -//line lib/promscrape/targetstatus.qtpl:17 +//line lib/promscrape/targetstatus.qtpl:18 for _, jts := range tsr.jobTargetsStatuses { -//line lib/promscrape/targetstatus.qtpl:17 +//line lib/promscrape/targetstatus.qtpl:18 qw422016.N().S(`job=`) -//line lib/promscrape/targetstatus.qtpl:18 - qw422016.N().S(jts.jobName) -//line lib/promscrape/targetstatus.qtpl:18 - qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:18 - qw422016.N().S(`(`) -//line lib/promscrape/targetstatus.qtpl:18 - qw422016.N().D(jts.upCount) -//line lib/promscrape/targetstatus.qtpl:18 - qw422016.N().S(`/`) -//line lib/promscrape/targetstatus.qtpl:18 - qw422016.N().D(jts.targetsTotal) -//line lib/promscrape/targetstatus.qtpl:18 - qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:18 - qw422016.N().S(`up)`) //line lib/promscrape/targetstatus.qtpl:19 + qw422016.N().S(jts.jobName) +//line lib/promscrape/targetstatus.qtpl:19 + qw422016.N().S(` `) +//line lib/promscrape/targetstatus.qtpl:19 + qw422016.N().S(`(`) +//line lib/promscrape/targetstatus.qtpl:19 + qw422016.N().D(jts.upCount) +//line lib/promscrape/targetstatus.qtpl:19 + qw422016.N().S(`/`) +//line lib/promscrape/targetstatus.qtpl:19 + qw422016.N().D(jts.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:20 +//line lib/promscrape/targetstatus.qtpl:21 for _, ts := range jts.targetsStatus { -//line lib/promscrape/targetstatus.qtpl:21 +//line lib/promscrape/targetstatus.qtpl:22 qw422016.N().S("\t") -//line lib/promscrape/targetstatus.qtpl:21 +//line lib/promscrape/targetstatus.qtpl:22 qw422016.N().S(`state=`) -//line lib/promscrape/targetstatus.qtpl:22 +//line lib/promscrape/targetstatus.qtpl:23 if ts.up { -//line lib/promscrape/targetstatus.qtpl:22 +//line lib/promscrape/targetstatus.qtpl:23 qw422016.N().S(`up`) -//line lib/promscrape/targetstatus.qtpl:22 +//line lib/promscrape/targetstatus.qtpl:23 } else { -//line lib/promscrape/targetstatus.qtpl:22 +//line lib/promscrape/targetstatus.qtpl:23 qw422016.N().S(`down`) -//line lib/promscrape/targetstatus.qtpl:22 +//line lib/promscrape/targetstatus.qtpl:23 } -//line lib/promscrape/targetstatus.qtpl:22 +//line lib/promscrape/targetstatus.qtpl:23 qw422016.N().S(`,`) -//line lib/promscrape/targetstatus.qtpl:22 +//line lib/promscrape/targetstatus.qtpl:23 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:22 +//line lib/promscrape/targetstatus.qtpl:23 qw422016.N().S(`endpoint=`) -//line lib/promscrape/targetstatus.qtpl:23 +//line lib/promscrape/targetstatus.qtpl:24 qw422016.N().S(ts.sw.Config.ScrapeURL) -//line lib/promscrape/targetstatus.qtpl:23 +//line lib/promscrape/targetstatus.qtpl:24 qw422016.N().S(`,`) -//line lib/promscrape/targetstatus.qtpl:23 +//line lib/promscrape/targetstatus.qtpl:24 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:23 +//line lib/promscrape/targetstatus.qtpl:24 qw422016.N().S(`labels=`) -//line lib/promscrape/targetstatus.qtpl:24 +//line lib/promscrape/targetstatus.qtpl:25 qw422016.N().S(ts.sw.Config.Labels.String()) -//line lib/promscrape/targetstatus.qtpl:24 - qw422016.N().S(`,`) -//line lib/promscrape/targetstatus.qtpl:24 - qw422016.N().S(` `) //line lib/promscrape/targetstatus.qtpl:25 + qw422016.N().S(`,`) +//line lib/promscrape/targetstatus.qtpl:25 + qw422016.N().S(` `) +//line lib/promscrape/targetstatus.qtpl:26 if filter.showOriginalLabels { -//line lib/promscrape/targetstatus.qtpl:25 +//line lib/promscrape/targetstatus.qtpl:26 qw422016.N().S(`originalLabels=`) -//line lib/promscrape/targetstatus.qtpl:25 +//line lib/promscrape/targetstatus.qtpl:26 qw422016.N().S(ts.sw.Config.OriginalLabels.String()) -//line lib/promscrape/targetstatus.qtpl:25 +//line lib/promscrape/targetstatus.qtpl:26 qw422016.N().S(`,`) -//line lib/promscrape/targetstatus.qtpl:25 +//line lib/promscrape/targetstatus.qtpl:26 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:25 +//line lib/promscrape/targetstatus.qtpl:26 } -//line lib/promscrape/targetstatus.qtpl:25 +//line lib/promscrape/targetstatus.qtpl:26 qw422016.N().S(`scrapes_total=`) -//line lib/promscrape/targetstatus.qtpl:26 +//line lib/promscrape/targetstatus.qtpl:27 qw422016.N().D(ts.scrapesTotal) -//line lib/promscrape/targetstatus.qtpl:26 +//line lib/promscrape/targetstatus.qtpl:27 qw422016.N().S(`,`) -//line lib/promscrape/targetstatus.qtpl:26 +//line lib/promscrape/targetstatus.qtpl:27 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:26 +//line lib/promscrape/targetstatus.qtpl:27 qw422016.N().S(`scrapes_failed=`) -//line lib/promscrape/targetstatus.qtpl:27 +//line lib/promscrape/targetstatus.qtpl:28 qw422016.N().D(ts.scrapesFailed) -//line lib/promscrape/targetstatus.qtpl:27 +//line lib/promscrape/targetstatus.qtpl:28 qw422016.N().S(`,`) -//line lib/promscrape/targetstatus.qtpl:27 +//line lib/promscrape/targetstatus.qtpl:28 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:27 +//line lib/promscrape/targetstatus.qtpl:28 qw422016.N().S(`last_scrape=`) -//line lib/promscrape/targetstatus.qtpl:28 +//line lib/promscrape/targetstatus.qtpl:29 qw422016.N().D(int(ts.getDurationFromLastScrape().Milliseconds())) -//line lib/promscrape/targetstatus.qtpl:28 +//line lib/promscrape/targetstatus.qtpl:29 qw422016.N().S(`ms ago,`) -//line lib/promscrape/targetstatus.qtpl:28 +//line lib/promscrape/targetstatus.qtpl:29 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:28 +//line lib/promscrape/targetstatus.qtpl:29 qw422016.N().S(`scrape_duration=`) -//line lib/promscrape/targetstatus.qtpl:29 +//line lib/promscrape/targetstatus.qtpl:30 qw422016.N().D(int(ts.scrapeDuration)) -//line lib/promscrape/targetstatus.qtpl:29 +//line lib/promscrape/targetstatus.qtpl:30 qw422016.N().S(`ms,`) -//line lib/promscrape/targetstatus.qtpl:29 +//line lib/promscrape/targetstatus.qtpl:30 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:29 +//line lib/promscrape/targetstatus.qtpl:30 qw422016.N().S(`samples_scraped=`) -//line lib/promscrape/targetstatus.qtpl:30 +//line lib/promscrape/targetstatus.qtpl:31 qw422016.N().D(ts.samplesScraped) -//line lib/promscrape/targetstatus.qtpl:30 +//line lib/promscrape/targetstatus.qtpl:31 qw422016.N().S(`,`) -//line lib/promscrape/targetstatus.qtpl:30 +//line lib/promscrape/targetstatus.qtpl:31 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:30 +//line lib/promscrape/targetstatus.qtpl:31 qw422016.N().S(`error=`) -//line lib/promscrape/targetstatus.qtpl:31 - if ts.err != nil { -//line lib/promscrape/targetstatus.qtpl:31 - qw422016.N().S(ts.err.Error()) -//line lib/promscrape/targetstatus.qtpl:31 - } //line lib/promscrape/targetstatus.qtpl:32 + if ts.err != nil { +//line lib/promscrape/targetstatus.qtpl:32 + qw422016.N().S(ts.err.Error()) +//line lib/promscrape/targetstatus.qtpl:32 + } +//line lib/promscrape/targetstatus.qtpl:33 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:33 - } //line lib/promscrape/targetstatus.qtpl:34 + } +//line lib/promscrape/targetstatus.qtpl:35 } -//line lib/promscrape/targetstatus.qtpl:36 +//line lib/promscrape/targetstatus.qtpl:37 for _, jobName := range tsr.emptyJobs { -//line lib/promscrape/targetstatus.qtpl:36 +//line lib/promscrape/targetstatus.qtpl:37 qw422016.N().S(`job=`) -//line lib/promscrape/targetstatus.qtpl:37 - qw422016.N().S(jobName) -//line lib/promscrape/targetstatus.qtpl:37 - qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:37 - qw422016.N().S(`(0/0 up)`) //line lib/promscrape/targetstatus.qtpl:38 + qw422016.N().S(jobName) +//line lib/promscrape/targetstatus.qtpl:38 + qw422016.N().S(` `) +//line lib/promscrape/targetstatus.qtpl:38 + qw422016.N().S(`(0/0 up)`) +//line lib/promscrape/targetstatus.qtpl:39 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:39 +//line lib/promscrape/targetstatus.qtpl:40 } -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 } -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 func WriteTargetsResponsePlain(qq422016 qtio422016.Writer, tsr *targetsStatusResult, filter *requestFilter) { -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 StreamTargetsResponsePlain(qw422016, tsr, filter) -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 } -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 func TargetsResponsePlain(tsr *targetsStatusResult, filter *requestFilter) string { -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 WriteTargetsResponsePlain(qb422016, tsr, filter) -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 return qs422016 -//line lib/promscrape/targetstatus.qtpl:41 +//line lib/promscrape/targetstatus.qtpl:42 } -//line lib/promscrape/targetstatus.qtpl:43 +//line lib/promscrape/targetstatus.qtpl:44 func StreamTargetsResponseHTML(qw422016 *qt422016.Writer, tsr *targetsStatusResult, filter *requestFilter) { -//line lib/promscrape/targetstatus.qtpl:43 +//line lib/promscrape/targetstatus.qtpl:44 qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:47 - streamcommonHeader(qw422016) -//line lib/promscrape/targetstatus.qtpl:47 +//line lib/promscrape/targetstatus.qtpl:48 + htmlcomponents.StreamCommonHeader(qw422016) +//line lib/promscrape/targetstatus.qtpl:48 qw422016.N().S(`Active Targets`) -//line lib/promscrape/targetstatus.qtpl:51 - streamnavbar(qw422016) -//line lib/promscrape/targetstatus.qtpl:51 +//line lib/promscrape/targetstatus.qtpl:52 + htmlcomponents.StreamNavbar(qw422016) +//line lib/promscrape/targetstatus.qtpl:52 qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:53 - if tsr.err != nil { //line lib/promscrape/targetstatus.qtpl:54 - streamerrorNotification(qw422016, tsr.err) -//line lib/promscrape/targetstatus.qtpl:55 - } -//line lib/promscrape/targetstatus.qtpl:55 - qw422016.N().S(`

Active Targets


`) -//line lib/promscrape/targetstatus.qtpl:60 - streamfiltersForm(qw422016, filter) -//line lib/promscrape/targetstatus.qtpl:60 - qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:62 - streamtargetsTabs(qw422016, tsr, filter, "scrapeTargets") -//line lib/promscrape/targetstatus.qtpl:62 - qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:68 -} - -//line lib/promscrape/targetstatus.qtpl:68 -func WriteTargetsResponseHTML(qq422016 qtio422016.Writer, tsr *targetsStatusResult, filter *requestFilter) { -//line lib/promscrape/targetstatus.qtpl:68 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:68 - StreamTargetsResponseHTML(qw422016, tsr, filter) -//line lib/promscrape/targetstatus.qtpl:68 - qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:68 -} - -//line lib/promscrape/targetstatus.qtpl:68 -func TargetsResponseHTML(tsr *targetsStatusResult, filter *requestFilter) string { -//line lib/promscrape/targetstatus.qtpl:68 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:68 - WriteTargetsResponseHTML(qb422016, tsr, filter) -//line lib/promscrape/targetstatus.qtpl:68 - qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:68 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:68 - return qs422016 -//line lib/promscrape/targetstatus.qtpl:68 -} - -//line lib/promscrape/targetstatus.qtpl:70 -func StreamServiceDiscoveryResponse(qw422016 *qt422016.Writer, tsr *targetsStatusResult, filter *requestFilter) { -//line lib/promscrape/targetstatus.qtpl:70 - qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:74 - streamcommonHeader(qw422016) -//line lib/promscrape/targetstatus.qtpl:74 - qw422016.N().S(`Discovered Targets`) -//line lib/promscrape/targetstatus.qtpl:78 - streamnavbar(qw422016) -//line lib/promscrape/targetstatus.qtpl:78 - qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:80 if tsr.err != nil { -//line lib/promscrape/targetstatus.qtpl:81 - streamerrorNotification(qw422016, tsr.err) -//line lib/promscrape/targetstatus.qtpl:82 +//line lib/promscrape/targetstatus.qtpl:55 + htmlcomponents.StreamErrorNotification(qw422016, tsr.err) +//line lib/promscrape/targetstatus.qtpl:56 } -//line lib/promscrape/targetstatus.qtpl:82 - qw422016.N().S(`

Discovered Targets


`) -//line lib/promscrape/targetstatus.qtpl:87 +//line lib/promscrape/targetstatus.qtpl:56 + qw422016.N().S(`

Active Targets


`) +//line lib/promscrape/targetstatus.qtpl:61 streamfiltersForm(qw422016, filter) -//line lib/promscrape/targetstatus.qtpl:87 +//line lib/promscrape/targetstatus.qtpl:61 qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:89 - streamtargetsTabs(qw422016, tsr, filter, "discoveredTargets") -//line lib/promscrape/targetstatus.qtpl:89 +//line lib/promscrape/targetstatus.qtpl:63 + streamtargetsTabs(qw422016, tsr, filter, "scrapeTargets") +//line lib/promscrape/targetstatus.qtpl:63 qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:95 +//line lib/promscrape/targetstatus.qtpl:69 } -//line lib/promscrape/targetstatus.qtpl:95 -func WriteServiceDiscoveryResponse(qq422016 qtio422016.Writer, tsr *targetsStatusResult, filter *requestFilter) { -//line lib/promscrape/targetstatus.qtpl:95 +//line lib/promscrape/targetstatus.qtpl:69 +func WriteTargetsResponseHTML(qq422016 qtio422016.Writer, tsr *targetsStatusResult, filter *requestFilter) { +//line lib/promscrape/targetstatus.qtpl:69 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:95 - StreamServiceDiscoveryResponse(qw422016, tsr, filter) -//line lib/promscrape/targetstatus.qtpl:95 +//line lib/promscrape/targetstatus.qtpl:69 + StreamTargetsResponseHTML(qw422016, tsr, filter) +//line lib/promscrape/targetstatus.qtpl:69 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:95 +//line lib/promscrape/targetstatus.qtpl:69 } -//line lib/promscrape/targetstatus.qtpl:95 -func ServiceDiscoveryResponse(tsr *targetsStatusResult, filter *requestFilter) string { -//line lib/promscrape/targetstatus.qtpl:95 +//line lib/promscrape/targetstatus.qtpl:69 +func TargetsResponseHTML(tsr *targetsStatusResult, filter *requestFilter) string { +//line lib/promscrape/targetstatus.qtpl:69 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:95 - WriteServiceDiscoveryResponse(qb422016, tsr, filter) -//line lib/promscrape/targetstatus.qtpl:95 +//line lib/promscrape/targetstatus.qtpl:69 + WriteTargetsResponseHTML(qb422016, tsr, filter) +//line lib/promscrape/targetstatus.qtpl:69 qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:95 +//line lib/promscrape/targetstatus.qtpl:69 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:95 +//line lib/promscrape/targetstatus.qtpl:69 return qs422016 -//line lib/promscrape/targetstatus.qtpl:95 +//line lib/promscrape/targetstatus.qtpl:69 } -//line lib/promscrape/targetstatus.qtpl:97 -func streamcommonHeader(qw422016 *qt422016.Writer) { -//line lib/promscrape/targetstatus.qtpl:97 - qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:101 -} - -//line lib/promscrape/targetstatus.qtpl:101 -func writecommonHeader(qq422016 qtio422016.Writer) { -//line lib/promscrape/targetstatus.qtpl:101 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:101 - streamcommonHeader(qw422016) -//line lib/promscrape/targetstatus.qtpl:101 - qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:101 -} - -//line lib/promscrape/targetstatus.qtpl:101 -func commonHeader() string { -//line lib/promscrape/targetstatus.qtpl:101 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:101 - writecommonHeader(qb422016) -//line lib/promscrape/targetstatus.qtpl:101 - qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:101 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:101 - return qs422016 -//line lib/promscrape/targetstatus.qtpl:101 -} - -//line lib/promscrape/targetstatus.qtpl:103 -func streamnavbar(qw422016 *qt422016.Writer) { -//line lib/promscrape/targetstatus.qtpl:103 - qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:112 -} - -//line lib/promscrape/targetstatus.qtpl:112 -func writenavbar(qq422016 qtio422016.Writer) { -//line lib/promscrape/targetstatus.qtpl:112 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:112 - streamnavbar(qw422016) -//line lib/promscrape/targetstatus.qtpl:112 - qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:112 -} - -//line lib/promscrape/targetstatus.qtpl:112 -func navbar() string { -//line lib/promscrape/targetstatus.qtpl:112 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:112 - writenavbar(qb422016) -//line lib/promscrape/targetstatus.qtpl:112 - qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:112 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:112 - return qs422016 -//line lib/promscrape/targetstatus.qtpl:112 -} - -//line lib/promscrape/targetstatus.qtpl:114 -func streamfiltersForm(qw422016 *qt422016.Writer, filter *requestFilter) { -//line lib/promscrape/targetstatus.qtpl:114 - qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:166 -} - -//line lib/promscrape/targetstatus.qtpl:166 -func writefiltersForm(qq422016 qtio422016.Writer, filter *requestFilter) { -//line lib/promscrape/targetstatus.qtpl:166 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:166 +//line lib/promscrape/targetstatus.qtpl:83 + qw422016.N().S(`

Discovered Targets


`) +//line lib/promscrape/targetstatus.qtpl:88 streamfiltersForm(qw422016, filter) -//line lib/promscrape/targetstatus.qtpl:166 - qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:166 +//line lib/promscrape/targetstatus.qtpl:88 + qw422016.N().S(`
`) +//line lib/promscrape/targetstatus.qtpl:90 + streamtargetsTabs(qw422016, tsr, filter, "discoveredTargets") +//line lib/promscrape/targetstatus.qtpl:90 + qw422016.N().S(`
`) +//line lib/promscrape/targetstatus.qtpl:96 } -//line lib/promscrape/targetstatus.qtpl:166 -func filtersForm(filter *requestFilter) string { -//line lib/promscrape/targetstatus.qtpl:166 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:166 - writefiltersForm(qb422016, filter) -//line lib/promscrape/targetstatus.qtpl:166 - qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:166 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:166 - return qs422016 -//line lib/promscrape/targetstatus.qtpl:166 -} - -//line lib/promscrape/targetstatus.qtpl:168 -func streamtargetsTabs(qw422016 *qt422016.Writer, tsr *targetsStatusResult, filter *requestFilter, activeTab string) { -//line lib/promscrape/targetstatus.qtpl:168 - qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:185 - switch activeTab { -//line lib/promscrape/targetstatus.qtpl:186 - case "scrapeTargets": -//line lib/promscrape/targetstatus.qtpl:187 - streamscrapeTargets(qw422016, tsr) -//line lib/promscrape/targetstatus.qtpl:188 - case "discoveredTargets": -//line lib/promscrape/targetstatus.qtpl:189 - streamdiscoveredTargets(qw422016, tsr) -//line lib/promscrape/targetstatus.qtpl:190 - } -//line lib/promscrape/targetstatus.qtpl:190 - qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:193 -} - -//line lib/promscrape/targetstatus.qtpl:193 -func writetargetsTabs(qq422016 qtio422016.Writer, tsr *targetsStatusResult, filter *requestFilter, activeTab string) { -//line lib/promscrape/targetstatus.qtpl:193 +//line lib/promscrape/targetstatus.qtpl:96 +func WriteServiceDiscoveryResponse(qq422016 qtio422016.Writer, tsr *targetsStatusResult, filter *requestFilter) { +//line lib/promscrape/targetstatus.qtpl:96 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:193 - streamtargetsTabs(qw422016, tsr, filter, activeTab) -//line lib/promscrape/targetstatus.qtpl:193 +//line lib/promscrape/targetstatus.qtpl:96 + StreamServiceDiscoveryResponse(qw422016, tsr, filter) +//line lib/promscrape/targetstatus.qtpl:96 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:193 +//line lib/promscrape/targetstatus.qtpl:96 } -//line lib/promscrape/targetstatus.qtpl:193 -func targetsTabs(tsr *targetsStatusResult, filter *requestFilter, activeTab string) string { -//line lib/promscrape/targetstatus.qtpl:193 +//line lib/promscrape/targetstatus.qtpl:96 +func ServiceDiscoveryResponse(tsr *targetsStatusResult, filter *requestFilter) string { +//line lib/promscrape/targetstatus.qtpl:96 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:193 - writetargetsTabs(qb422016, tsr, filter, activeTab) -//line lib/promscrape/targetstatus.qtpl:193 +//line lib/promscrape/targetstatus.qtpl:96 + WriteServiceDiscoveryResponse(qb422016, tsr, filter) +//line lib/promscrape/targetstatus.qtpl:96 qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:193 +//line lib/promscrape/targetstatus.qtpl:96 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:193 +//line lib/promscrape/targetstatus.qtpl:96 return qs422016 -//line lib/promscrape/targetstatus.qtpl:193 +//line lib/promscrape/targetstatus.qtpl:96 } -//line lib/promscrape/targetstatus.qtpl:195 -func streamscrapeTargets(qw422016 *qt422016.Writer, tsr *targetsStatusResult) { -//line lib/promscrape/targetstatus.qtpl:195 - qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:198 - for i, jts := range tsr.jobTargetsStatuses { -//line lib/promscrape/targetstatus.qtpl:199 - streamscrapeJobTargets(qw422016, i, jts) -//line lib/promscrape/targetstatus.qtpl:200 +//line lib/promscrape/targetstatus.qtpl:98 +func streamfiltersForm(qw422016 *qt422016.Writer, filter *requestFilter) { +//line lib/promscrape/targetstatus.qtpl:98 + qw422016.N().S(`
`) +//line lib/promscrape/targetstatus.qtpl:150 +} + +//line lib/promscrape/targetstatus.qtpl:150 +func writefiltersForm(qq422016 qtio422016.Writer, filter *requestFilter) { +//line lib/promscrape/targetstatus.qtpl:150 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/promscrape/targetstatus.qtpl:150 + streamfiltersForm(qw422016, filter) +//line lib/promscrape/targetstatus.qtpl:150 + qt422016.ReleaseWriter(qw422016) +//line lib/promscrape/targetstatus.qtpl:150 +} + +//line lib/promscrape/targetstatus.qtpl:150 +func filtersForm(filter *requestFilter) string { +//line lib/promscrape/targetstatus.qtpl:150 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/promscrape/targetstatus.qtpl:150 + writefiltersForm(qb422016, filter) +//line lib/promscrape/targetstatus.qtpl:150 + qs422016 := string(qb422016.B) +//line lib/promscrape/targetstatus.qtpl:150 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/promscrape/targetstatus.qtpl:150 + return qs422016 +//line lib/promscrape/targetstatus.qtpl:150 +} + +//line lib/promscrape/targetstatus.qtpl:152 +func streamtargetsTabs(qw422016 *qt422016.Writer, tsr *targetsStatusResult, filter *requestFilter, activeTab string) { +//line lib/promscrape/targetstatus.qtpl:152 + qw422016.N().S(`
`) +//line lib/promscrape/targetstatus.qtpl:169 + switch activeTab { +//line lib/promscrape/targetstatus.qtpl:170 + case "scrapeTargets": +//line lib/promscrape/targetstatus.qtpl:171 + streamscrapeTargets(qw422016, tsr) +//line lib/promscrape/targetstatus.qtpl:172 + case "discoveredTargets": +//line lib/promscrape/targetstatus.qtpl:173 + streamdiscoveredTargets(qw422016, tsr) +//line lib/promscrape/targetstatus.qtpl:174 + } +//line lib/promscrape/targetstatus.qtpl:174 + qw422016.N().S(`
`) +//line lib/promscrape/targetstatus.qtpl:177 +} + +//line lib/promscrape/targetstatus.qtpl:177 +func writetargetsTabs(qq422016 qtio422016.Writer, tsr *targetsStatusResult, filter *requestFilter, activeTab string) { +//line lib/promscrape/targetstatus.qtpl:177 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/promscrape/targetstatus.qtpl:177 + streamtargetsTabs(qw422016, tsr, filter, activeTab) +//line lib/promscrape/targetstatus.qtpl:177 + qt422016.ReleaseWriter(qw422016) +//line lib/promscrape/targetstatus.qtpl:177 +} + +//line lib/promscrape/targetstatus.qtpl:177 +func targetsTabs(tsr *targetsStatusResult, filter *requestFilter, activeTab string) string { +//line lib/promscrape/targetstatus.qtpl:177 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/promscrape/targetstatus.qtpl:177 + writetargetsTabs(qb422016, tsr, filter, activeTab) +//line lib/promscrape/targetstatus.qtpl:177 + qs422016 := string(qb422016.B) +//line lib/promscrape/targetstatus.qtpl:177 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/promscrape/targetstatus.qtpl:177 + return qs422016 +//line lib/promscrape/targetstatus.qtpl:177 +} + +//line lib/promscrape/targetstatus.qtpl:179 +func streamscrapeTargets(qw422016 *qt422016.Writer, tsr *targetsStatusResult) { +//line lib/promscrape/targetstatus.qtpl:179 + qw422016.N().S(`
`) +//line lib/promscrape/targetstatus.qtpl:182 + for i, jts := range tsr.jobTargetsStatuses { +//line lib/promscrape/targetstatus.qtpl:183 + streamscrapeJobTargets(qw422016, i, jts) +//line lib/promscrape/targetstatus.qtpl:184 + } +//line lib/promscrape/targetstatus.qtpl:185 for i, jobName := range tsr.emptyJobs { -//line lib/promscrape/targetstatus.qtpl:203 +//line lib/promscrape/targetstatus.qtpl:187 num := i + len(tsr.jobTargetsStatuses) jts := &jobTargetsStatuses{ jobName: jobName, } -//line lib/promscrape/targetstatus.qtpl:208 +//line lib/promscrape/targetstatus.qtpl:192 streamscrapeJobTargets(qw422016, num, jts) -//line lib/promscrape/targetstatus.qtpl:209 +//line lib/promscrape/targetstatus.qtpl:193 } -//line lib/promscrape/targetstatus.qtpl:209 +//line lib/promscrape/targetstatus.qtpl:193 qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 } -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 func writescrapeTargets(qq422016 qtio422016.Writer, tsr *targetsStatusResult) { -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 streamscrapeTargets(qw422016, tsr) -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 } -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 func scrapeTargets(tsr *targetsStatusResult) string { -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 writescrapeTargets(qb422016, tsr) -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 return qs422016 -//line lib/promscrape/targetstatus.qtpl:212 +//line lib/promscrape/targetstatus.qtpl:196 } -//line lib/promscrape/targetstatus.qtpl:214 +//line lib/promscrape/targetstatus.qtpl:198 func streamscrapeJobTargets(qw422016 *qt422016.Writer, num int, jts *jobTargetsStatuses) { -//line lib/promscrape/targetstatus.qtpl:214 +//line lib/promscrape/targetstatus.qtpl:198 qw422016.N().S(`

`) -//line lib/promscrape/targetstatus.qtpl:218 +//line lib/promscrape/targetstatus.qtpl:202 qw422016.E().S(jts.jobName) -//line lib/promscrape/targetstatus.qtpl:218 +//line lib/promscrape/targetstatus.qtpl:202 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:218 +//line lib/promscrape/targetstatus.qtpl:202 qw422016.N().S(`(`) -//line lib/promscrape/targetstatus.qtpl:218 +//line lib/promscrape/targetstatus.qtpl:202 qw422016.N().D(jts.upCount) -//line lib/promscrape/targetstatus.qtpl:218 +//line lib/promscrape/targetstatus.qtpl:202 qw422016.N().S(`/`) -//line lib/promscrape/targetstatus.qtpl:218 +//line lib/promscrape/targetstatus.qtpl:202 qw422016.N().D(jts.targetsTotal) -//line lib/promscrape/targetstatus.qtpl:218 +//line lib/promscrape/targetstatus.qtpl:202 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:218 +//line lib/promscrape/targetstatus.qtpl:202 qw422016.N().S(`up)`) -//line lib/promscrape/targetstatus.qtpl:219 +//line lib/promscrape/targetstatus.qtpl:203 streamshowHideScrapeJobButtons(qw422016, num) -//line lib/promscrape/targetstatus.qtpl:219 +//line lib/promscrape/targetstatus.qtpl:203 qw422016.N().S(`

`) -//line lib/promscrape/targetstatus.qtpl:238 +//line lib/promscrape/targetstatus.qtpl:222 for _, ts := range jts.targetsStatus { -//line lib/promscrape/targetstatus.qtpl:240 +//line lib/promscrape/targetstatus.qtpl:224 endpoint := ts.sw.Config.ScrapeURL // The target is uniquely identified by a pointer to its original labels. targetID := getLabelsID(ts.sw.Config.OriginalLabels) lastScrapeDuration := ts.getDurationFromLastScrape() -//line lib/promscrape/targetstatus.qtpl:244 +//line lib/promscrape/targetstatus.qtpl:228 qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:283 +//line lib/promscrape/targetstatus.qtpl:267 } -//line lib/promscrape/targetstatus.qtpl:283 +//line lib/promscrape/targetstatus.qtpl:267 qw422016.N().S(`
EndpointStateLabelsDebug relabelingScrapesErrorsLast ScrapeDurationSamplesLast error
`) -//line lib/promscrape/targetstatus.qtpl:247 +//line lib/promscrape/targetstatus.qtpl:231 qw422016.E().S(endpoint) -//line lib/promscrape/targetstatus.qtpl:247 +//line lib/promscrape/targetstatus.qtpl:231 qw422016.N().S(` (response)`) -//line lib/promscrape/targetstatus.qtpl:253 +//line lib/promscrape/targetstatus.qtpl:237 if ts.up { -//line lib/promscrape/targetstatus.qtpl:253 +//line lib/promscrape/targetstatus.qtpl:237 qw422016.N().S(`UP`) -//line lib/promscrape/targetstatus.qtpl:255 +//line lib/promscrape/targetstatus.qtpl:239 } else { -//line lib/promscrape/targetstatus.qtpl:255 +//line lib/promscrape/targetstatus.qtpl:239 qw422016.N().S(`DOWN`) -//line lib/promscrape/targetstatus.qtpl:257 +//line lib/promscrape/targetstatus.qtpl:241 } -//line lib/promscrape/targetstatus.qtpl:257 +//line lib/promscrape/targetstatus.qtpl:241 qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:262 +//line lib/promscrape/targetstatus.qtpl:246 streamformatLabels(qw422016, ts.sw.Config.Labels) -//line lib/promscrape/targetstatus.qtpl:262 +//line lib/promscrape/targetstatus.qtpl:246 qw422016.N().S(`
debug`) -//line lib/promscrape/targetstatus.qtpl:271 +//line lib/promscrape/targetstatus.qtpl:255 qw422016.N().D(ts.scrapesTotal) -//line lib/promscrape/targetstatus.qtpl:271 +//line lib/promscrape/targetstatus.qtpl:255 qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:272 +//line lib/promscrape/targetstatus.qtpl:256 qw422016.N().D(ts.scrapesFailed) -//line lib/promscrape/targetstatus.qtpl:272 +//line lib/promscrape/targetstatus.qtpl:256 qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:274 +//line lib/promscrape/targetstatus.qtpl:258 if lastScrapeDuration < 365*24*time.Hour { -//line lib/promscrape/targetstatus.qtpl:275 +//line lib/promscrape/targetstatus.qtpl:259 qw422016.N().D(int(lastScrapeDuration.Milliseconds())) -//line lib/promscrape/targetstatus.qtpl:275 +//line lib/promscrape/targetstatus.qtpl:259 qw422016.N().S(`ms ago`) -//line lib/promscrape/targetstatus.qtpl:276 +//line lib/promscrape/targetstatus.qtpl:260 } else { -//line lib/promscrape/targetstatus.qtpl:276 +//line lib/promscrape/targetstatus.qtpl:260 qw422016.N().S(`none`) -//line lib/promscrape/targetstatus.qtpl:278 +//line lib/promscrape/targetstatus.qtpl:262 } -//line lib/promscrape/targetstatus.qtpl:278 +//line lib/promscrape/targetstatus.qtpl:262 qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:279 +//line lib/promscrape/targetstatus.qtpl:263 qw422016.N().D(int(ts.scrapeDuration)) -//line lib/promscrape/targetstatus.qtpl:279 +//line lib/promscrape/targetstatus.qtpl:263 qw422016.N().S(`ms`) -//line lib/promscrape/targetstatus.qtpl:280 +//line lib/promscrape/targetstatus.qtpl:264 qw422016.N().D(ts.samplesScraped) -//line lib/promscrape/targetstatus.qtpl:280 +//line lib/promscrape/targetstatus.qtpl:264 qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:281 +//line lib/promscrape/targetstatus.qtpl:265 if ts.err != nil { -//line lib/promscrape/targetstatus.qtpl:281 +//line lib/promscrape/targetstatus.qtpl:265 qw422016.E().S(ts.err.Error()) -//line lib/promscrape/targetstatus.qtpl:281 +//line lib/promscrape/targetstatus.qtpl:265 } -//line lib/promscrape/targetstatus.qtpl:281 +//line lib/promscrape/targetstatus.qtpl:265 qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 } -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 func writescrapeJobTargets(qq422016 qtio422016.Writer, num int, jts *jobTargetsStatuses) { -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 streamscrapeJobTargets(qw422016, num, jts) -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 } -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 func scrapeJobTargets(num int, jts *jobTargetsStatuses) string { -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 writescrapeJobTargets(qb422016, num, jts) -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 return qs422016 -//line lib/promscrape/targetstatus.qtpl:289 +//line lib/promscrape/targetstatus.qtpl:273 } -//line lib/promscrape/targetstatus.qtpl:291 +//line lib/promscrape/targetstatus.qtpl:275 func streamdiscoveredTargets(qw422016 *qt422016.Writer, tsr *targetsStatusResult) { -//line lib/promscrape/targetstatus.qtpl:292 +//line lib/promscrape/targetstatus.qtpl:276 tljs := tsr.getTargetLabelsByJob() -//line lib/promscrape/targetstatus.qtpl:292 +//line lib/promscrape/targetstatus.qtpl:276 qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:295 +//line lib/promscrape/targetstatus.qtpl:279 for i, tlj := range tljs { -//line lib/promscrape/targetstatus.qtpl:296 +//line lib/promscrape/targetstatus.qtpl:280 streamdiscoveredJobTargets(qw422016, i, tlj) -//line lib/promscrape/targetstatus.qtpl:297 +//line lib/promscrape/targetstatus.qtpl:281 } -//line lib/promscrape/targetstatus.qtpl:297 +//line lib/promscrape/targetstatus.qtpl:281 qw422016.N().S(`
`) -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 } -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 func writediscoveredTargets(qq422016 qtio422016.Writer, tsr *targetsStatusResult) { -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 streamdiscoveredTargets(qw422016, tsr) -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 } -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 func discoveredTargets(tsr *targetsStatusResult) string { -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 writediscoveredTargets(qb422016, tsr) -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 return qs422016 -//line lib/promscrape/targetstatus.qtpl:300 +//line lib/promscrape/targetstatus.qtpl:284 } -//line lib/promscrape/targetstatus.qtpl:302 +//line lib/promscrape/targetstatus.qtpl:286 func streamdiscoveredJobTargets(qw422016 *qt422016.Writer, num int, tlj *targetLabelsByJob) { -//line lib/promscrape/targetstatus.qtpl:302 +//line lib/promscrape/targetstatus.qtpl:286 qw422016.N().S(`

`) -//line lib/promscrape/targetstatus.qtpl:304 +//line lib/promscrape/targetstatus.qtpl:288 qw422016.E().S(tlj.jobName) -//line lib/promscrape/targetstatus.qtpl:304 +//line lib/promscrape/targetstatus.qtpl:288 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:304 +//line lib/promscrape/targetstatus.qtpl:288 qw422016.N().S(`(`) -//line lib/promscrape/targetstatus.qtpl:304 +//line lib/promscrape/targetstatus.qtpl:288 qw422016.N().D(tlj.activeTargets) -//line lib/promscrape/targetstatus.qtpl:304 +//line lib/promscrape/targetstatus.qtpl:288 qw422016.N().S(`/`) -//line lib/promscrape/targetstatus.qtpl:304 +//line lib/promscrape/targetstatus.qtpl:288 qw422016.N().D(tlj.activeTargets + tlj.droppedTargets) -//line lib/promscrape/targetstatus.qtpl:304 +//line lib/promscrape/targetstatus.qtpl:288 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:304 +//line lib/promscrape/targetstatus.qtpl:288 qw422016.N().S(`active)`) -//line lib/promscrape/targetstatus.qtpl:305 +//line lib/promscrape/targetstatus.qtpl:289 streamshowHideScrapeJobButtons(qw422016, num) -//line lib/promscrape/targetstatus.qtpl:305 +//line lib/promscrape/targetstatus.qtpl:289 qw422016.N().S(`

`) -//line lib/promscrape/targetstatus.qtpl:318 +//line lib/promscrape/targetstatus.qtpl:302 for _, t := range tlj.targets { -//line lib/promscrape/targetstatus.qtpl:318 +//line lib/promscrape/targetstatus.qtpl:302 qw422016.N().S(` 0 { -//line lib/promscrape/targetstatus.qtpl:322 +//line lib/promscrape/targetstatus.qtpl:306 qw422016.N().S(`class="alert alert-danger"`) -//line lib/promscrape/targetstatus.qtpl:324 +//line lib/promscrape/targetstatus.qtpl:308 } else { -//line lib/promscrape/targetstatus.qtpl:324 +//line lib/promscrape/targetstatus.qtpl:308 qw422016.N().S(`class="alert alert-warning"`) -//line lib/promscrape/targetstatus.qtpl:326 +//line lib/promscrape/targetstatus.qtpl:310 } -//line lib/promscrape/targetstatus.qtpl:327 +//line lib/promscrape/targetstatus.qtpl:311 } -//line lib/promscrape/targetstatus.qtpl:327 +//line lib/promscrape/targetstatus.qtpl:311 qw422016.N().S(`>`) -//line lib/promscrape/targetstatus.qtpl:349 +//line lib/promscrape/targetstatus.qtpl:333 } -//line lib/promscrape/targetstatus.qtpl:349 +//line lib/promscrape/targetstatus.qtpl:333 qw422016.N().S(`
StatusDiscovered LabelsTarget LabelsDebug relabeling
`) -//line lib/promscrape/targetstatus.qtpl:330 +//line lib/promscrape/targetstatus.qtpl:314 if t.up { -//line lib/promscrape/targetstatus.qtpl:330 +//line lib/promscrape/targetstatus.qtpl:314 qw422016.N().S(`UP`) -//line lib/promscrape/targetstatus.qtpl:332 +//line lib/promscrape/targetstatus.qtpl:316 } else if t.labels.Len() > 0 { -//line lib/promscrape/targetstatus.qtpl:332 +//line lib/promscrape/targetstatus.qtpl:316 qw422016.N().S(`DOWN`) -//line lib/promscrape/targetstatus.qtpl:334 +//line lib/promscrape/targetstatus.qtpl:318 } else { -//line lib/promscrape/targetstatus.qtpl:334 +//line lib/promscrape/targetstatus.qtpl:318 qw422016.N().S(`DROPPED`) -//line lib/promscrape/targetstatus.qtpl:336 +//line lib/promscrape/targetstatus.qtpl:320 } -//line lib/promscrape/targetstatus.qtpl:336 +//line lib/promscrape/targetstatus.qtpl:320 qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:339 +//line lib/promscrape/targetstatus.qtpl:323 streamformatLabels(qw422016, t.originalLabels) -//line lib/promscrape/targetstatus.qtpl:339 +//line lib/promscrape/targetstatus.qtpl:323 qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:342 +//line lib/promscrape/targetstatus.qtpl:326 streamformatLabels(qw422016, t.labels) -//line lib/promscrape/targetstatus.qtpl:342 +//line lib/promscrape/targetstatus.qtpl:326 qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:345 +//line lib/promscrape/targetstatus.qtpl:329 targetID := getLabelsID(t.originalLabels) -//line lib/promscrape/targetstatus.qtpl:345 +//line lib/promscrape/targetstatus.qtpl:329 qw422016.N().S(`debug
`) -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 } -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 func writediscoveredJobTargets(qq422016 qtio422016.Writer, num int, tlj *targetLabelsByJob) { -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 streamdiscoveredJobTargets(qw422016, num, tlj) -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 } -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 func discoveredJobTargets(num int, tlj *targetLabelsByJob) string { -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 writediscoveredJobTargets(qb422016, num, tlj) -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 return qs422016 -//line lib/promscrape/targetstatus.qtpl:353 +//line lib/promscrape/targetstatus.qtpl:337 } -//line lib/promscrape/targetstatus.qtpl:355 +//line lib/promscrape/targetstatus.qtpl:339 func streamshowHideScrapeJobButtons(qw422016 *qt422016.Writer, num int) { -//line lib/promscrape/targetstatus.qtpl:355 +//line lib/promscrape/targetstatus.qtpl:339 qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 } -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 func writeshowHideScrapeJobButtons(qq422016 qtio422016.Writer, num int) { -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 streamshowHideScrapeJobButtons(qw422016, num) -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 } -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 func showHideScrapeJobButtons(num int) string { -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 writeshowHideScrapeJobButtons(qb422016, num) -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 return qs422016 -//line lib/promscrape/targetstatus.qtpl:364 +//line lib/promscrape/targetstatus.qtpl:348 } -//line lib/promscrape/targetstatus.qtpl:366 +//line lib/promscrape/targetstatus.qtpl:350 func streamqueryArgs(qw422016 *qt422016.Writer, filter *requestFilter, override map[string]string) { -//line lib/promscrape/targetstatus.qtpl:368 +//line lib/promscrape/targetstatus.qtpl:352 showOnlyUnhealthy := "false" if filter.showOnlyUnhealthy { showOnlyUnhealthy = "true" @@ -994,126 +929,89 @@ func streamqueryArgs(qw422016 *qt422016.Writer, filter *requestFilter, override qa[k] = []string{v} } -//line lib/promscrape/targetstatus.qtpl:385 +//line lib/promscrape/targetstatus.qtpl:369 qw422016.E().S(qa.Encode()) -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 } -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 func writequeryArgs(qq422016 qtio422016.Writer, filter *requestFilter, override map[string]string) { -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 streamqueryArgs(qw422016, filter, override) -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 } -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 func queryArgs(filter *requestFilter, override map[string]string) string { -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 writequeryArgs(qb422016, filter, override) -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 return qs422016 -//line lib/promscrape/targetstatus.qtpl:386 +//line lib/promscrape/targetstatus.qtpl:370 } -//line lib/promscrape/targetstatus.qtpl:388 +//line lib/promscrape/targetstatus.qtpl:372 func streamformatLabels(qw422016 *qt422016.Writer, labels *promutils.Labels) { -//line lib/promscrape/targetstatus.qtpl:389 +//line lib/promscrape/targetstatus.qtpl:373 labelsList := labels.GetLabels() -//line lib/promscrape/targetstatus.qtpl:389 +//line lib/promscrape/targetstatus.qtpl:373 qw422016.N().S(`{`) -//line lib/promscrape/targetstatus.qtpl:391 +//line lib/promscrape/targetstatus.qtpl:375 for i, label := range labelsList { -//line lib/promscrape/targetstatus.qtpl:392 +//line lib/promscrape/targetstatus.qtpl:376 qw422016.E().S(label.Name) -//line lib/promscrape/targetstatus.qtpl:392 +//line lib/promscrape/targetstatus.qtpl:376 qw422016.N().S(`=`) -//line lib/promscrape/targetstatus.qtpl:392 +//line lib/promscrape/targetstatus.qtpl:376 qw422016.E().Q(label.Value) -//line lib/promscrape/targetstatus.qtpl:393 +//line lib/promscrape/targetstatus.qtpl:377 if i+1 < len(labelsList) { -//line lib/promscrape/targetstatus.qtpl:393 +//line lib/promscrape/targetstatus.qtpl:377 qw422016.N().S(`,`) -//line lib/promscrape/targetstatus.qtpl:393 +//line lib/promscrape/targetstatus.qtpl:377 qw422016.N().S(` `) -//line lib/promscrape/targetstatus.qtpl:393 +//line lib/promscrape/targetstatus.qtpl:377 } -//line lib/promscrape/targetstatus.qtpl:394 +//line lib/promscrape/targetstatus.qtpl:378 } -//line lib/promscrape/targetstatus.qtpl:394 +//line lib/promscrape/targetstatus.qtpl:378 qw422016.N().S(`}`) -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 } -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 func writeformatLabels(qq422016 qtio422016.Writer, labels *promutils.Labels) { -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 streamformatLabels(qw422016, labels) -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 } -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 func formatLabels(labels *promutils.Labels) string { -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 writeformatLabels(qb422016, labels) -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:396 +//line lib/promscrape/targetstatus.qtpl:380 return qs422016 -//line lib/promscrape/targetstatus.qtpl:396 -} - -//line lib/promscrape/targetstatus.qtpl:398 -func streamerrorNotification(qw422016 *qt422016.Writer, err error) { -//line lib/promscrape/targetstatus.qtpl:398 - qw422016.N().S(``) -//line lib/promscrape/targetstatus.qtpl:406 -} - -//line lib/promscrape/targetstatus.qtpl:406 -func writeerrorNotification(qq422016 qtio422016.Writer, err error) { -//line lib/promscrape/targetstatus.qtpl:406 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promscrape/targetstatus.qtpl:406 - streamerrorNotification(qw422016, err) -//line lib/promscrape/targetstatus.qtpl:406 - qt422016.ReleaseWriter(qw422016) -//line lib/promscrape/targetstatus.qtpl:406 -} - -//line lib/promscrape/targetstatus.qtpl:406 -func errorNotification(err error) string { -//line lib/promscrape/targetstatus.qtpl:406 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promscrape/targetstatus.qtpl:406 - writeerrorNotification(qb422016, err) -//line lib/promscrape/targetstatus.qtpl:406 - qs422016 := string(qb422016.B) -//line lib/promscrape/targetstatus.qtpl:406 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promscrape/targetstatus.qtpl:406 - return qs422016 -//line lib/promscrape/targetstatus.qtpl:406 +//line lib/promscrape/targetstatus.qtpl:380 }