// Code generated by qtc from "export.qtpl". DO NOT EDIT. // See https://github.com/valyala/quicktemplate for details. //line app/vmselect/prometheus/export.qtpl:1 package prometheus //line app/vmselect/prometheus/export.qtpl:1 import ( "bytes" "math" "strings" "time" "github.com/VictoriaMetrics/VictoriaMetrics/lib/storage" "github.com/valyala/quicktemplate" ) //line app/vmselect/prometheus/export.qtpl:13 import ( qtio422016 "io" qt422016 "github.com/valyala/quicktemplate" ) //line app/vmselect/prometheus/export.qtpl:13 var ( _ = qtio422016.Copy _ = qt422016.AcquireByteBuffer ) //line app/vmselect/prometheus/export.qtpl:13 func StreamExportCSVLine(qw422016 *qt422016.Writer, xb *exportBlock, fieldNames []string) { //line app/vmselect/prometheus/export.qtpl:14 if len(xb.timestamps) == 0 || len(fieldNames) == 0 { //line app/vmselect/prometheus/export.qtpl:14 return //line app/vmselect/prometheus/export.qtpl:14 } //line app/vmselect/prometheus/export.qtpl:15 for i, timestamp := range xb.timestamps { //line app/vmselect/prometheus/export.qtpl:16 value := xb.values[i] //line app/vmselect/prometheus/export.qtpl:17 streamexportCSVField(qw422016, xb.mn, fieldNames[0], timestamp, value) //line app/vmselect/prometheus/export.qtpl:18 for _, fieldName := range fieldNames[1:] { //line app/vmselect/prometheus/export.qtpl:18 qw422016.N().S(`,`) //line app/vmselect/prometheus/export.qtpl:20 streamexportCSVField(qw422016, xb.mn, fieldName, timestamp, value) //line app/vmselect/prometheus/export.qtpl:21 } //line app/vmselect/prometheus/export.qtpl:22 qw422016.N().S(` `) //line app/vmselect/prometheus/export.qtpl:23 } //line app/vmselect/prometheus/export.qtpl:24 } //line app/vmselect/prometheus/export.qtpl:24 func WriteExportCSVLine(qq422016 qtio422016.Writer, xb *exportBlock, fieldNames []string) { //line app/vmselect/prometheus/export.qtpl:24 qw422016 := qt422016.AcquireWriter(qq422016) //line app/vmselect/prometheus/export.qtpl:24 StreamExportCSVLine(qw422016, xb, fieldNames) //line app/vmselect/prometheus/export.qtpl:24 qt422016.ReleaseWriter(qw422016) //line app/vmselect/prometheus/export.qtpl:24 } //line app/vmselect/prometheus/export.qtpl:24 func ExportCSVLine(xb *exportBlock, fieldNames []string) string { //line app/vmselect/prometheus/export.qtpl:24 qb422016 := qt422016.AcquireByteBuffer() //line app/vmselect/prometheus/export.qtpl:24 WriteExportCSVLine(qb422016, xb, fieldNames) //line app/vmselect/prometheus/export.qtpl:24 qs422016 := string(qb422016.B) //line app/vmselect/prometheus/export.qtpl:24 qt422016.ReleaseByteBuffer(qb422016) //line app/vmselect/prometheus/export.qtpl:24 return qs422016 //line app/vmselect/prometheus/export.qtpl:24 } //line app/vmselect/prometheus/export.qtpl:26 func streamexportCSVField(qw422016 *qt422016.Writer, mn *storage.MetricName, fieldName string, timestamp int64, value float64) { //line app/vmselect/prometheus/export.qtpl:27 if fieldName == "__value__" { //line app/vmselect/prometheus/export.qtpl:28 qw422016.N().F(value) //line app/vmselect/prometheus/export.qtpl:29 return //line app/vmselect/prometheus/export.qtpl:30 } //line app/vmselect/prometheus/export.qtpl:31 if fieldName == "__timestamp__" { //line app/vmselect/prometheus/export.qtpl:32 qw422016.N().DL(timestamp) //line app/vmselect/prometheus/export.qtpl:33 return //line app/vmselect/prometheus/export.qtpl:34 } //line app/vmselect/prometheus/export.qtpl:35 if strings.HasPrefix(fieldName, "__timestamp__:") { //line app/vmselect/prometheus/export.qtpl:36 timeFormat := fieldName[len("__timestamp__:"):] //line app/vmselect/prometheus/export.qtpl:37 switch timeFormat { //line app/vmselect/prometheus/export.qtpl:38 case "unix_s": //line app/vmselect/prometheus/export.qtpl:39 qw422016.N().DL(timestamp / 1000) //line app/vmselect/prometheus/export.qtpl:40 case "unix_ms": //line app/vmselect/prometheus/export.qtpl:41 qw422016.N().DL(timestamp) //line app/vmselect/prometheus/export.qtpl:42 case "unix_ns": //line app/vmselect/prometheus/export.qtpl:43 qw422016.N().DL(timestamp * 1e6) //line app/vmselect/prometheus/export.qtpl:44 case "rfc3339": //line app/vmselect/prometheus/export.qtpl:46 bb := quicktemplate.AcquireByteBuffer() bb.B = time.Unix(timestamp/1000, (timestamp%1000)*1e6).AppendFormat(bb.B[:0], time.RFC3339) //line app/vmselect/prometheus/export.qtpl:49 qw422016.N().Z(bb.B) //line app/vmselect/prometheus/export.qtpl:51 quicktemplate.ReleaseByteBuffer(bb) //line app/vmselect/prometheus/export.qtpl:53 default: //line app/vmselect/prometheus/export.qtpl:54 if strings.HasPrefix(timeFormat, "custom:") { //line app/vmselect/prometheus/export.qtpl:56 layout := timeFormat[len("custom:"):] bb := quicktemplate.AcquireByteBuffer() bb.B = time.Unix(timestamp/1000, (timestamp%1000)*1e6).AppendFormat(bb.B[:0], layout) //line app/vmselect/prometheus/export.qtpl:60 if bytes.ContainsAny(bb.B, `"`+",\n") { //line app/vmselect/prometheus/export.qtpl:61 qw422016.E().QZ(bb.B) //line app/vmselect/prometheus/export.qtpl:62 } else { //line app/vmselect/prometheus/export.qtpl:63 qw422016.N().Z(bb.B) //line app/vmselect/prometheus/export.qtpl:64 } //line app/vmselect/prometheus/export.qtpl:66 quicktemplate.ReleaseByteBuffer(bb) //line app/vmselect/prometheus/export.qtpl:68 } else { //line app/vmselect/prometheus/export.qtpl:68 qw422016.N().S(`Unsupported timeFormat=`) //line app/vmselect/prometheus/export.qtpl:69 qw422016.N().S(timeFormat) //line app/vmselect/prometheus/export.qtpl:70 } //line app/vmselect/prometheus/export.qtpl:71 } //line app/vmselect/prometheus/export.qtpl:72 return //line app/vmselect/prometheus/export.qtpl:73 } //line app/vmselect/prometheus/export.qtpl:74 v := mn.GetTagValue(fieldName) //line app/vmselect/prometheus/export.qtpl:75 if bytes.ContainsAny(v, `"`+",\n") { //line app/vmselect/prometheus/export.qtpl:76 qw422016.N().QZ(v) //line app/vmselect/prometheus/export.qtpl:77 } else { //line app/vmselect/prometheus/export.qtpl:78 qw422016.N().Z(v) //line app/vmselect/prometheus/export.qtpl:79 } //line app/vmselect/prometheus/export.qtpl:80 } //line app/vmselect/prometheus/export.qtpl:80 func writeexportCSVField(qq422016 qtio422016.Writer, mn *storage.MetricName, fieldName string, timestamp int64, value float64) { //line app/vmselect/prometheus/export.qtpl:80 qw422016 := qt422016.AcquireWriter(qq422016) //line app/vmselect/prometheus/export.qtpl:80 streamexportCSVField(qw422016, mn, fieldName, timestamp, value) //line app/vmselect/prometheus/export.qtpl:80 qt422016.ReleaseWriter(qw422016) //line app/vmselect/prometheus/export.qtpl:80 } //line app/vmselect/prometheus/export.qtpl:80 func exportCSVField(mn *storage.MetricName, fieldName string, timestamp int64, value float64) string { //line app/vmselect/prometheus/export.qtpl:80 qb422016 := qt422016.AcquireByteBuffer() //line app/vmselect/prometheus/export.qtpl:80 writeexportCSVField(qb422016, mn, fieldName, timestamp, value) //line app/vmselect/prometheus/export.qtpl:80 qs422016 := string(qb422016.B) //line app/vmselect/prometheus/export.qtpl:80 qt422016.ReleaseByteBuffer(qb422016) //line app/vmselect/prometheus/export.qtpl:80 return qs422016 //line app/vmselect/prometheus/export.qtpl:80 } //line app/vmselect/prometheus/export.qtpl:82 func StreamExportPrometheusLine(qw422016 *qt422016.Writer, xb *exportBlock) { //line app/vmselect/prometheus/export.qtpl:83 if len(xb.timestamps) == 0 { //line app/vmselect/prometheus/export.qtpl:83 return //line app/vmselect/prometheus/export.qtpl:83 } //line app/vmselect/prometheus/export.qtpl:84 bb := quicktemplate.AcquireByteBuffer() //line app/vmselect/prometheus/export.qtpl:85 writeprometheusMetricName(bb, xb.mn) //line app/vmselect/prometheus/export.qtpl:86 for i, ts := range xb.timestamps { //line app/vmselect/prometheus/export.qtpl:87 qw422016.N().Z(bb.B) //line app/vmselect/prometheus/export.qtpl:87 qw422016.N().S(` `) //line app/vmselect/prometheus/export.qtpl:88 qw422016.N().F(xb.values[i]) //line app/vmselect/prometheus/export.qtpl:88 qw422016.N().S(` `) //line app/vmselect/prometheus/export.qtpl:89 qw422016.N().DL(ts) //line app/vmselect/prometheus/export.qtpl:89 qw422016.N().S(` `) //line app/vmselect/prometheus/export.qtpl:90 } //line app/vmselect/prometheus/export.qtpl:91 quicktemplate.ReleaseByteBuffer(bb) //line app/vmselect/prometheus/export.qtpl:92 } //line app/vmselect/prometheus/export.qtpl:92 func WriteExportPrometheusLine(qq422016 qtio422016.Writer, xb *exportBlock) { //line app/vmselect/prometheus/export.qtpl:92 qw422016 := qt422016.AcquireWriter(qq422016) //line app/vmselect/prometheus/export.qtpl:92 StreamExportPrometheusLine(qw422016, xb) //line app/vmselect/prometheus/export.qtpl:92 qt422016.ReleaseWriter(qw422016) //line app/vmselect/prometheus/export.qtpl:92 } //line app/vmselect/prometheus/export.qtpl:92 func ExportPrometheusLine(xb *exportBlock) string { //line app/vmselect/prometheus/export.qtpl:92 qb422016 := qt422016.AcquireByteBuffer() //line app/vmselect/prometheus/export.qtpl:92 WriteExportPrometheusLine(qb422016, xb) //line app/vmselect/prometheus/export.qtpl:92 qs422016 := string(qb422016.B) //line app/vmselect/prometheus/export.qtpl:92 qt422016.ReleaseByteBuffer(qb422016) //line app/vmselect/prometheus/export.qtpl:92 return qs422016 //line app/vmselect/prometheus/export.qtpl:92 } //line app/vmselect/prometheus/export.qtpl:94 func StreamExportJSONLine(qw422016 *qt422016.Writer, xb *exportBlock) { //line app/vmselect/prometheus/export.qtpl:95 if len(xb.timestamps) == 0 { //line app/vmselect/prometheus/export.qtpl:95 return //line app/vmselect/prometheus/export.qtpl:95 } //line app/vmselect/prometheus/export.qtpl:95 qw422016.N().S(`{"metric":`) //line app/vmselect/prometheus/export.qtpl:97 streammetricNameObject(qw422016, xb.mn) //line app/vmselect/prometheus/export.qtpl:97 qw422016.N().S(`,"values":[`) //line app/vmselect/prometheus/export.qtpl:99 if len(xb.values) > 0 { //line app/vmselect/prometheus/export.qtpl:100 values := xb.values //line app/vmselect/prometheus/export.qtpl:101 qw422016.N().F(values[0]) //line app/vmselect/prometheus/export.qtpl:102 values = values[1:] //line app/vmselect/prometheus/export.qtpl:103 for _, v := range values { //line app/vmselect/prometheus/export.qtpl:103 qw422016.N().S(`,`) //line app/vmselect/prometheus/export.qtpl:104 if math.IsNaN(v) { //line app/vmselect/prometheus/export.qtpl:104 qw422016.N().S(`null`) //line app/vmselect/prometheus/export.qtpl:104 } else { //line app/vmselect/prometheus/export.qtpl:104 qw422016.N().F(v) //line app/vmselect/prometheus/export.qtpl:104 } //line app/vmselect/prometheus/export.qtpl:105 } //line app/vmselect/prometheus/export.qtpl:106 } //line app/vmselect/prometheus/export.qtpl:106 qw422016.N().S(`],"timestamps":[`) //line app/vmselect/prometheus/export.qtpl:109 if len(xb.timestamps) > 0 { //line app/vmselect/prometheus/export.qtpl:110 timestamps := xb.timestamps //line app/vmselect/prometheus/export.qtpl:111 qw422016.N().DL(timestamps[0]) //line app/vmselect/prometheus/export.qtpl:112 timestamps = timestamps[1:] //line app/vmselect/prometheus/export.qtpl:113 for _, ts := range timestamps { //line app/vmselect/prometheus/export.qtpl:113 qw422016.N().S(`,`) //line app/vmselect/prometheus/export.qtpl:114 qw422016.N().DL(ts) //line app/vmselect/prometheus/export.qtpl:115 } //line app/vmselect/prometheus/export.qtpl:116 } //line app/vmselect/prometheus/export.qtpl:116 qw422016.N().S(`]}`) //line app/vmselect/prometheus/export.qtpl:118 qw422016.N().S(` `) //line app/vmselect/prometheus/export.qtpl:119 } //line app/vmselect/prometheus/export.qtpl:119 func WriteExportJSONLine(qq422016 qtio422016.Writer, xb *exportBlock) { //line app/vmselect/prometheus/export.qtpl:119 qw422016 := qt422016.AcquireWriter(qq422016) //line app/vmselect/prometheus/export.qtpl:119 StreamExportJSONLine(qw422016, xb) //line app/vmselect/prometheus/export.qtpl:119 qt422016.ReleaseWriter(qw422016) //line app/vmselect/prometheus/export.qtpl:119 } //line app/vmselect/prometheus/export.qtpl:119 func ExportJSONLine(xb *exportBlock) string { //line app/vmselect/prometheus/export.qtpl:119 qb422016 := qt422016.AcquireByteBuffer() //line app/vmselect/prometheus/export.qtpl:119 WriteExportJSONLine(qb422016, xb) //line app/vmselect/prometheus/export.qtpl:119 qs422016 := string(qb422016.B) //line app/vmselect/prometheus/export.qtpl:119 qt422016.ReleaseByteBuffer(qb422016) //line app/vmselect/prometheus/export.qtpl:119 return qs422016 //line app/vmselect/prometheus/export.qtpl:119 } //line app/vmselect/prometheus/export.qtpl:121 func StreamExportPromAPILine(qw422016 *qt422016.Writer, xb *exportBlock) { //line app/vmselect/prometheus/export.qtpl:121 qw422016.N().S(`{"metric":`) //line app/vmselect/prometheus/export.qtpl:123 streammetricNameObject(qw422016, xb.mn) //line app/vmselect/prometheus/export.qtpl:123 qw422016.N().S(`,"values":`) //line app/vmselect/prometheus/export.qtpl:124 streamvaluesWithTimestamps(qw422016, xb.values, xb.timestamps) //line app/vmselect/prometheus/export.qtpl:124 qw422016.N().S(`}`) //line app/vmselect/prometheus/export.qtpl:126 } //line app/vmselect/prometheus/export.qtpl:126 func WriteExportPromAPILine(qq422016 qtio422016.Writer, xb *exportBlock) { //line app/vmselect/prometheus/export.qtpl:126 qw422016 := qt422016.AcquireWriter(qq422016) //line app/vmselect/prometheus/export.qtpl:126 StreamExportPromAPILine(qw422016, xb) //line app/vmselect/prometheus/export.qtpl:126 qt422016.ReleaseWriter(qw422016) //line app/vmselect/prometheus/export.qtpl:126 } //line app/vmselect/prometheus/export.qtpl:126 func ExportPromAPILine(xb *exportBlock) string { //line app/vmselect/prometheus/export.qtpl:126 qb422016 := qt422016.AcquireByteBuffer() //line app/vmselect/prometheus/export.qtpl:126 WriteExportPromAPILine(qb422016, xb) //line app/vmselect/prometheus/export.qtpl:126 qs422016 := string(qb422016.B) //line app/vmselect/prometheus/export.qtpl:126 qt422016.ReleaseByteBuffer(qb422016) //line app/vmselect/prometheus/export.qtpl:126 return qs422016 //line app/vmselect/prometheus/export.qtpl:126 } //line app/vmselect/prometheus/export.qtpl:128 func StreamExportPromAPIResponse(qw422016 *qt422016.Writer, resultsCh <-chan *quicktemplate.ByteBuffer) { //line app/vmselect/prometheus/export.qtpl:128 qw422016.N().S(`{"status":"success","data":{"resultType":"matrix","result":[`) //line app/vmselect/prometheus/export.qtpl:134 bb, ok := <-resultsCh //line app/vmselect/prometheus/export.qtpl:135 if ok { //line app/vmselect/prometheus/export.qtpl:136 qw422016.N().Z(bb.B) //line app/vmselect/prometheus/export.qtpl:137 quicktemplate.ReleaseByteBuffer(bb) //line app/vmselect/prometheus/export.qtpl:138 for bb := range resultsCh { //line app/vmselect/prometheus/export.qtpl:138 qw422016.N().S(`,`) //line app/vmselect/prometheus/export.qtpl:139 qw422016.N().Z(bb.B) //line app/vmselect/prometheus/export.qtpl:140 quicktemplate.ReleaseByteBuffer(bb) //line app/vmselect/prometheus/export.qtpl:141 } //line app/vmselect/prometheus/export.qtpl:142 } //line app/vmselect/prometheus/export.qtpl:142 qw422016.N().S(`]}}`) //line app/vmselect/prometheus/export.qtpl:146 } //line app/vmselect/prometheus/export.qtpl:146 func WriteExportPromAPIResponse(qq422016 qtio422016.Writer, resultsCh <-chan *quicktemplate.ByteBuffer) { //line app/vmselect/prometheus/export.qtpl:146 qw422016 := qt422016.AcquireWriter(qq422016) //line app/vmselect/prometheus/export.qtpl:146 StreamExportPromAPIResponse(qw422016, resultsCh) //line app/vmselect/prometheus/export.qtpl:146 qt422016.ReleaseWriter(qw422016) //line app/vmselect/prometheus/export.qtpl:146 } //line app/vmselect/prometheus/export.qtpl:146 func ExportPromAPIResponse(resultsCh <-chan *quicktemplate.ByteBuffer) string { //line app/vmselect/prometheus/export.qtpl:146 qb422016 := qt422016.AcquireByteBuffer() //line app/vmselect/prometheus/export.qtpl:146 WriteExportPromAPIResponse(qb422016, resultsCh) //line app/vmselect/prometheus/export.qtpl:146 qs422016 := string(qb422016.B) //line app/vmselect/prometheus/export.qtpl:146 qt422016.ReleaseByteBuffer(qb422016) //line app/vmselect/prometheus/export.qtpl:146 return qs422016 //line app/vmselect/prometheus/export.qtpl:146 } //line app/vmselect/prometheus/export.qtpl:148 func StreamExportStdResponse(qw422016 *qt422016.Writer, resultsCh <-chan *quicktemplate.ByteBuffer) { //line app/vmselect/prometheus/export.qtpl:149 for bb := range resultsCh { //line app/vmselect/prometheus/export.qtpl:150 qw422016.N().Z(bb.B) //line app/vmselect/prometheus/export.qtpl:151 quicktemplate.ReleaseByteBuffer(bb) //line app/vmselect/prometheus/export.qtpl:152 } //line app/vmselect/prometheus/export.qtpl:153 } //line app/vmselect/prometheus/export.qtpl:153 func WriteExportStdResponse(qq422016 qtio422016.Writer, resultsCh <-chan *quicktemplate.ByteBuffer) { //line app/vmselect/prometheus/export.qtpl:153 qw422016 := qt422016.AcquireWriter(qq422016) //line app/vmselect/prometheus/export.qtpl:153 StreamExportStdResponse(qw422016, resultsCh) //line app/vmselect/prometheus/export.qtpl:153 qt422016.ReleaseWriter(qw422016) //line app/vmselect/prometheus/export.qtpl:153 } //line app/vmselect/prometheus/export.qtpl:153 func ExportStdResponse(resultsCh <-chan *quicktemplate.ByteBuffer) string { //line app/vmselect/prometheus/export.qtpl:153 qb422016 := qt422016.AcquireByteBuffer() //line app/vmselect/prometheus/export.qtpl:153 WriteExportStdResponse(qb422016, resultsCh) //line app/vmselect/prometheus/export.qtpl:153 qs422016 := string(qb422016.B) //line app/vmselect/prometheus/export.qtpl:153 qt422016.ReleaseByteBuffer(qb422016) //line app/vmselect/prometheus/export.qtpl:153 return qs422016 //line app/vmselect/prometheus/export.qtpl:153 } //line app/vmselect/prometheus/export.qtpl:155 func streamprometheusMetricName(qw422016 *qt422016.Writer, mn *storage.MetricName) { //line app/vmselect/prometheus/export.qtpl:156 qw422016.N().Z(mn.MetricGroup) //line app/vmselect/prometheus/export.qtpl:157 if len(mn.Tags) > 0 { //line app/vmselect/prometheus/export.qtpl:157 qw422016.N().S(`{`) //line app/vmselect/prometheus/export.qtpl:159 tags := mn.Tags //line app/vmselect/prometheus/export.qtpl:160 qw422016.N().Z(tags[0].Key) //line app/vmselect/prometheus/export.qtpl:160 qw422016.N().S(`=`) //line app/vmselect/prometheus/export.qtpl:160 qw422016.N().QZ(tags[0].Value) //line app/vmselect/prometheus/export.qtpl:161 tags = tags[1:] //line app/vmselect/prometheus/export.qtpl:162 for i := range tags { //line app/vmselect/prometheus/export.qtpl:163 tag := &tags[i] //line app/vmselect/prometheus/export.qtpl:163 qw422016.N().S(`,`) //line app/vmselect/prometheus/export.qtpl:164 qw422016.N().Z(tag.Key) //line app/vmselect/prometheus/export.qtpl:164 qw422016.N().S(`=`) //line app/vmselect/prometheus/export.qtpl:164 qw422016.N().QZ(tag.Value) //line app/vmselect/prometheus/export.qtpl:165 } //line app/vmselect/prometheus/export.qtpl:165 qw422016.N().S(`}`) //line app/vmselect/prometheus/export.qtpl:167 } //line app/vmselect/prometheus/export.qtpl:168 } //line app/vmselect/prometheus/export.qtpl:168 func writeprometheusMetricName(qq422016 qtio422016.Writer, mn *storage.MetricName) { //line app/vmselect/prometheus/export.qtpl:168 qw422016 := qt422016.AcquireWriter(qq422016) //line app/vmselect/prometheus/export.qtpl:168 streamprometheusMetricName(qw422016, mn) //line app/vmselect/prometheus/export.qtpl:168 qt422016.ReleaseWriter(qw422016) //line app/vmselect/prometheus/export.qtpl:168 } //line app/vmselect/prometheus/export.qtpl:168 func prometheusMetricName(mn *storage.MetricName) string { //line app/vmselect/prometheus/export.qtpl:168 qb422016 := qt422016.AcquireByteBuffer() //line app/vmselect/prometheus/export.qtpl:168 writeprometheusMetricName(qb422016, mn) //line app/vmselect/prometheus/export.qtpl:168 qs422016 := string(qb422016.B) //line app/vmselect/prometheus/export.qtpl:168 qt422016.ReleaseByteBuffer(qb422016) //line app/vmselect/prometheus/export.qtpl:168 return qs422016 //line app/vmselect/prometheus/export.qtpl:168 }