|
|
|
|
@@ -236,8 +236,8 @@ func streamrelabelDebugSteps(qw422016 *qt422016.Writer, dss []DebugStep, targetU
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:101
|
|
|
|
|
for i, ds := range dss {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:103
|
|
|
|
|
inLabels := promutil.MustNewLabelsFromString(ds.In)
|
|
|
|
|
outLabels := promutil.MustNewLabelsFromString(ds.Out)
|
|
|
|
|
inLabels, inErr := promutil.NewLabelsFromString(ds.In)
|
|
|
|
|
outLabels, outErr := promutil.NewLabelsFromString(ds.Out)
|
|
|
|
|
changedLabels := getChangedLabelNames(inLabels, outLabels)
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:106
|
|
|
|
|
@@ -249,189 +249,258 @@ func streamrelabelDebugSteps(qw422016 *qt422016.Writer, dss []DebugStep, targetU
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:109
|
|
|
|
|
qw422016.E().S(ds.Rule)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:109
|
|
|
|
|
qw422016.N().S(`</pre></b></td><td><div class="m-2" style="font-size: 0.9em" title="deleted and updated labels highlighted in red">`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:112
|
|
|
|
|
streamlabelsWithHighlight(qw422016, inLabels, changedLabels, "#D15757")
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:112
|
|
|
|
|
qw422016.N().S(`</div></td><td><div class="m-2" style="font-size: 0.9em" title="added and updated labels highlighted in blue">`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:117
|
|
|
|
|
streamlabelsWithHighlight(qw422016, outLabels, changedLabels, "#4495e0")
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:117
|
|
|
|
|
qw422016.N().S(`</div></td></tr>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:121
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:121
|
|
|
|
|
qw422016.N().S(`</tbody></table>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:124
|
|
|
|
|
if len(dss) > 0 {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:124
|
|
|
|
|
qw422016.N().S(`<div class="m-3"><b>Resulting labels:</b> <samp>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:126
|
|
|
|
|
streammustFormatLabels(qw422016, dss[len(dss)-1].Out)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:126
|
|
|
|
|
qw422016.N().S(`</samp>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:127
|
|
|
|
|
if targetURL != "" {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:127
|
|
|
|
|
qw422016.N().S(`<div><b>Target URL:</b>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:129
|
|
|
|
|
qw422016.N().S(` `)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:129
|
|
|
|
|
qw422016.N().S(`<a href="`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:129
|
|
|
|
|
qw422016.E().S(targetURL)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:129
|
|
|
|
|
qw422016.N().S(`" target="_blank">`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:129
|
|
|
|
|
qw422016.E().S(targetURL)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:129
|
|
|
|
|
qw422016.N().S(`</a>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:130
|
|
|
|
|
if targetID != "" {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:131
|
|
|
|
|
qw422016.N().S(` `)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:131
|
|
|
|
|
qw422016.N().S(`(<a href="target_response?id=`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:132
|
|
|
|
|
qw422016.E().S(targetID)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:132
|
|
|
|
|
qw422016.N().S(`" target="_blank" title="click to fetch target response on behalf of the scraper">response</a>)`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:133
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:133
|
|
|
|
|
qw422016.N().S(`</pre></b></td><td>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:111
|
|
|
|
|
if inErr == nil {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:111
|
|
|
|
|
qw422016.N().S(`<div class="m-2" style="font-size: 0.9em" title="deleted and updated labels highlighted in red">`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:113
|
|
|
|
|
streamlabelsWithHighlight(qw422016, inLabels, changedLabels, "#D15757")
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:113
|
|
|
|
|
qw422016.N().S(`</div>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:135
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:115
|
|
|
|
|
} else {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:115
|
|
|
|
|
qw422016.N().S(`<div class="m-2" style="font-size: 0.9em; color: red" title="error parsing input labels"><pre>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:117
|
|
|
|
|
qw422016.E().S(inErr.Error())
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:117
|
|
|
|
|
qw422016.N().S(`</pre></div>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:119
|
|
|
|
|
break
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:120
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:120
|
|
|
|
|
qw422016.N().S(`</td><td>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:123
|
|
|
|
|
if outErr == nil {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:123
|
|
|
|
|
qw422016.N().S(`<div class="m-2" style="font-size: 0.9em" title="added and updated labels highlighted in blue">`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:125
|
|
|
|
|
streamlabelsWithHighlight(qw422016, outLabels, changedLabels, "#4495e0")
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:125
|
|
|
|
|
qw422016.N().S(`</div>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:127
|
|
|
|
|
} else {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:127
|
|
|
|
|
qw422016.N().S(`<div class="m-2" style="font-size: 0.9em; color: red" title="error parsing output labels"><pre>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:129
|
|
|
|
|
qw422016.E().S(outErr.Error())
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:129
|
|
|
|
|
qw422016.N().S(`</pre></div>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:131
|
|
|
|
|
break
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:132
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:132
|
|
|
|
|
qw422016.N().S(`</td></tr>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:135
|
|
|
|
|
qw422016.N().S(`</div>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:137
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:135
|
|
|
|
|
qw422016.N().S(`</tbody></table>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:138
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if len(dss) > 0 {
|
|
|
|
|
//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
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
qw422016.N().S(`<div class="m-3"><b>Resulting labels:</b> <samp>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:140
|
|
|
|
|
func StreamRelabelDebugStepsJSON(qw422016 *qt422016.Writer, targetURL, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) {
|
|
|
|
|
streammustFormatLabels(qw422016, dss[len(dss)-1].Out)
|
|
|
|
|
//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":`)
|
|
|
|
|
qw422016.N().S(`</samp>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:141
|
|
|
|
|
if targetURL != "" {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:141
|
|
|
|
|
qw422016.N().S(`<div><b>Target URL:</b>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:143
|
|
|
|
|
qw422016.N().S(` `)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:143
|
|
|
|
|
qw422016.N().S(`<a href="`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:143
|
|
|
|
|
qw422016.E().S(targetURL)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:143
|
|
|
|
|
qw422016.N().S(`" target="_blank">`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:143
|
|
|
|
|
qw422016.E().S(targetURL)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:143
|
|
|
|
|
qw422016.N().S(`</a>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:144
|
|
|
|
|
qw422016.N().Q(fmt.Sprintf("Error: %s", err))
|
|
|
|
|
if targetID != "" {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:145
|
|
|
|
|
} else {
|
|
|
|
|
qw422016.N().S(` `)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:145
|
|
|
|
|
qw422016.N().S(`"status": "success",`)
|
|
|
|
|
qw422016.N().S(`(<a href="target_response?id=`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:146
|
|
|
|
|
qw422016.E().S(targetID)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:146
|
|
|
|
|
qw422016.N().S(`" target="_blank" title="click to fetch target response on behalf of the scraper">response</a>)`)
|
|
|
|
|
//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":`)
|
|
|
|
|
qw422016.N().S(`</div>`)
|
|
|
|
|
//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:149
|
|
|
|
|
qw422016.N().S(`</div>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:151
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:152
|
|
|
|
|
for i, ds := range dss {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:152
|
|
|
|
|
func writerelabelDebugSteps(qq422016 qtio422016.Writer, dss []DebugStep, targetURL, targetID string) {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:152
|
|
|
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:152
|
|
|
|
|
streamrelabelDebugSteps(qw422016, dss, targetURL, targetID)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:152
|
|
|
|
|
qt422016.ReleaseWriter(qw422016)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:152
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:152
|
|
|
|
|
func relabelDebugSteps(dss []DebugStep, targetURL, targetID string) string {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:152
|
|
|
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:152
|
|
|
|
|
writerelabelDebugSteps(qb422016, dss, targetURL, targetID)
|
|
|
|
|
//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
|
|
|
|
|
inLabels := promutil.MustNewLabelsFromString(ds.In)
|
|
|
|
|
outLabels := promutil.MustNewLabelsFromString(ds.Out)
|
|
|
|
|
func StreamRelabelDebugStepsJSON(qw422016 *qt422016.Writer, targetURL, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:154
|
|
|
|
|
qw422016.N().S(`{`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:156
|
|
|
|
|
if err != nil {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:156
|
|
|
|
|
qw422016.N().S(`"status": "error","error":`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:158
|
|
|
|
|
qw422016.N().Q(fmt.Sprintf("Error: %s", err))
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:159
|
|
|
|
|
} else {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:160
|
|
|
|
|
var hasError bool
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:160
|
|
|
|
|
qw422016.N().S(`"status": "success","steps": [`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:163
|
|
|
|
|
for i, ds := range dss {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:165
|
|
|
|
|
inLabels, inErr := promutil.NewLabelsFromString(ds.In)
|
|
|
|
|
outLabels, outErr := promutil.NewLabelsFromString(ds.Out)
|
|
|
|
|
changedLabels := getChangedLabelNames(inLabels, outLabels)
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:157
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:168
|
|
|
|
|
qw422016.N().S(`{"inLabels":`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:159
|
|
|
|
|
qw422016.N().Q(labelsWithHighlight(inLabels, changedLabels, "#D15757"))
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:159
|
|
|
|
|
qw422016.N().S(`,"outLabels":`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:160
|
|
|
|
|
qw422016.N().Q(labelsWithHighlight(outLabels, changedLabels, "#4495e0"))
|
|
|
|
|
//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 *promutil.Labels, highlight map[string]struct{}, color string) {
|
|
|
|
|
qw422016.N().Q(labelsWithHighlight(inLabels, changedLabels, "#D15757"))
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:170
|
|
|
|
|
qw422016.N().S(`,"outLabels":`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:171
|
|
|
|
|
qw422016.N().Q(labelsWithHighlight(outLabels, changedLabels, "#4495e0"))
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:171
|
|
|
|
|
qw422016.N().S(`,"rule":`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:172
|
|
|
|
|
qw422016.N().Q(ds.Rule)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:172
|
|
|
|
|
qw422016.N().S(`,"errors": {`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:174
|
|
|
|
|
if inErr != nil {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:174
|
|
|
|
|
qw422016.N().S(`"inLabels":`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:175
|
|
|
|
|
qw422016.N().Q(`<span style="color: #D15757">` + inErr.Error() + `</span>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:175
|
|
|
|
|
if outErr != nil {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:175
|
|
|
|
|
qw422016.N().S(`,`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:175
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:176
|
|
|
|
|
hasError = true
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:177
|
|
|
|
|
} else {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:178
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:179
|
|
|
|
|
if outErr != nil {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:179
|
|
|
|
|
qw422016.N().S(`"outLabels":`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:180
|
|
|
|
|
qw422016.N().Q(`<span style="color: #D15757">` + outErr.Error() + `</span>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:181
|
|
|
|
|
hasError = true
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:182
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:182
|
|
|
|
|
qw422016.N().S(`}}`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:185
|
|
|
|
|
if i != len(dss)-1 {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:185
|
|
|
|
|
qw422016.N().S(`,`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:185
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:186
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:186
|
|
|
|
|
qw422016.N().S(`]`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:188
|
|
|
|
|
if len(dss) > 0 && !hasError {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:188
|
|
|
|
|
qw422016.N().S(`,"originalLabels":`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:190
|
|
|
|
|
qw422016.N().Q(mustFormatLabels(dss[0].In))
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:190
|
|
|
|
|
qw422016.N().S(`,"resultingLabels":`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:191
|
|
|
|
|
qw422016.N().Q(mustFormatLabels(dss[len(dss)-1].Out))
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:191
|
|
|
|
|
qw422016.N().S(`,`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:192
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:193
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:193
|
|
|
|
|
qw422016.N().S(`}`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
func WriteRelabelDebugStepsJSON(qq422016 qtio422016.Writer, targetURL, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
StreamRelabelDebugStepsJSON(qw422016, targetURL, targetID, dss, metric, relabelConfigs, err)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
qt422016.ReleaseWriter(qw422016)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
func RelabelDebugStepsJSON(targetURL, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) string {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
WriteRelabelDebugStepsJSON(qb422016, targetURL, targetID, dss, metric, relabelConfigs, err)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
qs422016 := string(qb422016.B)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
return qs422016
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:197
|
|
|
|
|
func streamlabelsWithHighlight(qw422016 *qt422016.Writer, labels *promutil.Labels, highlight map[string]struct{}, color string) {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:199
|
|
|
|
|
labelsList := labels.GetLabels()
|
|
|
|
|
metricName := ""
|
|
|
|
|
for i, label := range labelsList {
|
|
|
|
|
@@ -442,137 +511,153 @@ func streamlabelsWithHighlight(qw422016 *qt422016.Writer, labels *promutil.Label
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:182
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:209
|
|
|
|
|
if metricName != "" {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:183
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:210
|
|
|
|
|
if _, ok := highlight["__name__"]; ok {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:183
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:210
|
|
|
|
|
qw422016.N().S(`<span style="font-weight:bold;color:`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:184
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:211
|
|
|
|
|
qw422016.E().S(color)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:184
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:211
|
|
|
|
|
qw422016.N().S(`">`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:184
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:211
|
|
|
|
|
qw422016.E().S(metricName)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:184
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:211
|
|
|
|
|
qw422016.N().S(`</span>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:185
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:212
|
|
|
|
|
} else {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:186
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:213
|
|
|
|
|
qw422016.E().S(metricName)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:187
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:214
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:188
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:215
|
|
|
|
|
if len(labelsList) == 0 {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:188
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:215
|
|
|
|
|
return
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:188
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:215
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:189
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:216
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:189
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:216
|
|
|
|
|
qw422016.N().S(`{`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:191
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:218
|
|
|
|
|
for i, label := range labelsList {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:192
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:219
|
|
|
|
|
if _, ok := highlight[label.Name]; ok {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:192
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:219
|
|
|
|
|
qw422016.N().S(`<span style="font-weight:bold;color:`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:193
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:220
|
|
|
|
|
qw422016.E().S(color)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:193
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:220
|
|
|
|
|
qw422016.N().S(`">`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:193
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:220
|
|
|
|
|
qw422016.E().S(label.Name)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:193
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:220
|
|
|
|
|
qw422016.N().S(`=`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:193
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:220
|
|
|
|
|
qw422016.E().Q(label.Value)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:193
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:220
|
|
|
|
|
qw422016.N().S(`</span>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:194
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:221
|
|
|
|
|
} else {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:222
|
|
|
|
|
qw422016.E().S(label.Name)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:222
|
|
|
|
|
qw422016.N().S(`=`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:195
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:222
|
|
|
|
|
qw422016.E().Q(label.Value)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:196
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:223
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:197
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:224
|
|
|
|
|
if i < len(labelsList)-1 {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:197
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:224
|
|
|
|
|
qw422016.N().S(`,`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:197
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:224
|
|
|
|
|
qw422016.N().S(` `)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:197
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:224
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:198
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:225
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:198
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:225
|
|
|
|
|
qw422016.N().S(`}`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
func writelabelsWithHighlight(qq422016 qtio422016.Writer, labels *promutil.Labels, highlight map[string]struct{}, color string) {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
streamlabelsWithHighlight(qw422016, labels, highlight, color)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
qt422016.ReleaseWriter(qw422016)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
func labelsWithHighlight(labels *promutil.Labels, highlight map[string]struct{}, color string) string {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
writelabelsWithHighlight(qb422016, labels, highlight, color)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
qs422016 := string(qb422016.B)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
return qs422016
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:200
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:227
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:202
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:229
|
|
|
|
|
func streammustFormatLabels(qw422016 *qt422016.Writer, s string) {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:203
|
|
|
|
|
labels := promutil.MustNewLabelsFromString(s)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:230
|
|
|
|
|
labels, err := promutil.NewLabelsFromString(s)
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:204
|
|
|
|
|
streamlabelsWithHighlight(qw422016, labels, nil, "")
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:231
|
|
|
|
|
if err != nil {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:231
|
|
|
|
|
qw422016.N().S(`<span style="color: red" title="error parsing labels:`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:232
|
|
|
|
|
qw422016.E().S(err.Error())
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:232
|
|
|
|
|
qw422016.N().S(`">`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:232
|
|
|
|
|
qw422016.E().S("error parsing labels: " + err.Error())
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:232
|
|
|
|
|
qw422016.N().S(`</span>`)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:233
|
|
|
|
|
} else {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:234
|
|
|
|
|
streamlabelsWithHighlight(qw422016, labels, nil, "")
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:235
|
|
|
|
|
}
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
func writemustFormatLabels(qq422016 qtio422016.Writer, s string) {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
streammustFormatLabels(qw422016, s)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
qt422016.ReleaseWriter(qw422016)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
func mustFormatLabels(s string) string {
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
writemustFormatLabels(qb422016, s)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
qs422016 := string(qb422016.B)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
return qs422016
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:205
|
|
|
|
|
//line lib/promrelabel/debug.qtpl:236
|
|
|
|
|
}
|
|
|
|
|
|