diff --git a/lib/promrelabel/debug.go b/lib/promrelabel/debug.go index 6fed35bcc..360792d13 100644 --- a/lib/promrelabel/debug.go +++ b/lib/promrelabel/debug.go @@ -21,7 +21,7 @@ func writeRelabelDebug(w io.Writer, isTargetRelabel bool, targetID, metric, rela if metric == "" { metric = "{}" } - if targetID == "" { + if err != nil { WriteRelabelDebugSteps(w, isTargetRelabel, targetID, nil, metric, relabelConfigs, err) return } diff --git a/lib/promrelabel/debug.qtpl b/lib/promrelabel/debug.qtpl index 76dfd719a..2f8244d25 100644 --- a/lib/promrelabel/debug.qtpl +++ b/lib/promrelabel/debug.qtpl @@ -11,6 +11,16 @@ {%= htmlcomponents.CommonHeader() %} Metric relabel debug + {%= htmlcomponents.Navbar() %} @@ -18,9 +28,9 @@ Relabeling docs{% space %} {% if isTargetRelabel %} - Metric relabel debug + Metric relabel debug {% else %} - Target relabel debug + Target relabel debug {% endif %}
@@ -29,9 +39,11 @@ {% endif %}
-
+ {%= relabelDebugFormInputs(metric, relabelConfigs) %} - + {% if targetID != "" %} + + {% endif %} {% if targetID != "" %} diff --git a/lib/promrelabel/debug.qtpl.go b/lib/promrelabel/debug.qtpl.go index c4a29f8d2..4e78569b9 100644 --- a/lib/promrelabel/debug.qtpl.go +++ b/lib/promrelabel/debug.qtpl.go @@ -30,126 +30,103 @@ func StreamRelabelDebugSteps(qw422016 *qt422016.Writer, isTargetRelabel bool, ta //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 + qw422016.N().S(`Metric relabel debug`) +//line lib/promrelabel/debug.qtpl:26 htmlcomponents.StreamNavbar(qw422016) -//line lib/promrelabel/debug.qtpl:16 +//line lib/promrelabel/debug.qtpl:26 qw422016.N().S(`
Relabeling docs`) -//line lib/promrelabel/debug.qtpl:18 - qw422016.N().S(` `) -//line lib/promrelabel/debug.qtpl:20 - if isTargetRelabel { -//line lib/promrelabel/debug.qtpl:20 - qw422016.N().S(`Metric relabel debug`) -//line lib/promrelabel/debug.qtpl:22 - } else { -//line lib/promrelabel/debug.qtpl:22 - qw422016.N().S(`Target relabel debug`) -//line lib/promrelabel/debug.qtpl:24 - } -//line lib/promrelabel/debug.qtpl:24 - qw422016.N().S(`
`) -//line lib/promrelabel/debug.qtpl:27 - if err != nil { //line lib/promrelabel/debug.qtpl:28 + qw422016.N().S(` `) +//line lib/promrelabel/debug.qtpl:30 + if isTargetRelabel { +//line lib/promrelabel/debug.qtpl:30 + qw422016.N().S(`Metric relabel debug`) +//line lib/promrelabel/debug.qtpl:32 + } else { +//line lib/promrelabel/debug.qtpl:32 + qw422016.N().S(`Target relabel debug`) +//line lib/promrelabel/debug.qtpl:34 + } +//line lib/promrelabel/debug.qtpl:34 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:37 + if err != nil { +//line lib/promrelabel/debug.qtpl:38 htmlcomponents.StreamErrorNotification(qw422016, err) -//line lib/promrelabel/debug.qtpl:29 +//line lib/promrelabel/debug.qtpl:39 } -//line lib/promrelabel/debug.qtpl:29 - qw422016.N().S(`
`) -//line lib/promrelabel/debug.qtpl:33 +//line lib/promrelabel/debug.qtpl:39 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:43 streamrelabelDebugFormInputs(qw422016, metric, relabelConfigs) -//line lib/promrelabel/debug.qtpl:33 - qw422016.N().S(``) -//line lib/promrelabel/debug.qtpl:36 +//line lib/promrelabel/debug.qtpl:44 if targetID != "" { -//line lib/promrelabel/debug.qtpl:36 - qw422016.N().S(``) -//line lib/promrelabel/debug.qtpl:38 +//line lib/promrelabel/debug.qtpl:45 + qw422016.N().S(`" />`) +//line lib/promrelabel/debug.qtpl:46 } -//line lib/promrelabel/debug.qtpl:38 +//line lib/promrelabel/debug.qtpl:46 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:48 + if targetID != "" { +//line lib/promrelabel/debug.qtpl:48 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:50 + } +//line lib/promrelabel/debug.qtpl:50 qw422016.N().S(`
`) -//line lib/promrelabel/debug.qtpl:44 +//line lib/promrelabel/debug.qtpl:56 streamrelabelDebugSteps(qw422016, dss) -//line lib/promrelabel/debug.qtpl:44 +//line lib/promrelabel/debug.qtpl:56 qw422016.N().S(`
`) -//line lib/promrelabel/debug.qtpl:50 +//line lib/promrelabel/debug.qtpl:62 } -//line lib/promrelabel/debug.qtpl:50 +//line lib/promrelabel/debug.qtpl:62 func WriteRelabelDebugSteps(qq422016 qtio422016.Writer, isTargetRelabel bool, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) { -//line lib/promrelabel/debug.qtpl:50 +//line lib/promrelabel/debug.qtpl:62 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promrelabel/debug.qtpl:50 +//line lib/promrelabel/debug.qtpl:62 StreamRelabelDebugSteps(qw422016, isTargetRelabel, targetID, dss, metric, relabelConfigs, err) -//line lib/promrelabel/debug.qtpl:50 +//line lib/promrelabel/debug.qtpl:62 qt422016.ReleaseWriter(qw422016) -//line lib/promrelabel/debug.qtpl:50 +//line lib/promrelabel/debug.qtpl:62 } -//line lib/promrelabel/debug.qtpl:50 +//line lib/promrelabel/debug.qtpl:62 func RelabelDebugSteps(isTargetRelabel bool, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) string { -//line lib/promrelabel/debug.qtpl:50 +//line lib/promrelabel/debug.qtpl:62 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promrelabel/debug.qtpl:50 +//line lib/promrelabel/debug.qtpl:62 WriteRelabelDebugSteps(qb422016, isTargetRelabel, targetID, dss, metric, relabelConfigs, err) -//line lib/promrelabel/debug.qtpl:50 - qs422016 := string(qb422016.B) -//line lib/promrelabel/debug.qtpl:50 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promrelabel/debug.qtpl:50 - return qs422016 -//line lib/promrelabel/debug.qtpl:50 -} - -//line lib/promrelabel/debug.qtpl:52 -func streamrelabelDebugFormInputs(qw422016 *qt422016.Writer, metric, relabelConfigs string) { -//line lib/promrelabel/debug.qtpl:52 - qw422016.N().S(`
Relabel configs:
Labels:
`) -//line lib/promrelabel/debug.qtpl:62 -} - -//line lib/promrelabel/debug.qtpl:62 -func writerelabelDebugFormInputs(qq422016 qtio422016.Writer, metric, relabelConfigs string) { -//line lib/promrelabel/debug.qtpl:62 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promrelabel/debug.qtpl:62 - streamrelabelDebugFormInputs(qw422016, metric, relabelConfigs) -//line lib/promrelabel/debug.qtpl:62 - qt422016.ReleaseWriter(qw422016) -//line lib/promrelabel/debug.qtpl:62 -} - -//line lib/promrelabel/debug.qtpl:62 -func relabelDebugFormInputs(metric, relabelConfigs string) string { -//line lib/promrelabel/debug.qtpl:62 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promrelabel/debug.qtpl:62 - writerelabelDebugFormInputs(qb422016, metric, relabelConfigs) //line lib/promrelabel/debug.qtpl:62 qs422016 := string(qb422016.B) //line lib/promrelabel/debug.qtpl:62 @@ -160,90 +137,131 @@ func relabelDebugFormInputs(metric, relabelConfigs string) string { } //line lib/promrelabel/debug.qtpl:64 +func streamrelabelDebugFormInputs(qw422016 *qt422016.Writer, metric, relabelConfigs string) { +//line lib/promrelabel/debug.qtpl:64 + qw422016.N().S(`
Relabel configs:
Labels:
`) +//line lib/promrelabel/debug.qtpl:74 +} + +//line lib/promrelabel/debug.qtpl:74 +func writerelabelDebugFormInputs(qq422016 qtio422016.Writer, metric, relabelConfigs string) { +//line lib/promrelabel/debug.qtpl:74 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/promrelabel/debug.qtpl:74 + streamrelabelDebugFormInputs(qw422016, metric, relabelConfigs) +//line lib/promrelabel/debug.qtpl:74 + qt422016.ReleaseWriter(qw422016) +//line lib/promrelabel/debug.qtpl:74 +} + +//line lib/promrelabel/debug.qtpl:74 +func relabelDebugFormInputs(metric, relabelConfigs string) string { +//line lib/promrelabel/debug.qtpl:74 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/promrelabel/debug.qtpl:74 + writerelabelDebugFormInputs(qb422016, metric, relabelConfigs) +//line lib/promrelabel/debug.qtpl:74 + qs422016 := string(qb422016.B) +//line lib/promrelabel/debug.qtpl:74 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/promrelabel/debug.qtpl:74 + return qs422016 +//line lib/promrelabel/debug.qtpl:74 +} + +//line lib/promrelabel/debug.qtpl:76 func streamrelabelDebugSteps(qw422016 *qt422016.Writer, dss []DebugStep) { -//line lib/promrelabel/debug.qtpl:65 +//line lib/promrelabel/debug.qtpl:77 if len(dss) > 0 { -//line lib/promrelabel/debug.qtpl:65 +//line lib/promrelabel/debug.qtpl:77 qw422016.N().S(`
Original labels: `) -//line lib/promrelabel/debug.qtpl:67 +//line lib/promrelabel/debug.qtpl:79 streammustFormatLabels(qw422016, dss[0].In) -//line lib/promrelabel/debug.qtpl:67 +//line lib/promrelabel/debug.qtpl:79 qw422016.N().S(`
`) -//line lib/promrelabel/debug.qtpl:69 +//line lib/promrelabel/debug.qtpl:81 } -//line lib/promrelabel/debug.qtpl:69 +//line lib/promrelabel/debug.qtpl:81 qw422016.N().S(``) -//line lib/promrelabel/debug.qtpl:80 +//line lib/promrelabel/debug.qtpl:92 for i, ds := range dss { -//line lib/promrelabel/debug.qtpl:82 +//line lib/promrelabel/debug.qtpl:94 inLabels := promutils.MustNewLabelsFromString(ds.In) outLabels := promutils.MustNewLabelsFromString(ds.Out) changedLabels := getChangedLabelNames(inLabels, outLabels) -//line lib/promrelabel/debug.qtpl:85 +//line lib/promrelabel/debug.qtpl:97 qw422016.N().S(``) -//line lib/promrelabel/debug.qtpl:100 - } -//line lib/promrelabel/debug.qtpl:100 - qw422016.N().S(`
StepRelabeling RuleInput LabelsOutput labels
`) -//line lib/promrelabel/debug.qtpl:87 +//line lib/promrelabel/debug.qtpl:99 qw422016.N().D(i) -//line lib/promrelabel/debug.qtpl:87 +//line lib/promrelabel/debug.qtpl:99 qw422016.N().S(`
`)
-//line lib/promrelabel/debug.qtpl:88
+//line lib/promrelabel/debug.qtpl:100
 		qw422016.E().S(ds.Rule)
-//line lib/promrelabel/debug.qtpl:88
+//line lib/promrelabel/debug.qtpl:100
 		qw422016.N().S(`
`) -//line lib/promrelabel/debug.qtpl:91 +//line lib/promrelabel/debug.qtpl:103 streamlabelsWithHighlight(qw422016, inLabels, changedLabels, "red") -//line lib/promrelabel/debug.qtpl:91 +//line lib/promrelabel/debug.qtpl:103 qw422016.N().S(`
`) -//line lib/promrelabel/debug.qtpl:96 +//line lib/promrelabel/debug.qtpl:108 streamlabelsWithHighlight(qw422016, outLabels, changedLabels, "blue") -//line lib/promrelabel/debug.qtpl:96 +//line lib/promrelabel/debug.qtpl:108 qw422016.N().S(`
`) -//line lib/promrelabel/debug.qtpl:103 - if len(dss) > 0 { -//line lib/promrelabel/debug.qtpl:103 - qw422016.N().S(`
Resulting labels: `) -//line lib/promrelabel/debug.qtpl:105 - streammustFormatLabels(qw422016, dss[len(dss)-1].Out) -//line lib/promrelabel/debug.qtpl:105 - qw422016.N().S(`
`) -//line lib/promrelabel/debug.qtpl:107 - } -//line lib/promrelabel/debug.qtpl:108 -} - -//line lib/promrelabel/debug.qtpl:108 -func writerelabelDebugSteps(qq422016 qtio422016.Writer, dss []DebugStep) { -//line lib/promrelabel/debug.qtpl:108 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promrelabel/debug.qtpl:108 - streamrelabelDebugSteps(qw422016, dss) -//line lib/promrelabel/debug.qtpl:108 - qt422016.ReleaseWriter(qw422016) -//line lib/promrelabel/debug.qtpl:108 -} - -//line lib/promrelabel/debug.qtpl:108 -func relabelDebugSteps(dss []DebugStep) string { -//line lib/promrelabel/debug.qtpl:108 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promrelabel/debug.qtpl:108 - writerelabelDebugSteps(qb422016, dss) -//line lib/promrelabel/debug.qtpl:108 - qs422016 := string(qb422016.B) -//line lib/promrelabel/debug.qtpl:108 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promrelabel/debug.qtpl:108 - return qs422016 -//line lib/promrelabel/debug.qtpl:108 -} - -//line lib/promrelabel/debug.qtpl:110 -func streamlabelsWithHighlight(qw422016 *qt422016.Writer, labels *promutils.Labels, highlight map[string]struct{}, color string) { //line lib/promrelabel/debug.qtpl:112 + } +//line lib/promrelabel/debug.qtpl:112 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:115 + if len(dss) > 0 { +//line lib/promrelabel/debug.qtpl:115 + qw422016.N().S(`
Resulting labels: `) +//line lib/promrelabel/debug.qtpl:117 + streammustFormatLabels(qw422016, dss[len(dss)-1].Out) +//line lib/promrelabel/debug.qtpl:117 + qw422016.N().S(`
`) +//line lib/promrelabel/debug.qtpl:119 + } +//line lib/promrelabel/debug.qtpl:120 +} + +//line lib/promrelabel/debug.qtpl:120 +func writerelabelDebugSteps(qq422016 qtio422016.Writer, dss []DebugStep) { +//line lib/promrelabel/debug.qtpl:120 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/promrelabel/debug.qtpl:120 + streamrelabelDebugSteps(qw422016, dss) +//line lib/promrelabel/debug.qtpl:120 + qt422016.ReleaseWriter(qw422016) +//line lib/promrelabel/debug.qtpl:120 +} + +//line lib/promrelabel/debug.qtpl:120 +func relabelDebugSteps(dss []DebugStep) string { +//line lib/promrelabel/debug.qtpl:120 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/promrelabel/debug.qtpl:120 + writerelabelDebugSteps(qb422016, dss) +//line lib/promrelabel/debug.qtpl:120 + qs422016 := string(qb422016.B) +//line lib/promrelabel/debug.qtpl:120 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/promrelabel/debug.qtpl:120 + return qs422016 +//line lib/promrelabel/debug.qtpl:120 +} + +//line lib/promrelabel/debug.qtpl:122 +func streamlabelsWithHighlight(qw422016 *qt422016.Writer, labels *promutils.Labels, highlight map[string]struct{}, color string) { +//line lib/promrelabel/debug.qtpl:124 labelsList := labels.GetLabels() metricName := "" for i, label := range labelsList { @@ -254,137 +272,137 @@ func streamlabelsWithHighlight(qw422016 *qt422016.Writer, labels *promutils.Labe } } -//line lib/promrelabel/debug.qtpl:122 - if metricName != "" { -//line lib/promrelabel/debug.qtpl:123 - if _, ok := highlight["__name__"]; ok { -//line lib/promrelabel/debug.qtpl:123 - qw422016.N().S(``) -//line lib/promrelabel/debug.qtpl:124 - qw422016.E().S(metricName) -//line lib/promrelabel/debug.qtpl:124 - qw422016.N().S(``) -//line lib/promrelabel/debug.qtpl:125 - } else { -//line lib/promrelabel/debug.qtpl:126 - qw422016.E().S(metricName) -//line lib/promrelabel/debug.qtpl:127 - } -//line lib/promrelabel/debug.qtpl:128 - if len(labelsList) == 0 { -//line lib/promrelabel/debug.qtpl:128 - return -//line lib/promrelabel/debug.qtpl:128 - } -//line lib/promrelabel/debug.qtpl:129 - } -//line lib/promrelabel/debug.qtpl:129 - qw422016.N().S(`{`) -//line lib/promrelabel/debug.qtpl:131 - for i, label := range labelsList { -//line lib/promrelabel/debug.qtpl:132 - if _, ok := highlight[label.Name]; ok { -//line lib/promrelabel/debug.qtpl:132 - qw422016.N().S(``) -//line lib/promrelabel/debug.qtpl:133 - qw422016.E().S(label.Name) -//line lib/promrelabel/debug.qtpl:133 - qw422016.N().S(`=`) -//line lib/promrelabel/debug.qtpl:133 - qw422016.E().Q(label.Value) -//line lib/promrelabel/debug.qtpl:133 - qw422016.N().S(``) //line lib/promrelabel/debug.qtpl:134 - } else { + if metricName != "" { //line lib/promrelabel/debug.qtpl:135 - qw422016.E().S(label.Name) + if _, ok := highlight["__name__"]; ok { //line lib/promrelabel/debug.qtpl:135 - qw422016.N().S(`=`) -//line lib/promrelabel/debug.qtpl:135 - qw422016.E().Q(label.Value) + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:136 + qw422016.E().S(metricName) +//line lib/promrelabel/debug.qtpl:136 + qw422016.N().S(``) //line lib/promrelabel/debug.qtpl:137 - if i < len(labelsList)-1 { -//line lib/promrelabel/debug.qtpl:137 - qw422016.N().S(`,`) -//line lib/promrelabel/debug.qtpl:137 - qw422016.N().S(` `) -//line lib/promrelabel/debug.qtpl:137 - } + } else { //line lib/promrelabel/debug.qtpl:138 + qw422016.E().S(metricName) +//line lib/promrelabel/debug.qtpl:139 + } +//line lib/promrelabel/debug.qtpl:140 + if len(labelsList) == 0 { +//line lib/promrelabel/debug.qtpl:140 + return +//line lib/promrelabel/debug.qtpl:140 + } +//line lib/promrelabel/debug.qtpl:141 } -//line lib/promrelabel/debug.qtpl:138 - qw422016.N().S(`}`) -//line lib/promrelabel/debug.qtpl:140 -} - -//line lib/promrelabel/debug.qtpl:140 -func writelabelsWithHighlight(qq422016 qtio422016.Writer, labels *promutils.Labels, highlight map[string]struct{}, color string) { -//line lib/promrelabel/debug.qtpl:140 - qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promrelabel/debug.qtpl:140 - streamlabelsWithHighlight(qw422016, labels, highlight, color) -//line lib/promrelabel/debug.qtpl:140 - qt422016.ReleaseWriter(qw422016) -//line lib/promrelabel/debug.qtpl:140 -} - -//line lib/promrelabel/debug.qtpl:140 -func labelsWithHighlight(labels *promutils.Labels, highlight map[string]struct{}, color string) string { -//line lib/promrelabel/debug.qtpl:140 - qb422016 := qt422016.AcquireByteBuffer() -//line lib/promrelabel/debug.qtpl:140 - writelabelsWithHighlight(qb422016, labels, highlight, color) -//line lib/promrelabel/debug.qtpl:140 - qs422016 := string(qb422016.B) -//line lib/promrelabel/debug.qtpl:140 - qt422016.ReleaseByteBuffer(qb422016) -//line lib/promrelabel/debug.qtpl:140 - return qs422016 -//line lib/promrelabel/debug.qtpl:140 -} - -//line lib/promrelabel/debug.qtpl:142 -func streammustFormatLabels(qw422016 *qt422016.Writer, s string) { +//line lib/promrelabel/debug.qtpl:141 + qw422016.N().S(`{`) //line lib/promrelabel/debug.qtpl:143 + for i, label := range labelsList { +//line lib/promrelabel/debug.qtpl:144 + if _, ok := highlight[label.Name]; ok { +//line lib/promrelabel/debug.qtpl:144 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:145 + qw422016.E().S(label.Name) +//line lib/promrelabel/debug.qtpl:145 + qw422016.N().S(`=`) +//line lib/promrelabel/debug.qtpl:145 + qw422016.E().Q(label.Value) +//line lib/promrelabel/debug.qtpl:145 + qw422016.N().S(``) +//line lib/promrelabel/debug.qtpl:146 + } else { +//line lib/promrelabel/debug.qtpl:147 + qw422016.E().S(label.Name) +//line lib/promrelabel/debug.qtpl:147 + qw422016.N().S(`=`) +//line lib/promrelabel/debug.qtpl:147 + qw422016.E().Q(label.Value) +//line lib/promrelabel/debug.qtpl:148 + } +//line lib/promrelabel/debug.qtpl:149 + if i < len(labelsList)-1 { +//line lib/promrelabel/debug.qtpl:149 + qw422016.N().S(`,`) +//line lib/promrelabel/debug.qtpl:149 + qw422016.N().S(` `) +//line lib/promrelabel/debug.qtpl:149 + } +//line lib/promrelabel/debug.qtpl:150 + } +//line lib/promrelabel/debug.qtpl:150 + qw422016.N().S(`}`) +//line lib/promrelabel/debug.qtpl:152 +} + +//line lib/promrelabel/debug.qtpl:152 +func writelabelsWithHighlight(qq422016 qtio422016.Writer, labels *promutils.Labels, highlight map[string]struct{}, color string) { +//line lib/promrelabel/debug.qtpl:152 + qw422016 := qt422016.AcquireWriter(qq422016) +//line lib/promrelabel/debug.qtpl:152 + streamlabelsWithHighlight(qw422016, labels, highlight, color) +//line lib/promrelabel/debug.qtpl:152 + qt422016.ReleaseWriter(qw422016) +//line lib/promrelabel/debug.qtpl:152 +} + +//line lib/promrelabel/debug.qtpl:152 +func labelsWithHighlight(labels *promutils.Labels, highlight map[string]struct{}, color string) string { +//line lib/promrelabel/debug.qtpl:152 + qb422016 := qt422016.AcquireByteBuffer() +//line lib/promrelabel/debug.qtpl:152 + writelabelsWithHighlight(qb422016, labels, highlight, color) +//line lib/promrelabel/debug.qtpl:152 + qs422016 := string(qb422016.B) +//line lib/promrelabel/debug.qtpl:152 + qt422016.ReleaseByteBuffer(qb422016) +//line lib/promrelabel/debug.qtpl:152 + return qs422016 +//line lib/promrelabel/debug.qtpl:152 +} + +//line lib/promrelabel/debug.qtpl:154 +func streammustFormatLabels(qw422016 *qt422016.Writer, s string) { +//line lib/promrelabel/debug.qtpl:155 labels := promutils.MustNewLabelsFromString(s) -//line lib/promrelabel/debug.qtpl:144 +//line lib/promrelabel/debug.qtpl:156 streamlabelsWithHighlight(qw422016, labels, nil, "") -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 } -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 func writemustFormatLabels(qq422016 qtio422016.Writer, s string) { -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 qw422016 := qt422016.AcquireWriter(qq422016) -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 streammustFormatLabels(qw422016, s) -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 qt422016.ReleaseWriter(qw422016) -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 } -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 func mustFormatLabels(s string) string { -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 qb422016 := qt422016.AcquireByteBuffer() -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 writemustFormatLabels(qb422016, s) -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 qs422016 := string(qb422016.B) -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 qt422016.ReleaseByteBuffer(qb422016) -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 return qs422016 -//line lib/promrelabel/debug.qtpl:145 +//line lib/promrelabel/debug.qtpl:157 } diff --git a/lib/promscrape/relabel_debug.go b/lib/promscrape/relabel_debug.go index 47066fea2..f6b142e78 100644 --- a/lib/promscrape/relabel_debug.go +++ b/lib/promscrape/relabel_debug.go @@ -14,7 +14,7 @@ func WriteMetricRelabelDebug(w http.ResponseWriter, r *http.Request) { relabelConfigs := r.FormValue("relabel_configs") var err error - if metric == "" && relabelConfigs == "" { + if metric == "" && relabelConfigs == "" && targetID != "" { pcs, labels, ok := getMetricRelabelContextByTargetID(targetID) if !ok { err = fmt.Errorf("cannot find target for id=%s", targetID) @@ -34,7 +34,7 @@ func WriteTargetRelabelDebug(w http.ResponseWriter, r *http.Request) { relabelConfigs := r.FormValue("relabel_configs") var err error - if metric == "" && relabelConfigs == "" { + if metric == "" && relabelConfigs == "" && targetID != "" { pcs, labels, ok := getTargetRelabelContextByTargetID(targetID) if !ok { err = fmt.Errorf("cannot find target for id=%s", targetID)