// 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 (
"fmt"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/htmlcomponents"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils"
)
//line lib/promrelabel/debug.qtpl:9
import (
qtio422016 "io"
qt422016 "github.com/valyala/quicktemplate"
)
//line lib/promrelabel/debug.qtpl:9
var (
_ = qtio422016.Copy
_ = qt422016.AcquireByteBuffer
)
//line lib/promrelabel/debug.qtpl:9
func StreamRelabelDebugSteps(qw422016 *qt422016.Writer, targetURL, targetID, format string, dss []DebugStep, metric, relabelConfigs string, err error) {
//line lib/promrelabel/debug.qtpl:10
if format == "json" {
//line lib/promrelabel/debug.qtpl:11
StreamRelabelDebugStepsJSON(qw422016, targetURL, targetID, dss, metric, relabelConfigs, err)
//line lib/promrelabel/debug.qtpl:12
} else {
//line lib/promrelabel/debug.qtpl:13
StreamRelabelDebugStepsHTML(qw422016, targetURL, targetID, dss, metric, relabelConfigs, err)
//line lib/promrelabel/debug.qtpl:14
}
//line lib/promrelabel/debug.qtpl:15
}
//line lib/promrelabel/debug.qtpl:15
func WriteRelabelDebugSteps(qq422016 qtio422016.Writer, targetURL, targetID, format string, dss []DebugStep, metric, relabelConfigs string, err error) {
//line lib/promrelabel/debug.qtpl:15
qw422016 := qt422016.AcquireWriter(qq422016)
//line lib/promrelabel/debug.qtpl:15
StreamRelabelDebugSteps(qw422016, targetURL, targetID, format, dss, metric, relabelConfigs, err)
//line lib/promrelabel/debug.qtpl:15
qt422016.ReleaseWriter(qw422016)
//line lib/promrelabel/debug.qtpl:15
}
//line lib/promrelabel/debug.qtpl:15
func RelabelDebugSteps(targetURL, targetID, format string, dss []DebugStep, metric, relabelConfigs string, err error) string {
//line lib/promrelabel/debug.qtpl:15
qb422016 := qt422016.AcquireByteBuffer()
//line lib/promrelabel/debug.qtpl:15
WriteRelabelDebugSteps(qb422016, targetURL, targetID, format, dss, metric, relabelConfigs, err)
//line lib/promrelabel/debug.qtpl:15
qs422016 := string(qb422016.B)
//line lib/promrelabel/debug.qtpl:15
qt422016.ReleaseByteBuffer(qb422016)
//line lib/promrelabel/debug.qtpl:15
return qs422016
//line lib/promrelabel/debug.qtpl:15
}
//line lib/promrelabel/debug.qtpl:17
func StreamRelabelDebugStepsHTML(qw422016 *qt422016.Writer, targetURL, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) {
//line lib/promrelabel/debug.qtpl:17
qw422016.N().S(`
`)
//line lib/promrelabel/debug.qtpl:21
htmlcomponents.StreamCommonHeader(qw422016)
//line lib/promrelabel/debug.qtpl:21
qw422016.N().S(`Metric relabel debug`)
//line lib/promrelabel/debug.qtpl:35
htmlcomponents.StreamNavbar(qw422016)
//line lib/promrelabel/debug.qtpl:35
qw422016.N().S(`Relabeling docs`)
//line lib/promrelabel/debug.qtpl:37
qw422016.N().S(` `)
//line lib/promrelabel/debug.qtpl:39
if targetURL != "" {
//line lib/promrelabel/debug.qtpl:39
qw422016.N().S(`
Metric relabel debug`)
//line lib/promrelabel/debug.qtpl:41
} else {
//line lib/promrelabel/debug.qtpl:41
qw422016.N().S(`
Target relabel debug`)
//line lib/promrelabel/debug.qtpl:43
}
//line lib/promrelabel/debug.qtpl:43
qw422016.N().S(`
`)
//line lib/promrelabel/debug.qtpl:46
if err != nil {
//line lib/promrelabel/debug.qtpl:47
htmlcomponents.StreamErrorNotification(qw422016, err)
//line lib/promrelabel/debug.qtpl:48
}
//line lib/promrelabel/debug.qtpl:48
qw422016.N().S(`
`)
//line lib/promrelabel/debug.qtpl:65
streamrelabelDebugSteps(qw422016, dss, targetURL, targetID)
//line lib/promrelabel/debug.qtpl:65
qw422016.N().S(`
`)
//line lib/promrelabel/debug.qtpl:71
}
//line lib/promrelabel/debug.qtpl:71
func WriteRelabelDebugStepsHTML(qq422016 qtio422016.Writer, targetURL, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) {
//line lib/promrelabel/debug.qtpl:71
qw422016 := qt422016.AcquireWriter(qq422016)
//line lib/promrelabel/debug.qtpl:71
StreamRelabelDebugStepsHTML(qw422016, targetURL, targetID, dss, metric, relabelConfigs, err)
//line lib/promrelabel/debug.qtpl:71
qt422016.ReleaseWriter(qw422016)
//line lib/promrelabel/debug.qtpl:71
}
//line lib/promrelabel/debug.qtpl:71
func RelabelDebugStepsHTML(targetURL, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) string {
//line lib/promrelabel/debug.qtpl:71
qb422016 := qt422016.AcquireByteBuffer()
//line lib/promrelabel/debug.qtpl:71
WriteRelabelDebugStepsHTML(qb422016, targetURL, targetID, dss, metric, relabelConfigs, err)
//line lib/promrelabel/debug.qtpl:71
qs422016 := string(qb422016.B)
//line lib/promrelabel/debug.qtpl:71
qt422016.ReleaseByteBuffer(qb422016)
//line lib/promrelabel/debug.qtpl:71
return qs422016
//line lib/promrelabel/debug.qtpl:71
}
//line lib/promrelabel/debug.qtpl:73
func streamrelabelDebugFormInputs(qw422016 *qt422016.Writer, metric, relabelConfigs string) {
//line lib/promrelabel/debug.qtpl:73
qw422016.N().S(`Relabel configs:
Labels:
`)
//line lib/promrelabel/debug.qtpl:83
}
//line lib/promrelabel/debug.qtpl:83
func writerelabelDebugFormInputs(qq422016 qtio422016.Writer, metric, relabelConfigs string) {
//line lib/promrelabel/debug.qtpl:83
qw422016 := qt422016.AcquireWriter(qq422016)
//line lib/promrelabel/debug.qtpl:83
streamrelabelDebugFormInputs(qw422016, metric, relabelConfigs)
//line lib/promrelabel/debug.qtpl:83
qt422016.ReleaseWriter(qw422016)
//line lib/promrelabel/debug.qtpl:83
}
//line lib/promrelabel/debug.qtpl:83
func relabelDebugFormInputs(metric, relabelConfigs string) string {
//line lib/promrelabel/debug.qtpl:83
qb422016 := qt422016.AcquireByteBuffer()
//line lib/promrelabel/debug.qtpl:83
writerelabelDebugFormInputs(qb422016, metric, relabelConfigs)
//line lib/promrelabel/debug.qtpl:83
qs422016 := string(qb422016.B)
//line lib/promrelabel/debug.qtpl:83
qt422016.ReleaseByteBuffer(qb422016)
//line lib/promrelabel/debug.qtpl:83
return qs422016
//line lib/promrelabel/debug.qtpl:83
}
//line lib/promrelabel/debug.qtpl:85
func streamrelabelDebugSteps(qw422016 *qt422016.Writer, dss []DebugStep, targetURL, targetID string) {
//line lib/promrelabel/debug.qtpl:86
if len(dss) > 0 {
//line lib/promrelabel/debug.qtpl:86
qw422016.N().S(`Original labels: `)
//line lib/promrelabel/debug.qtpl:88
streammustFormatLabels(qw422016, dss[0].In)
//line lib/promrelabel/debug.qtpl:88
qw422016.N().S(`
`)
//line lib/promrelabel/debug.qtpl:90
}
//line lib/promrelabel/debug.qtpl:90
qw422016.N().S(`Step | Relabeling Rule | Input Labels | Output labels |
`)
//line lib/promrelabel/debug.qtpl:101
for i, ds := range dss {
//line lib/promrelabel/debug.qtpl:103
inLabels := promutils.MustNewLabelsFromString(ds.In)
outLabels := promutils.MustNewLabelsFromString(ds.Out)
changedLabels := getChangedLabelNames(inLabels, outLabels)
//line lib/promrelabel/debug.qtpl:106
qw422016.N().S(``)
//line lib/promrelabel/debug.qtpl:108
qw422016.N().D(i)
//line lib/promrelabel/debug.qtpl:108
qw422016.N().S(` | `)
//line lib/promrelabel/debug.qtpl:109
qw422016.E().S(ds.Rule)
//line lib/promrelabel/debug.qtpl:109
qw422016.N().S(` | `)
//line lib/promrelabel/debug.qtpl:112
streamlabelsWithHighlight(qw422016, inLabels, changedLabels, "red")
//line lib/promrelabel/debug.qtpl:112
qw422016.N().S(` | `)
//line lib/promrelabel/debug.qtpl:117
streamlabelsWithHighlight(qw422016, outLabels, changedLabels, "blue")
//line lib/promrelabel/debug.qtpl:117
qw422016.N().S(` |
`)
//line lib/promrelabel/debug.qtpl:121
}
//line lib/promrelabel/debug.qtpl:121
qw422016.N().S(`
`)
//line lib/promrelabel/debug.qtpl:124
if len(dss) > 0 {
//line lib/promrelabel/debug.qtpl:124
qw422016.N().S(`Resulting labels: `)
//line lib/promrelabel/debug.qtpl:126
streammustFormatLabels(qw422016, dss[len(dss)-1].Out)
//line lib/promrelabel/debug.qtpl:126
qw422016.N().S(``)
//line lib/promrelabel/debug.qtpl:127
if targetURL != "" {
//line lib/promrelabel/debug.qtpl:127
qw422016.N().S(`
`)
//line lib/promrelabel/debug.qtpl:135
}
//line lib/promrelabel/debug.qtpl:135
qw422016.N().S(`
`)
//line lib/promrelabel/debug.qtpl:137
}
//line lib/promrelabel/debug.qtpl:138
}
//line lib/promrelabel/debug.qtpl:138
func writerelabelDebugSteps(qq422016 qtio422016.Writer, dss []DebugStep, targetURL, targetID string) {
//line lib/promrelabel/debug.qtpl:138
qw422016 := qt422016.AcquireWriter(qq422016)
//line lib/promrelabel/debug.qtpl:138
streamrelabelDebugSteps(qw422016, dss, targetURL, targetID)
//line lib/promrelabel/debug.qtpl:138
qt422016.ReleaseWriter(qw422016)
//line lib/promrelabel/debug.qtpl:138
}
//line lib/promrelabel/debug.qtpl:138
func relabelDebugSteps(dss []DebugStep, targetURL, targetID string) string {
//line lib/promrelabel/debug.qtpl:138
qb422016 := qt422016.AcquireByteBuffer()
//line lib/promrelabel/debug.qtpl:138
writerelabelDebugSteps(qb422016, dss, targetURL, targetID)
//line lib/promrelabel/debug.qtpl:138
qs422016 := string(qb422016.B)
//line lib/promrelabel/debug.qtpl:138
qt422016.ReleaseByteBuffer(qb422016)
//line lib/promrelabel/debug.qtpl:138
return qs422016
//line lib/promrelabel/debug.qtpl:138
}
//line lib/promrelabel/debug.qtpl:140
func StreamRelabelDebugStepsJSON(qw422016 *qt422016.Writer, targetURL, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) {
//line lib/promrelabel/debug.qtpl:140
qw422016.N().S(`{`)
//line lib/promrelabel/debug.qtpl:142
if err != nil {
//line lib/promrelabel/debug.qtpl:142
qw422016.N().S(`"status": "error","error":`)
//line lib/promrelabel/debug.qtpl:144
qw422016.N().Q(fmt.Sprintf("Error: %s", err))
//line lib/promrelabel/debug.qtpl:145
} else {
//line lib/promrelabel/debug.qtpl:145
qw422016.N().S(`"status": "success",`)
//line lib/promrelabel/debug.qtpl:147
if len(dss) > 0 {
//line lib/promrelabel/debug.qtpl:147
qw422016.N().S(`"originalLabels":`)
//line lib/promrelabel/debug.qtpl:148
qw422016.N().Q(mustFormatLabels(dss[0].In))
//line lib/promrelabel/debug.qtpl:148
qw422016.N().S(`,"resultingLabels":`)
//line lib/promrelabel/debug.qtpl:149
qw422016.N().Q(mustFormatLabels(dss[len(dss)-1].Out))
//line lib/promrelabel/debug.qtpl:149
qw422016.N().S(`,`)
//line lib/promrelabel/debug.qtpl:150
}
//line lib/promrelabel/debug.qtpl:150
qw422016.N().S(`"steps": [`)
//line lib/promrelabel/debug.qtpl:152
for i, ds := range dss {
//line lib/promrelabel/debug.qtpl:154
inLabels := promutils.MustNewLabelsFromString(ds.In)
outLabels := promutils.MustNewLabelsFromString(ds.Out)
changedLabels := getChangedLabelNames(inLabels, outLabels)
//line lib/promrelabel/debug.qtpl:157
qw422016.N().S(`{"inLabels":`)
//line lib/promrelabel/debug.qtpl:159
qw422016.N().Q(labelsWithHighlight(inLabels, changedLabels, "red"))
//line lib/promrelabel/debug.qtpl:159
qw422016.N().S(`,"outLabels":`)
//line lib/promrelabel/debug.qtpl:160
qw422016.N().Q(labelsWithHighlight(outLabels, changedLabels, "blue"))
//line lib/promrelabel/debug.qtpl:160
qw422016.N().S(`,"rule":`)
//line lib/promrelabel/debug.qtpl:161
qw422016.N().Q(ds.Rule)
//line lib/promrelabel/debug.qtpl:161
qw422016.N().S(`}`)
//line lib/promrelabel/debug.qtpl:163
if i != len(dss)-1 {
//line lib/promrelabel/debug.qtpl:163
qw422016.N().S(`,`)
//line lib/promrelabel/debug.qtpl:163
}
//line lib/promrelabel/debug.qtpl:164
}
//line lib/promrelabel/debug.qtpl:164
qw422016.N().S(`]`)
//line lib/promrelabel/debug.qtpl:166
}
//line lib/promrelabel/debug.qtpl:166
qw422016.N().S(`}`)
//line lib/promrelabel/debug.qtpl:168
}
//line lib/promrelabel/debug.qtpl:168
func WriteRelabelDebugStepsJSON(qq422016 qtio422016.Writer, targetURL, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) {
//line lib/promrelabel/debug.qtpl:168
qw422016 := qt422016.AcquireWriter(qq422016)
//line lib/promrelabel/debug.qtpl:168
StreamRelabelDebugStepsJSON(qw422016, targetURL, targetID, dss, metric, relabelConfigs, err)
//line lib/promrelabel/debug.qtpl:168
qt422016.ReleaseWriter(qw422016)
//line lib/promrelabel/debug.qtpl:168
}
//line lib/promrelabel/debug.qtpl:168
func RelabelDebugStepsJSON(targetURL, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) string {
//line lib/promrelabel/debug.qtpl:168
qb422016 := qt422016.AcquireByteBuffer()
//line lib/promrelabel/debug.qtpl:168
WriteRelabelDebugStepsJSON(qb422016, targetURL, targetID, dss, metric, relabelConfigs, err)
//line lib/promrelabel/debug.qtpl:168
qs422016 := string(qb422016.B)
//line lib/promrelabel/debug.qtpl:168
qt422016.ReleaseByteBuffer(qb422016)
//line lib/promrelabel/debug.qtpl:168
return qs422016
//line lib/promrelabel/debug.qtpl:168
}
//line lib/promrelabel/debug.qtpl:170
func streamlabelsWithHighlight(qw422016 *qt422016.Writer, labels *promutils.Labels, highlight map[string]struct{}, color string) {
//line lib/promrelabel/debug.qtpl:172
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:182
if metricName != "" {
//line lib/promrelabel/debug.qtpl:183
if _, ok := highlight["__name__"]; ok {
//line lib/promrelabel/debug.qtpl:183
qw422016.N().S(``)
//line lib/promrelabel/debug.qtpl:184
qw422016.E().S(metricName)
//line lib/promrelabel/debug.qtpl:184
qw422016.N().S(``)
//line lib/promrelabel/debug.qtpl:185
} else {
//line lib/promrelabel/debug.qtpl:186
qw422016.E().S(metricName)
//line lib/promrelabel/debug.qtpl:187
}
//line lib/promrelabel/debug.qtpl:188
if len(labelsList) == 0 {
//line lib/promrelabel/debug.qtpl:188
return
//line lib/promrelabel/debug.qtpl:188
}
//line lib/promrelabel/debug.qtpl:189
}
//line lib/promrelabel/debug.qtpl:189
qw422016.N().S(`{`)
//line lib/promrelabel/debug.qtpl:191
for i, label := range labelsList {
//line lib/promrelabel/debug.qtpl:192
if _, ok := highlight[label.Name]; ok {
//line lib/promrelabel/debug.qtpl:192
qw422016.N().S(``)
//line lib/promrelabel/debug.qtpl:193
qw422016.E().S(label.Name)
//line lib/promrelabel/debug.qtpl:193
qw422016.N().S(`=`)
//line lib/promrelabel/debug.qtpl:193
qw422016.E().Q(label.Value)
//line lib/promrelabel/debug.qtpl:193
qw422016.N().S(``)
//line lib/promrelabel/debug.qtpl:194
} else {
//line lib/promrelabel/debug.qtpl:195
qw422016.E().S(label.Name)
//line lib/promrelabel/debug.qtpl:195
qw422016.N().S(`=`)
//line lib/promrelabel/debug.qtpl:195
qw422016.E().Q(label.Value)
//line lib/promrelabel/debug.qtpl:196
}
//line lib/promrelabel/debug.qtpl:197
if i < len(labelsList)-1 {
//line lib/promrelabel/debug.qtpl:197
qw422016.N().S(`,`)
//line lib/promrelabel/debug.qtpl:197
qw422016.N().S(` `)
//line lib/promrelabel/debug.qtpl:197
}
//line lib/promrelabel/debug.qtpl:198
}
//line lib/promrelabel/debug.qtpl:198
qw422016.N().S(`}`)
//line lib/promrelabel/debug.qtpl:200
}
//line lib/promrelabel/debug.qtpl:200
func writelabelsWithHighlight(qq422016 qtio422016.Writer, labels *promutils.Labels, highlight map[string]struct{}, color string) {
//line lib/promrelabel/debug.qtpl:200
qw422016 := qt422016.AcquireWriter(qq422016)
//line lib/promrelabel/debug.qtpl:200
streamlabelsWithHighlight(qw422016, labels, highlight, color)
//line lib/promrelabel/debug.qtpl:200
qt422016.ReleaseWriter(qw422016)
//line lib/promrelabel/debug.qtpl:200
}
//line lib/promrelabel/debug.qtpl:200
func labelsWithHighlight(labels *promutils.Labels, highlight map[string]struct{}, color string) string {
//line lib/promrelabel/debug.qtpl:200
qb422016 := qt422016.AcquireByteBuffer()
//line lib/promrelabel/debug.qtpl:200
writelabelsWithHighlight(qb422016, labels, highlight, color)
//line lib/promrelabel/debug.qtpl:200
qs422016 := string(qb422016.B)
//line lib/promrelabel/debug.qtpl:200
qt422016.ReleaseByteBuffer(qb422016)
//line lib/promrelabel/debug.qtpl:200
return qs422016
//line lib/promrelabel/debug.qtpl:200
}
//line lib/promrelabel/debug.qtpl:202
func streammustFormatLabels(qw422016 *qt422016.Writer, s string) {
//line lib/promrelabel/debug.qtpl:203
labels := promutils.MustNewLabelsFromString(s)
//line lib/promrelabel/debug.qtpl:204
streamlabelsWithHighlight(qw422016, labels, nil, "")
//line lib/promrelabel/debug.qtpl:205
}
//line lib/promrelabel/debug.qtpl:205
func writemustFormatLabels(qq422016 qtio422016.Writer, s string) {
//line lib/promrelabel/debug.qtpl:205
qw422016 := qt422016.AcquireWriter(qq422016)
//line lib/promrelabel/debug.qtpl:205
streammustFormatLabels(qw422016, s)
//line lib/promrelabel/debug.qtpl:205
qt422016.ReleaseWriter(qw422016)
//line lib/promrelabel/debug.qtpl:205
}
//line lib/promrelabel/debug.qtpl:205
func mustFormatLabels(s string) string {
//line lib/promrelabel/debug.qtpl:205
qb422016 := qt422016.AcquireByteBuffer()
//line lib/promrelabel/debug.qtpl:205
writemustFormatLabels(qb422016, s)
//line lib/promrelabel/debug.qtpl:205
qs422016 := string(qb422016.B)
//line lib/promrelabel/debug.qtpl:205
qt422016.ReleaseByteBuffer(qb422016)
//line lib/promrelabel/debug.qtpl:205
return qs422016
//line lib/promrelabel/debug.qtpl:205
}