diff --git a/promql/index.js b/promql/index.js index 8d5e1932..f70caafa 100644 --- a/promql/index.js +++ b/promql/index.js @@ -16,8 +16,9 @@ module.exports.PSQLError = PSQLError * @param stepMs {number} */ module.exports.rangeQuery = async (query, startMs, endMs, stepMs) => { + let resp try { - const resp = await prometheus.pqlRangeQuery(query, startMs, endMs, stepMs, module.exports.getData) + resp = await prometheus.pqlRangeQuery(query, startMs, endMs, stepMs, module.exports.getData) return JSON.parse(resp) } catch (e) { if (e instanceof prometheus.WasmError) { diff --git a/wasm_parts/go.mod b/wasm_parts/go.mod index 45769ad4..0878dee5 100644 --- a/wasm_parts/go.mod +++ b/wasm_parts/go.mod @@ -1,5 +1,9 @@ module wasm_parts +go 1.21 + +toolchain go1.21.3 + replace ( cloud.google.com/go v0.65.0 => cloud.google.com/go v0.102.1 github.com/InfluxCommunity/influxdb3-go v0.2.0 => github.com/akvlad/influxdb3-go v0.0.1 @@ -10,6 +14,7 @@ replace ( require ( github.com/alecthomas/participle/v2 v2.1.0 + github.com/metrico/micro-gc v0.0.4 github.com/pquerna/ffjson v0.0.0-20190930134022-aa0246cd15f7 github.com/prometheus/prometheus v1.8.2-0.20220714142409-b41e0750abf5 ) @@ -56,5 +61,3 @@ require ( gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) - -go 1.20 diff --git a/wasm_parts/go.sum b/wasm_parts/go.sum index 4cc0835d..af44e336 100644 --- a/wasm_parts/go.sum +++ b/wasm_parts/go.sum @@ -39,6 +39,7 @@ cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6m cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0 h1:v/k9Eueb8aAJ0vZuxKMrgm6kPhCLZU9HxFU+AFDs9Uk= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= @@ -54,24 +55,38 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/azure-sdk-for-go v65.0.0+incompatible h1:HzKLt3kIwMm4KeJYTdx9EbjRYTySD/t8i1Ee/W5EGXw= +github.com/Azure/azure-sdk-for-go v65.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= +github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= github.com/Azure/go-autorest/autorest/adal v0.9.20 h1:gJ3E98kMpFB1MFqQCvA1yFab8vthOeD4VlFRQULxahg= +github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= +github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= github.com/Azure/go-autorest/autorest/validation v0.3.1 h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac= +github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY= +github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/alecthomas/assert/v2 v2.3.0 h1:mAsH2wmvjsuvyBvAmCtm7zFsBlb8mIHx5ySLVdDZXL0= +github.com/alecthomas/assert/v2 v2.3.0/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= github.com/alecthomas/participle/v2 v2.1.0 h1:z7dElHRrOEEq45F2TG5cbQihMtNTv8vwldytDj7Wrz4= github.com/alecthomas/participle/v2 v2.1.0/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= +github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -81,6 +96,7 @@ github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAu github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/go-metrics v0.3.3 h1:a9F4rlj7EWWrbj7BYw8J8+x+ZZkJeqzNyRk8hdPF+ro= +github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.44.45 h1:E2i73X4QdVS0XrfX/aVPt/M0Su2IuJ7AFvAMtF0id1Q= github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= @@ -107,19 +123,26 @@ github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc h1:PYXxkRUBGUMa5xgMVMDl62vEklZvKpVaxQeN9ie7Hfk= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= github.com/digitalocean/godo v1.81.0 h1:sjb3fOfPfSlUQUK22E87BcI8Zx2qtnF7VUCCO4UK3C8= +github.com/digitalocean/godo v1.81.0/go.mod h1:BPCqvwbjbGqxuUnIKB4EvS/AX7IDnNmt5fwvIkWo+ew= github.com/docker/distribution v2.8.0+incompatible h1:l9EaZDICImO1ngI+uTifW+ZYvvz7fKISBAKpg+MbWbY= +github.com/docker/distribution v2.8.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.17+incompatible h1:JYCuMrWaVNophQTOrMMoSwudOVEfcegoZZrleKc1xwE= +github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -130,10 +153,14 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/go-control-plane v0.10.3 h1:xdCVXxEe0Y3FQith+0cj2irwZudqGYvecuLB1HtdexY= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.7 h1:qcZcULcd/abmQg6dwigimCNEyi4gg31M/xaciQlDml8= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -155,14 +182,21 @@ github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs= +github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48 h1:JVrqSeQfdhYRFk24TvhTZWU0q8lfCojxZQFi3Ou7+uY= +github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-zookeeper/zk v1.0.2 h1:4mx0EYENAdX/B/rbunjlt5+4RTA/a9SMHBRuSKdGxPM= +github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.2.0 h1:besgBTC8w8HjP6NzQdxwKH9Z5oQMZ24ThTrHp3cZ8eU= +github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -200,6 +234,7 @@ github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -215,8 +250,10 @@ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8 github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= @@ -245,33 +282,50 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/gophercloud/gophercloud v0.25.0 h1:C3Oae7y0fUVQGSsBrb3zliAjdX+riCSEh4lNMejFNI4= +github.com/gophercloud/gophercloud v0.25.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grafana/regexp v0.0.0-20220304095617-2e8d9baf4ac2 h1:uirlL/j72L93RhV4+mkWhjv0cov2I0MIgPOG9rMDr1k= github.com/grafana/regexp v0.0.0-20220304095617-2e8d9baf4ac2/go.mod h1:M5qHK+eWfAv8VR/265dIuEpL3fNfeC21tXXp9itM24A= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.13.0 h1:2hnLQ0GjQvw7f3O61jMO8gbasZviZTrt9R8WzgiirHc= +github.com/hashicorp/consul/api v1.13.0/go.mod h1:ZlVrynguJKcYr54zGaDbaL3fOvKC9m72FhPvA8T35KQ= github.com/hashicorp/cronexpr v1.1.1 h1:NJZDd87hGXjoZBdvyCF9mX4DCq5Wy7+A/w+A7q0wn6c= +github.com/hashicorp/cronexpr v1.1.1/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v0.12.2 h1:F1fdYblUEsxKiailtkhCCG2g4bipEgaHiDc8vffNpD4= +github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.2.0 h1:l6UW37iCXwZkZoAbEYnptSHVE/cQ5bOTPYG5W3vf9+8= +github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= +github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/nomad/api v0.0.0-20220629141207-c2428e1673ec h1:jAF71e0KoaY2LJlRsRxxGz6MNQOG5gTBIc+rklxfNO0= +github.com/hashicorp/nomad/api v0.0.0-20220629141207-c2428e1673ec/go.mod h1:jP79oXjopTyH6E8LF0CEMq67STgrlmBRIyijA0tuR5o= github.com/hashicorp/serf v0.9.6 h1:uuEX1kLR6aoda1TBttmJQKDLZE1Ob7KN0NPdE7EtCDc= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hetznercloud/hcloud-go v1.35.0 h1:sduXOrWM0/sJXwBty7EQd7+RXEJh5+CsAGQmHshChFg= +github.com/hetznercloud/hcloud-go v1.35.0/go.mod h1:mepQwR6va27S3UQthaEPGS86jtzSY9xWL1e9dyxXpgA= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/ionos-cloud/sdk-go/v6 v6.1.0 h1:0EZz5H+t6W23zHt6dgHYkKavr72/30O9nA97E3FZaS4= +github.com/ionos-cloud/sdk-go/v6 v6.1.0/go.mod h1:Ox3W0iiEz0GHnfY9e5LmAxwklsxguuNFEUSu0gVRTME= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= @@ -283,6 +337,7 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b h1:iNjcivnc6lhbvJA3LD622NPrUponluJrBWPIwGG/3Bg= +github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -292,27 +347,39 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/linode/linodego v1.8.0 h1:7B2UaWu6C48tZZZrtINWRElAcwzk4TLnL9USjKf3xm0= +github.com/linode/linodego v1.8.0/go.mod h1:heqhl91D8QTPVm2k9qZHP78zzbOdTFLXE9NJc3bcc50= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/metrico/micro-gc v0.0.4 h1:1A1ewEnH4obARpcxVFAk7hvtvnfGK1RPvrWCDSOZYM4= +github.com/metrico/micro-gc v0.0.4/go.mod h1:spP30j8DlbA8Rp6gHf6oMFA1ltEX7hX8EHhZqBp9fSI= github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA= +github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -353,12 +420,15 @@ github.com/prometheus/prometheus v1.8.2-0.20220714142409-b41e0750abf5/go.mod h1: github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.9 h1:0roa6gXKgyta64uqh52AQG3wzZXH21unn+ltzQSXML0= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.9/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -372,6 +442,7 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/vultr/govultr/v2 v2.17.2 h1:gej/rwr91Puc/tgh+j33p/BLR16UrIPnSr+AIwYWZQs= +github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -399,6 +470,7 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88 h1:Tgea0cVUD0ivh5ADBX4WwuI12DUd2to3nCYe2eayMIw= +golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -436,6 +508,7 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -600,6 +673,7 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220609170525-579cf78fd858 h1:Dpdu/EMxGMFgq0CeYMh4fazTD2vtlZRYE7wyynxJb9U= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -649,6 +723,7 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.11 h1:loJ25fNOEhSXfHrpoGj91eCUThwdNX6u24rO1xnNteY= +golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -774,6 +849,7 @@ google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03 h1:W70HjnmXFJm+8RNjOpIDYW2nKsSi/af0VvIZUtYkwuU= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -824,9 +900,12 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4= +gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -847,15 +926,24 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.24.2 h1:g518dPU/L7VRLxWfcadQn2OnsiGWVOadTLpdnqgY2OI= +k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg= k8s.io/apimachinery v0.24.2 h1:5QlH9SL2C8KMcrNJPor+LbXVTaZRReml7svPEh4OKDM= +k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= k8s.io/client-go v0.24.2 h1:CoXFSf8if+bLEbinDqN9ePIDGzcLtqhfd6jpfnwGOFA= +k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30= k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog/v2 v2.70.0 h1:GMmmjoFOrNepPN0ZeGCzvD2Gh5IKRwdFx8W5PBxVTQU= +k8s.io/klog/v2 v2.70.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/wasm_parts/main.go b/wasm_parts/main.go index 490566b0..529119f7 100644 --- a/wasm_parts/main.go +++ b/wasm_parts/main.go @@ -3,6 +3,9 @@ package main import ( "context" "fmt" + gcContext "github.com/metrico/micro-gc/context" + "sync" + "github.com/prometheus/prometheus/model/labels" "github.com/prometheus/prometheus/promql" "github.com/prometheus/prometheus/promql/parser" @@ -18,6 +21,11 @@ import ( "wasm_parts/types" ) +//go:linkname get sync.(*Pool).Get +func get(p *sync.Pool) any { + panic("GET POOL") +} + var maxSamples = 5000000 type ctx struct { @@ -35,13 +43,17 @@ func createCtx(id uint32) { //export alloc func alloc(id uint32, size int) *byte { + ctxId := gcContext.GetContextID() + gcContext.SetContext(id) data[id].request = make([]byte, size) + gcContext.SetContext(ctxId) return &data[id].request[0] } //export dealloc func dealloc(id uint32) { delete(data, id) + gcContext.ReleaseContext(id) } //export getCtxRequest @@ -66,6 +78,10 @@ func getCtxResponseLen(id uint32) uint32 { //export transpileTraceQL func transpileTraceQL(id uint32) int { + ctxId := gcContext.GetContextID() + gcContext.SetContext(id) + defer gcContext.SetContext(ctxId) + request := types.TraceQLRequest{} err := request.UnmarshalJSON(data[id].request) if err != nil { @@ -102,6 +118,8 @@ func transpileTraceQL(id uint32) int { options = append(options, sql.STRING_OPT_INLINE_WITH) } str, err := sel.String(request.Ctx.CHSqlCtx, options...) + print(str) + print("\n") if err != nil { data[id].response = []byte(err.Error()) return 1 @@ -110,24 +128,30 @@ func transpileTraceQL(id uint32) int { return 0 } -var eng *promql.Engine = nil -var engC = 0 +var eng *promql.Engine = promql.NewEngine(promql.EngineOpts{ + Logger: TestLogger{}, + MaxSamples: maxSamples, + Timeout: time.Second * 30, + ActiveQueryTracker: nil, + LookbackDelta: 0, + NoStepSubqueryIntervalFn: nil, + EnableAtModifier: false, + EnableNegativeOffset: false, +}) +var engC = func() *promql.Engine { + return promql.NewEngine(promql.EngineOpts{ + Logger: TestLogger{}, + MaxSamples: maxSamples, + Timeout: time.Second * 30, + ActiveQueryTracker: nil, + LookbackDelta: 0, + NoStepSubqueryIntervalFn: nil, + EnableAtModifier: false, + EnableNegativeOffset: false, + }) +}() func getEng() *promql.Engine { - if eng == nil || engC > 5 { - eng = promql.NewEngine(promql.EngineOpts{ - Logger: TestLogger{}, - MaxSamples: maxSamples, - Timeout: time.Second * 30, - ActiveQueryTracker: nil, - LookbackDelta: 0, - NoStepSubqueryIntervalFn: nil, - EnableAtModifier: false, - EnableNegativeOffset: false, - }) - engC = 0 - } - engC++ return eng } @@ -143,7 +167,11 @@ func stats() { //export pqlRangeQuery func pqlRangeQuery(id uint32, fromMS float64, toMS float64, stepMS float64) uint32 { - return pql(data[id], func() (promql.Query, error) { + ctxId := gcContext.GetContextID() + gcContext.SetContext(id) + defer gcContext.SetContext(ctxId) + + return pql(id, data[id], func() (promql.Query, error) { queriable := &TestQueryable{id: id, stepMs: int64(stepMS)} return getEng().NewRangeQuery( queriable, @@ -158,7 +186,11 @@ func pqlRangeQuery(id uint32, fromMS float64, toMS float64, stepMS float64) uint //export pqlInstantQuery func pqlInstantQuery(id uint32, timeMS float64) uint32 { - return pql(data[id], func() (promql.Query, error) { + ctxId := gcContext.GetContextID() + gcContext.SetContext(id) + defer gcContext.SetContext(ctxId) + + return pql(id, data[id], func() (promql.Query, error) { queriable := &TestQueryable{id: id, stepMs: 15000} return getEng().NewInstantQuery( queriable, @@ -170,6 +202,10 @@ func pqlInstantQuery(id uint32, timeMS float64) uint32 { //export pqlSeries func pqlSeries(id uint32) uint32 { + ctxId := gcContext.GetContextID() + gcContext.SetContext(id) + defer gcContext.SetContext(ctxId) + queriable := &TestQueryable{id: id, stepMs: 15000} query, err := getEng().NewRangeQuery( queriable, @@ -220,7 +256,7 @@ func wrapErrorStr(err error) string { return err.Error() } -func pql(c *ctx, query func() (promql.Query, error)) uint32 { +func pql(id uint32, c *ctx, query func() (promql.Query, error)) uint32 { rq, err := query() if err != nil { @@ -238,6 +274,10 @@ func pql(c *ctx, query func() (promql.Query, error)) uint32 { c.response = []byte(matchersJSON) c.onDataLoad = func(c *ctx) { + ctxId := gcContext.GetContextID() + gcContext.SetContext(id) + defer gcContext.SetContext(ctxId) + res := rq.Exec(context.Background()) c.response = []byte(writeResponse(res)) return @@ -318,7 +358,11 @@ func writeVector(v promql.Vector) string { return jsonBuilder.String() } -func main() {} +func main() { + p := sync.Pool{} + a := p.Get() + _ = a +} type TestLogger struct{} diff --git a/wasm_parts/main.js b/wasm_parts/main.js index c4cf46d8..6c199997 100644 --- a/wasm_parts/main.js +++ b/wasm_parts/main.js @@ -7,7 +7,7 @@ const { gunzipSync } = require('zlib') class WasmError extends Error {} module.exports.WasmError = WasmError -let counter = 0 +let counter = 1 const getWasm = (() => { const _Go = Go @@ -20,6 +20,9 @@ const getWasm = (() => { run = true const _wasm = await WebAssembly.instantiate( gunzipSync(fs.readFileSync(WASM_URL)), go.importObject) + setInterval(() => { + console.log(`WASM SIZE: ${Math.floor(wasm.exports.memory.buffer.byteLength / 1024 / 1024)} MB`) + }, 5000) go.run(_wasm.instance) wasm = _wasm.instance wasm.exports.setMaxSamples(process.env.ADVANCED_PROMETHEUS_MAX_SAMPLES || 5000000) @@ -28,10 +31,6 @@ const getWasm = (() => { } init() return () => { - if (cnt >= 20 && !run) { - init() - } - cnt++ return wasm } })() diff --git a/wasm_parts/main.wasm.gz b/wasm_parts/main.wasm.gz index 76e5ab38..23e37031 100644 Binary files a/wasm_parts/main.wasm.gz and b/wasm_parts/main.wasm.gz differ diff --git a/wasm_parts/traceql/parser/lexer_rules v2.go b/wasm_parts/traceql/parser/lexer_rules v2.go index e48504f5..35e20911 100644 --- a/wasm_parts/traceql/parser/lexer_rules v2.go +++ b/wasm_parts/traceql/parser/lexer_rules v2.go @@ -38,4 +38,4 @@ var TraceQLLexerRulesV2 = []lexer.SimpleRule{ {"space", `\s+`}, } -var TraceQLLexerDefinition lexer.Definition = lexer.MustSimple(TraceQLLexerRulesV2) +var TraceQLLexerDefinition = func() lexer.Definition { return lexer.MustSimple(TraceQLLexerRulesV2) } diff --git a/wasm_parts/traceql/parser/parser.go b/wasm_parts/traceql/parser/parser.go index d7c28fc9..e8c51d97 100644 --- a/wasm_parts/traceql/parser/parser.go +++ b/wasm_parts/traceql/parser/parser.go @@ -6,7 +6,7 @@ import ( func Parse(str string) (*TraceQLScript, error) { res := &TraceQLScript{} - parser, err := participle.Build[TraceQLScript](participle.Lexer(TraceQLLexerDefinition), participle.UseLookahead(2)) + parser, err := participle.Build[TraceQLScript](participle.Lexer(TraceQLLexerDefinition()), participle.UseLookahead(2)) if err != nil { return nil, err } diff --git a/wasm_parts/vendor.diff b/wasm_parts/vendor.diff index 680aee2c..de055d90 100644 --- a/wasm_parts/vendor.diff +++ b/wasm_parts/vendor.diff @@ -134,7 +134,7 @@ exit #### Patch data follows #### diff -c 'vendor/github.com/alecthomas/participle/v2/validate.go' '_vendor/github.com/alecthomas/participle/v2/validate.go' Index: ./github.com/alecthomas/participle/v2/validate.go -*** ./github.com/alecthomas/participle/v2/validate.go Tue Nov 7 16:23:15 2023 +*** ./github.com/alecthomas/participle/v2/validate.go Mon Mar 11 19:34:50 2024 --- ./github.com/alecthomas/participle/v2/validate.go Thu Oct 26 15:52:53 2023 *************** *** 42,48 **** @@ -155,7 +155,7 @@ Index: ./github.com/alecthomas/participle/v2/validate.go if seen[n] { diff -c 'vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go' '_vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go' Index: ./github.com/aws/aws-sdk-go/aws/defaults/defaults.go -*** ./github.com/aws/aws-sdk-go/aws/defaults/defaults.go Tue Nov 7 16:23:15 2023 +*** ./github.com/aws/aws-sdk-go/aws/defaults/defaults.go Mon Mar 11 19:34:50 2024 --- ./github.com/aws/aws-sdk-go/aws/defaults/defaults.go Thu Oct 26 15:21:07 2023 *************** *** 132,138 **** @@ -178,7 +178,7 @@ Index: ./github.com/aws/aws-sdk-go/aws/defaults/defaults.go ip := net.ParseIP(host) diff -c 'vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go' '_vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go' Index: ./github.com/aws/aws-sdk-go/aws/request/retryer.go -*** ./github.com/aws/aws-sdk-go/aws/request/retryer.go Tue Nov 7 16:23:15 2023 +*** ./github.com/aws/aws-sdk-go/aws/request/retryer.go Mon Mar 11 19:34:50 2024 --- ./github.com/aws/aws-sdk-go/aws/request/retryer.go Thu Oct 26 15:21:07 2023 *************** *** 1,7 **** @@ -204,7 +204,7 @@ Index: ./github.com/aws/aws-sdk-go/aws/request/retryer.go --- 199,204 ---- diff -c 'vendor/github.com/davecgh/go-spew/spew/bypass.go' '_vendor/github.com/davecgh/go-spew/spew/bypass.go' Index: ./github.com/davecgh/go-spew/spew/bypass.go -*** ./github.com/davecgh/go-spew/spew/bypass.go Tue Nov 7 16:23:15 2023 +*** ./github.com/davecgh/go-spew/spew/bypass.go Mon Mar 11 19:34:50 2024 --- ./github.com/davecgh/go-spew/spew/bypass.go Thu Oct 26 15:21:07 2023 *************** *** 68,80 **** @@ -278,7 +278,7 @@ Index: ./github.com/davecgh/go-spew/spew/bypass.go --- 96,98 ---- diff -c 'vendor/github.com/edsrzf/mmap-go/mmap.go' '_vendor/github.com/edsrzf/mmap-go/mmap.go' Index: ./github.com/edsrzf/mmap-go/mmap.go -*** ./github.com/edsrzf/mmap-go/mmap.go Tue Nov 7 16:23:15 2023 +*** ./github.com/edsrzf/mmap-go/mmap.go Mon Mar 11 19:34:50 2024 --- ./github.com/edsrzf/mmap-go/mmap.go Thu Oct 26 15:21:07 2023 *************** *** 15,21 **** @@ -383,9 +383,107 @@ Index: ./github.com/edsrzf/mmap-go/mmap.go func (m *MMap) Unmap() error { ! return nil } +diff -c 'vendor/github.com/grafana/regexp/backtrack.go' '_vendor/github.com/grafana/regexp/backtrack.go' +Index: ./github.com/grafana/regexp/backtrack.go +*** ./github.com/grafana/regexp/backtrack.go Mon Mar 11 19:34:50 2024 +--- ./github.com/grafana/regexp/backtrack.go Mon Mar 11 11:17:18 2024 +*************** +*** 16,22 **** + + import ( + "regexp/syntax" +- "sync" + ) + + // A job is an entry on the backtracker's job stack. It holds +--- 16,21 ---- +*************** +*** 44,50 **** + inputs inputs + } + +! var bitStatePool sync.Pool + + func newBitState() *bitState { + b, ok := bitStatePool.Get().(*bitState) +--- 43,53 ---- + inputs inputs + } + +! type fakePool[T any] struct {} +! func (f fakePool[T]) Get() interface{} { return new(T) } +! func (f fakePool[T]) Put(x any) { } +! +! var bitStatePool fakePool[bitState] + + func newBitState() *bitState { + b, ok := bitStatePool.Get().(*bitState) +diff -c 'vendor/github.com/grafana/regexp/exec.go' '_vendor/github.com/grafana/regexp/exec.go' +Index: ./github.com/grafana/regexp/exec.go +*** ./github.com/grafana/regexp/exec.go Mon Mar 11 19:34:50 2024 +--- ./github.com/grafana/regexp/exec.go Mon Mar 11 11:17:07 2024 +*************** +*** 7,13 **** + import ( + "io" + "regexp/syntax" +- "sync" + ) + + // A queue is a 'sparse array' holding pending threads of execution. +--- 7,12 ---- +*************** +*** 377,384 **** + inputs inputs + matchcap []int + } +! +! var onePassPool sync.Pool + + func newOnePassMachine() *onePassMachine { + m, ok := onePassPool.Get().(*onePassMachine) +--- 376,382 ---- + inputs inputs + matchcap []int + } +! var onePassPool fakePool[onePassMachine] + + func newOnePassMachine() *onePassMachine { + m, ok := onePassPool.Get().(*onePassMachine) +diff -c 'vendor/github.com/grafana/regexp/regexp.go' '_vendor/github.com/grafana/regexp/regexp.go' +Index: ./github.com/grafana/regexp/regexp.go +*** ./github.com/grafana/regexp/regexp.go Mon Mar 11 19:34:50 2024 +--- ./github.com/grafana/regexp/regexp.go Mon Mar 11 18:14:29 2024 +*************** +*** 71,77 **** + "regexp/syntax" + "strconv" + "strings" +- "sync" + "unicode" + "unicode/utf8" + ) +--- 71,76 ---- +*************** +*** 225,231 **** + // The final matchPool is a catch-all for very large queues. + var ( + matchSize = [...]int{128, 512, 2048, 16384, 0} +! matchPool [len(matchSize)]sync.Pool + ) + + // get returns a machine to use for matching re. +--- 224,230 ---- + // The final matchPool is a catch-all for very large queues. + var ( + matchSize = [...]int{128, 512, 2048, 16384, 0} +! matchPool [len(matchSize)]fakePool[machine] + ) + + // get returns a machine to use for matching re. diff -c 'vendor/github.com/mwitkow/go-conntrack/dialer_reporter.go' '_vendor/github.com/mwitkow/go-conntrack/dialer_reporter.go' Index: ./github.com/mwitkow/go-conntrack/dialer_reporter.go -*** ./github.com/mwitkow/go-conntrack/dialer_reporter.go Tue Nov 7 16:23:15 2023 +*** ./github.com/mwitkow/go-conntrack/dialer_reporter.go Mon Mar 11 19:34:50 2024 --- ./github.com/mwitkow/go-conntrack/dialer_reporter.go Thu Oct 26 15:21:07 2023 *************** *** 87,95 **** @@ -413,7 +511,7 @@ Index: ./github.com/mwitkow/go-conntrack/dialer_reporter.go --- 94,99 ---- diff -c 'vendor/github.com/mwitkow/go-conntrack/listener_wrapper.go' '_vendor/github.com/mwitkow/go-conntrack/listener_wrapper.go' Index: ./github.com/mwitkow/go-conntrack/listener_wrapper.go -*** ./github.com/mwitkow/go-conntrack/listener_wrapper.go Tue Nov 7 16:23:15 2023 +*** ./github.com/mwitkow/go-conntrack/listener_wrapper.go Mon Mar 11 19:34:50 2024 --- ./github.com/mwitkow/go-conntrack/listener_wrapper.go Thu Oct 26 15:21:07 2023 *************** *** 109,118 **** @@ -428,6 +526,38 @@ Index: ./github.com/mwitkow/go-conntrack/listener_wrapper.go } --- 109,114 ---- +diff -c 'vendor/github.com/pquerna/ffjson/fflib/v1/buffer_pool.go' '_vendor/github.com/pquerna/ffjson/fflib/v1/buffer_pool.go' +Index: ./github.com/pquerna/ffjson/fflib/v1/buffer_pool.go +*** ./github.com/pquerna/ffjson/fflib/v1/buffer_pool.go Mon Mar 11 19:34:50 2024 +--- ./github.com/pquerna/ffjson/fflib/v1/buffer_pool.go Mon Mar 11 18:36:36 2024 +*************** +*** 8,17 **** + + // Allocation pools for Buffers. + +! import "sync" + +! var pools [14]sync.Pool +! var pool64 *sync.Pool + + func init() { + var i uint +--- 8,22 ---- + + // Allocation pools for Buffers. + +! type fakePool struct { +! New func() any +! } + +! func (f *fakePool) Get() any { return f.New() } +! func (f *fakePool) Put(x any) {} +! +! var pools [14]fakePool +! var pool64 *fakePool + + func init() { + var i uint diff -c /dev/null '_vendor/github.com/pquerna/ffjson/inception/decoder.go' Index: ./github.com/pquerna/ffjson/inception/decoder.go *** ./github.com/pquerna/ffjson/inception/decoder.go Thu Jan 1 03:00:00 1970 @@ -2918,7 +3048,7 @@ Index: ./github.com/pquerna/ffjson/shared/options.go + } diff -c 'vendor/github.com/prometheus/client_golang/prometheus/go_collector.go' '_vendor/github.com/prometheus/client_golang/prometheus/go_collector.go' Index: ./github.com/prometheus/client_golang/prometheus/go_collector.go -*** ./github.com/prometheus/client_golang/prometheus/go_collector.go Tue Nov 7 16:23:15 2023 +*** ./github.com/prometheus/client_golang/prometheus/go_collector.go Mon Mar 11 19:34:50 2024 --- ./github.com/prometheus/client_golang/prometheus/go_collector.go Thu Oct 26 15:21:07 2023 *************** *** 15,36 **** @@ -3108,7 +3238,7 @@ Index: ./github.com/prometheus/client_golang/prometheus/go_collector.go func memstatNamespace(s string) string { diff -c 'vendor/github.com/prometheus/client_golang/prometheus/go_collector_latest.go' '_vendor/github.com/prometheus/client_golang/prometheus/go_collector_latest.go' Index: ./github.com/prometheus/client_golang/prometheus/go_collector_latest.go -*** ./github.com/prometheus/client_golang/prometheus/go_collector_latest.go Tue Nov 7 16:23:15 2023 +*** ./github.com/prometheus/client_golang/prometheus/go_collector_latest.go Mon Mar 11 19:34:50 2024 --- ./github.com/prometheus/client_golang/prometheus/go_collector_latest.go Thu Oct 26 15:21:07 2023 *************** *** 20,26 **** @@ -3395,7 +3525,7 @@ Index: ./github.com/prometheus/client_golang/prometheus/go_collector_latest.go --- 346,351 ---- diff -c 'vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go' '_vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go' Index: ./github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go -*** ./github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go Tue Nov 7 16:23:15 2023 +*** ./github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go Mon Mar 11 19:34:50 2024 --- ./github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go Thu Oct 26 15:21:07 2023 *************** *** 18,28 **** @@ -3467,7 +3597,7 @@ Index: ./github.com/prometheus/client_golang/prometheus/internal/go_runtime_metr // RuntimeMetricsBucketsForUnit takes a set of buckets obtained for a runtime/metrics histogram diff -c 'vendor/github.com/prometheus/client_golang/prometheus/registry.go' '_vendor/github.com/prometheus/client_golang/prometheus/registry.go' Index: ./github.com/prometheus/client_golang/prometheus/registry.go -*** ./github.com/prometheus/client_golang/prometheus/registry.go Tue Nov 7 16:23:15 2023 +*** ./github.com/prometheus/client_golang/prometheus/registry.go Mon Mar 11 19:34:50 2024 --- ./github.com/prometheus/client_golang/prometheus/registry.go Thu Oct 26 15:21:07 2023 *************** *** 59,66 **** @@ -3508,9 +3638,279 @@ Index: ./github.com/prometheus/client_golang/prometheus/registry.go } // processMetric is an internal helper method only used by the Gather method. +diff -c 'vendor/github.com/prometheus/client_golang/prometheus/testutil/promlint/promlint.go' '_vendor/github.com/prometheus/client_golang/prometheus/testutil/promlint/promlint.go' +Index: ./github.com/prometheus/client_golang/prometheus/testutil/promlint/promlint.go +*** ./github.com/prometheus/client_golang/prometheus/testutil/promlint/promlint.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/client_golang/prometheus/testutil/promlint/promlint.go Mon Mar 11 17:47:29 2024 +*************** +*** 17,23 **** + import ( + "fmt" + "io" +! "regexp" + "sort" + "strings" + +--- 17,23 ---- + import ( + "fmt" + "io" +! "wasm_parts/regexp" + "sort" + "strings" + +diff -c 'vendor/github.com/prometheus/common/model/labels.go' '_vendor/github.com/prometheus/common/model/labels.go' +Index: ./github.com/prometheus/common/model/labels.go +*** ./github.com/prometheus/common/model/labels.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/common/model/labels.go Mon Mar 11 17:56:25 2024 +*************** +*** 16,22 **** + import ( + "encoding/json" + "fmt" +! "regexp" + "strings" + "unicode/utf8" + ) +--- 16,22 ---- + import ( + "encoding/json" + "fmt" +! "wasm_parts/regexp" + "strings" + "unicode/utf8" + ) +*************** +*** 91,97 **** + // LabelNameRE is a regular expression matching valid label names. Note that the + // IsValid method of LabelName performs the same check but faster than a match + // with this regular expression. +! var LabelNameRE = regexp.MustCompile("^[a-zA-Z_][a-zA-Z0-9_]*$") + + // A LabelName is a key for a LabelSet or Metric. It has a value associated + // therewith. +--- 91,97 ---- + // LabelNameRE is a regular expression matching valid label names. Note that the + // IsValid method of LabelName performs the same check but faster than a match + // with this regular expression. +! var LabelNameRE = func() *regexp.Regexp { return regexp.MustCompile("^[a-zA-Z_][a-zA-Z0-9_]*$") } + + // A LabelName is a key for a LabelSet or Metric. It has a value associated + // therewith. +diff -c 'vendor/github.com/prometheus/common/model/metric.go' '_vendor/github.com/prometheus/common/model/metric.go' +Index: ./github.com/prometheus/common/model/metric.go +*** ./github.com/prometheus/common/model/metric.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/common/model/metric.go Mon Mar 11 17:57:53 2024 +*************** +*** 15,21 **** + + import ( + "fmt" +! "regexp" + "sort" + "strings" + ) +--- 15,21 ---- + + import ( + "fmt" +! "wasm_parts/regexp" + "sort" + "strings" + ) +*************** +*** 24,30 **** + // MetricNameRE is a regular expression matching valid metric + // names. Note that the IsValidMetricName function performs the same + // check but faster than a match with this regular expression. +! MetricNameRE = regexp.MustCompile(`^[a-zA-Z_:][a-zA-Z0-9_:]*$`) + ) + + // A Metric is similar to a LabelSet, but the key difference is that a Metric is +--- 24,30 ---- + // MetricNameRE is a regular expression matching valid metric + // names. Note that the IsValidMetricName function performs the same + // check but faster than a match with this regular expression. +! MetricNameRE = func() *regexp.Regexp { return regexp.MustCompile(`^[a-zA-Z_:][a-zA-Z0-9_:]*$`) } + ) + + // A Metric is similar to a LabelSet, but the key difference is that a Metric is +diff -c 'vendor/github.com/prometheus/common/model/silence.go' '_vendor/github.com/prometheus/common/model/silence.go' +Index: ./github.com/prometheus/common/model/silence.go +*** ./github.com/prometheus/common/model/silence.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/common/model/silence.go Mon Mar 11 17:47:29 2024 +*************** +*** 16,22 **** + import ( + "encoding/json" + "fmt" +! "regexp" + "time" + ) + +--- 16,22 ---- + import ( + "encoding/json" + "fmt" +! "wasm_parts/regexp" + "time" + ) + +diff -c 'vendor/github.com/prometheus/common/model/time.go' '_vendor/github.com/prometheus/common/model/time.go' +Index: ./github.com/prometheus/common/model/time.go +*** ./github.com/prometheus/common/model/time.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/common/model/time.go Mon Mar 11 17:52:45 2024 +*************** +*** 18,24 **** + "errors" + "fmt" + "math" +! "regexp" + "strconv" + "strings" + "time" +--- 18,24 ---- + "errors" + "fmt" + "math" +! "wasm_parts/regexp" + "strconv" + "strings" + "time" +*************** +*** 183,193 **** + return "duration" + } + +! var durationRE = regexp.MustCompile("^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$") + + // ParseDuration parses a string into a time.Duration, assuming that a year + // always has 365d, a week always has 7d, and a day always has 24h. + func ParseDuration(durationStr string) (Duration, error) { + switch durationStr { + case "0": + // Allow 0 without a unit. +--- 183,194 ---- + return "duration" + } + +! + + // ParseDuration parses a string into a time.Duration, assuming that a year + // always has 365d, a week always has 7d, and a day always has 24h. + func ParseDuration(durationStr string) (Duration, error) { ++ var durationRE = regexp.MustCompile("^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$") + switch durationStr { + case "0": + // Allow 0 without a unit. +diff -c 'vendor/github.com/prometheus/procfs/cpuinfo.go' '_vendor/github.com/prometheus/procfs/cpuinfo.go' +Index: ./github.com/prometheus/procfs/cpuinfo.go +*** ./github.com/prometheus/procfs/cpuinfo.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/procfs/cpuinfo.go Mon Mar 11 17:47:29 2024 +*************** +*** 20,26 **** + "bytes" + "errors" + "fmt" +! "regexp" + "strconv" + "strings" + +--- 20,26 ---- + "bytes" + "errors" + "fmt" +! "wasm_parts/regexp" + "strconv" + "strings" + +diff -c 'vendor/github.com/prometheus/procfs/mdstat.go' '_vendor/github.com/prometheus/procfs/mdstat.go' +Index: ./github.com/prometheus/procfs/mdstat.go +*** ./github.com/prometheus/procfs/mdstat.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/procfs/mdstat.go Mon Mar 11 17:47:29 2024 +*************** +*** 16,22 **** + import ( + "fmt" + "io/ioutil" +! "regexp" + "strconv" + "strings" + ) +--- 16,22 ---- + import ( + "fmt" + "io/ioutil" +! "wasm_parts/regexp" + "strconv" + "strings" + ) +diff -c 'vendor/github.com/prometheus/procfs/proc_fdinfo.go' '_vendor/github.com/prometheus/procfs/proc_fdinfo.go' +Index: ./github.com/prometheus/procfs/proc_fdinfo.go +*** ./github.com/prometheus/procfs/proc_fdinfo.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/procfs/proc_fdinfo.go Mon Mar 11 17:47:29 2024 +*************** +*** 17,23 **** + "bufio" + "bytes" + "fmt" +! "regexp" + + "github.com/prometheus/procfs/internal/util" + ) +--- 17,23 ---- + "bufio" + "bytes" + "fmt" +! "wasm_parts/regexp" + + "github.com/prometheus/procfs/internal/util" + ) +diff -c 'vendor/github.com/prometheus/procfs/proc_limits.go' '_vendor/github.com/prometheus/procfs/proc_limits.go' +Index: ./github.com/prometheus/procfs/proc_limits.go +*** ./github.com/prometheus/procfs/proc_limits.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/procfs/proc_limits.go Mon Mar 11 17:47:20 2024 +*************** +*** 17,23 **** + "bufio" + "fmt" + "os" +! "regexp" + "strconv" + ) + +--- 17,23 ---- + "bufio" + "fmt" + "os" +! "wasm_parts/regexp" + "strconv" + ) + +diff -c 'vendor/github.com/prometheus/procfs/proc_smaps.go' '_vendor/github.com/prometheus/procfs/proc_smaps.go' +Index: ./github.com/prometheus/procfs/proc_smaps.go +*** ./github.com/prometheus/procfs/proc_smaps.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/procfs/proc_smaps.go Mon Mar 11 17:47:29 2024 +*************** +*** 20,26 **** + "errors" + "fmt" + "os" +! "regexp" + "strconv" + "strings" + +--- 20,26 ---- + "errors" + "fmt" + "os" +! "wasm_parts/regexp" + "strconv" + "strings" + diff -c 'vendor/github.com/prometheus/procfs/proc_stat.go' '_vendor/github.com/prometheus/procfs/proc_stat.go' Index: ./github.com/prometheus/procfs/proc_stat.go -*** ./github.com/prometheus/procfs/proc_stat.go Tue Nov 7 16:23:15 2023 +*** ./github.com/prometheus/procfs/proc_stat.go Mon Mar 11 19:34:50 2024 --- ./github.com/prometheus/procfs/proc_stat.go Thu Oct 26 15:21:07 2023 *************** *** 16,22 **** @@ -3539,9 +3939,72 @@ Index: ./github.com/prometheus/procfs/proc_stat.go } // StartTime returns the unix timestamp of the process in seconds. +diff -c 'vendor/github.com/prometheus/procfs/schedstat.go' '_vendor/github.com/prometheus/procfs/schedstat.go' +Index: ./github.com/prometheus/procfs/schedstat.go +*** ./github.com/prometheus/procfs/schedstat.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/procfs/schedstat.go Mon Mar 11 17:47:29 2024 +*************** +*** 17,23 **** + "bufio" + "errors" + "os" +! "regexp" + "strconv" + ) + +--- 17,23 ---- + "bufio" + "errors" + "os" +! "wasm_parts/regexp" + "strconv" + ) + +diff -c 'vendor/github.com/prometheus/procfs/slab.go' '_vendor/github.com/prometheus/procfs/slab.go' +Index: ./github.com/prometheus/procfs/slab.go +*** ./github.com/prometheus/procfs/slab.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/procfs/slab.go Mon Mar 11 17:47:29 2024 +*************** +*** 17,23 **** + "bufio" + "bytes" + "fmt" +! "regexp" + "strconv" + "strings" + +--- 17,23 ---- + "bufio" + "bytes" + "fmt" +! "wasm_parts/regexp" + "strconv" + "strings" + +diff -c 'vendor/github.com/prometheus/procfs/zoneinfo.go' '_vendor/github.com/prometheus/procfs/zoneinfo.go' +Index: ./github.com/prometheus/procfs/zoneinfo.go +*** ./github.com/prometheus/procfs/zoneinfo.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/procfs/zoneinfo.go Mon Mar 11 17:47:29 2024 +*************** +*** 19,25 **** + "bytes" + "fmt" + "io/ioutil" +! "regexp" + "strings" + + "github.com/prometheus/procfs/internal/util" +--- 19,25 ---- + "bytes" + "fmt" + "io/ioutil" +! "wasm_parts/regexp" + "strings" + + "github.com/prometheus/procfs/internal/util" diff -c 'vendor/github.com/prometheus/prometheus/discovery/registry.go' '_vendor/github.com/prometheus/prometheus/discovery/registry.go' Index: ./github.com/prometheus/prometheus/discovery/registry.go -*** ./github.com/prometheus/prometheus/discovery/registry.go Tue Nov 7 16:23:15 2023 +*** ./github.com/prometheus/prometheus/discovery/registry.go Mon Mar 11 19:34:50 2024 --- ./github.com/prometheus/prometheus/discovery/registry.go Thu Oct 26 15:21:07 2023 *************** *** 17,23 **** @@ -3589,8 +4052,8 @@ Index: ./github.com/prometheus/prometheus/discovery/registry.go func getConfigType(out reflect.Type) reflect.Type { diff -c 'vendor/github.com/prometheus/prometheus/promql/engine.go' '_vendor/github.com/prometheus/prometheus/promql/engine.go' Index: ./github.com/prometheus/prometheus/promql/engine.go -*** ./github.com/prometheus/prometheus/promql/engine.go Tue Nov 7 16:23:15 2023 ---- ./github.com/prometheus/prometheus/promql/engine.go Tue Nov 7 14:35:56 2023 +*** ./github.com/prometheus/prometheus/promql/engine.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/prometheus/promql/engine.go Mon Mar 11 11:26:55 2024 *************** *** 20,26 **** "errors" @@ -4182,6 +4645,27 @@ Index: ./github.com/prometheus/prometheus/promql/engine.go --- 1547,1558 ---- *************** +*** 1740,1746 **** + return t, v, true + } + +! var pointPool = sync.Pool{} + + func getPointSlice(sz int) []Point { + p := pointPool.Get() +--- 1585,1595 ---- + return t, v, true + } + +! type fakePointPool struct {} +! func (f fakePointPool) Get() interface{} { return nil } +! func (f fakePointPool) Put(x any) { } +! +! var pointPool = fakePointPool{} + + func getPointSlice(sz int) []Point { + p := pointPool.Get() +*************** *** 1783,1789 **** } @@ -4190,7 +4674,7 @@ Index: ./github.com/prometheus/prometheus/promql/engine.go if len(ss.Points) > 0 { matrix = append(matrix, ss) ---- 1628,1633 ---- +--- 1632,1637 ---- *************** *** 1855,1861 **** ev.currentSamples++ @@ -4200,10 +4684,70 @@ Index: ./github.com/prometheus/prometheus/promql/engine.go return out } ---- 1699,1704 ---- +--- 1703,1708 ---- +diff -c 'vendor/github.com/prometheus/prometheus/promql/functions.go' '_vendor/github.com/prometheus/prometheus/promql/functions.go' +Index: ./github.com/prometheus/prometheus/promql/functions.go +*** ./github.com/prometheus/prometheus/promql/functions.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/prometheus/promql/functions.go Mon Mar 11 17:57:07 2024 +*************** +*** 887,893 **** + if err != nil { + panic(fmt.Errorf("invalid regular expression in label_replace(): %s", regexStr)) + } +! if !model.LabelNameRE.MatchString(dst) { + panic(fmt.Errorf("invalid destination label name in label_replace(): %s", dst)) + } + enh.Dmn = make(map[uint64]labels.Labels, len(enh.Out)) +--- 887,893 ---- + if err != nil { + panic(fmt.Errorf("invalid regular expression in label_replace(): %s", regexStr)) + } +! if !model.LabelNameRE().MatchString(dst) { + panic(fmt.Errorf("invalid destination label name in label_replace(): %s", dst)) + } + enh.Dmn = make(map[uint64]labels.Labels, len(enh.Out)) +diff -c 'vendor/github.com/prometheus/prometheus/promql/parser/parse.go' '_vendor/github.com/prometheus/prometheus/promql/parser/parse.go' +Index: ./github.com/prometheus/prometheus/promql/parser/parse.go +*** ./github.com/prometheus/prometheus/promql/parser/parse.go Mon Mar 11 19:34:50 2024 +--- ./github.com/prometheus/prometheus/promql/parser/parse.go Mon Mar 11 11:21:23 2024 +*************** +*** 21,27 **** + "runtime" + "strconv" + "strings" +- "sync" + "time" + + "github.com/prometheus/common/model" +--- 21,26 ---- +*************** +*** 31,41 **** + "github.com/prometheus/prometheus/util/strutil" + ) + +! var parserPool = sync.Pool{ +! New: func() interface{} { +! return &parser{} +! }, +! } + + type parser struct { + lex Lexer +--- 30,40 ---- + "github.com/prometheus/prometheus/util/strutil" + ) + +! type fakePool[T any] struct {} +! func (f fakePool[T]) Get() interface{} { return new(T) } +! func (f fakePool[T]) Put(x any) { } +! +! var parserPool = fakePool[parser]{} + + type parser struct { + lex Lexer diff -c 'vendor/github.com/prometheus/prometheus/storage/generic.go' '_vendor/github.com/prometheus/prometheus/storage/generic.go' Index: ./github.com/prometheus/prometheus/storage/generic.go -*** ./github.com/prometheus/prometheus/storage/generic.go Tue Nov 7 16:23:15 2023 +*** ./github.com/prometheus/prometheus/storage/generic.go Mon Mar 11 19:34:50 2024 --- ./github.com/prometheus/prometheus/storage/generic.go Tue Nov 7 15:29:20 2023 *************** *** 105,134 **** @@ -4240,7 +4784,7 @@ Index: ./github.com/prometheus/prometheus/storage/generic.go --- 105,110 ---- diff -c 'vendor/github.com/prometheus/prometheus/tsdb/chunks/chunks.go' '_vendor/github.com/prometheus/prometheus/tsdb/chunks/chunks.go' Index: ./github.com/prometheus/prometheus/tsdb/chunks/chunks.go -*** ./github.com/prometheus/prometheus/tsdb/chunks/chunks.go Tue Nov 7 16:23:15 2023 +*** ./github.com/prometheus/prometheus/tsdb/chunks/chunks.go Mon Mar 11 19:34:50 2024 --- ./github.com/prometheus/prometheus/tsdb/chunks/chunks.go Tue Nov 7 15:39:45 2023 *************** *** 14,55 **** @@ -4858,7 +5402,7 @@ Index: ./github.com/prometheus/prometheus/tsdb/chunks/chunks.go --- 45,47 ---- diff -c 'vendor/github.com/prometheus/prometheus/util/stats/query_stats.go' '_vendor/github.com/prometheus/prometheus/util/stats/query_stats.go' Index: ./github.com/prometheus/prometheus/util/stats/query_stats.go -*** ./github.com/prometheus/prometheus/util/stats/query_stats.go Tue Nov 7 16:23:15 2023 +*** ./github.com/prometheus/prometheus/util/stats/query_stats.go Mon Mar 11 19:34:50 2024 --- ./github.com/prometheus/prometheus/util/stats/query_stats.go Thu Oct 26 15:21:07 2023 *************** *** 19,26 **** @@ -4905,63 +5449,11 @@ Index: ./github.com/prometheus/prometheus/util/stats/query_stats.go type Statistics struct { --- 187,202 ---- -diff -c 'vendor/modules.txt' '_vendor/modules.txt' -Index: ./modules.txt -*** ./modules.txt Tue Nov 7 16:23:15 2023 ---- ./modules.txt Thu Oct 26 15:21:07 2023 -*************** -*** 112,121 **** ---- 112,124 ---- - ## explicit - github.com/pquerna/ffjson/fflib/v1 - github.com/pquerna/ffjson/fflib/v1/internal -+ github.com/pquerna/ffjson/inception -+ github.com/pquerna/ffjson/shared - # github.com/prometheus/client_golang v1.12.2 - ## explicit; go 1.13 - github.com/prometheus/client_golang/prometheus - github.com/prometheus/client_golang/prometheus/internal -+ github.com/prometheus/client_golang/prometheus/promauto - github.com/prometheus/client_golang/prometheus/testutil - github.com/prometheus/client_golang/prometheus/testutil/promlint - # github.com/prometheus/client_model v0.2.0 -*************** -*** 127,132 **** ---- 130,137 ---- - github.com/prometheus/common/expfmt - github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg - github.com/prometheus/common/model -+ github.com/prometheus/common/route -+ github.com/prometheus/common/version - # github.com/prometheus/common/sigv4 v0.1.0 - ## explicit; go 1.15 - github.com/prometheus/common/sigv4 -*************** -*** 143,154 **** ---- 148,165 ---- - github.com/prometheus/prometheus/model/exemplar - github.com/prometheus/prometheus/model/labels - github.com/prometheus/prometheus/model/relabel -+ github.com/prometheus/prometheus/model/rulefmt - github.com/prometheus/prometheus/model/textparse - github.com/prometheus/prometheus/model/timestamp - github.com/prometheus/prometheus/model/value -+ github.com/prometheus/prometheus/prompb - github.com/prometheus/prometheus/promql - github.com/prometheus/prometheus/promql/parser -+ github.com/prometheus/prometheus/rules -+ github.com/prometheus/prometheus/scrape - github.com/prometheus/prometheus/storage -+ github.com/prometheus/prometheus/storage/remote -+ github.com/prometheus/prometheus/template - github.com/prometheus/prometheus/tsdb - github.com/prometheus/prometheus/tsdb/chunkenc - github.com/prometheus/prometheus/tsdb/chunks #### End of Patch data #### #### ApplyPatch data follows #### # Data version : 1.0 -# Date generated : Tue Nov 7 16:24:34 2023 +# Date generated : Mon Mar 11 19:35:07 2024 # Generated by : makepatch 2.03 # Recurse directories : Yes # Excluded files : (\A|/).*\~\Z @@ -5063,8 +5555,12 @@ Index: ./modules.txt # p 'github.com/aws/aws-sdk-go/aws/request/retryer.go' 8830 1698322867 0100664 # p 'github.com/davecgh/go-spew/spew/bypass.go' 4715 1698322867 0100664 # p 'github.com/edsrzf/mmap-go/mmap.go' 3653 1698322867 0100664 +# p 'github.com/grafana/regexp/backtrack.go' 8998 1710148638 0100664 +# p 'github.com/grafana/regexp/exec.go' 12568 1710148627 0100664 +# p 'github.com/grafana/regexp/regexp.go' 38456 1710173669 0100664 # p 'github.com/mwitkow/go-conntrack/dialer_reporter.go' 3458 1698322867 0100664 # p 'github.com/mwitkow/go-conntrack/listener_wrapper.go' 3833 1698322867 0100664 +# p 'github.com/pquerna/ffjson/fflib/v1/buffer_pool.go' 2368 1710174996 0100664 # c 'github.com/pquerna/ffjson/inception/decoder.go' 0 1698319061 0100664 # c 'github.com/pquerna/ffjson/inception/decoder_tpl.go' 0 1698319061 0100664 # c 'github.com/pquerna/ffjson/inception/encoder.go' 0 1698319061 0100664 @@ -5079,13 +5575,27 @@ Index: ./modules.txt # p 'github.com/prometheus/client_golang/prometheus/go_collector_latest.go' 17751 1698322867 0100664 # p 'github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go' 4867 1698322867 0100664 # p 'github.com/prometheus/client_golang/prometheus/registry.go' 31929 1698322867 0100664 +# p 'github.com/prometheus/client_golang/prometheus/testutil/promlint/promlint.go' 10339 1710172049 0100664 +# p 'github.com/prometheus/common/model/labels.go' 6074 1710172585 0100664 +# p 'github.com/prometheus/common/model/metric.go' 2873 1710172673 0100664 +# p 'github.com/prometheus/common/model/silence.go' 2836 1710172049 0100664 +# p 'github.com/prometheus/common/model/time.go' 8095 1710172365 0100664 +# p 'github.com/prometheus/procfs/cpuinfo.go' 12479 1710172049 0100664 +# p 'github.com/prometheus/procfs/mdstat.go' 8590 1710172049 0100664 +# p 'github.com/prometheus/procfs/proc_fdinfo.go' 3523 1710172049 0100664 +# p 'github.com/prometheus/procfs/proc_limits.go' 4890 1710172040 0100664 +# p 'github.com/prometheus/procfs/proc_smaps.go' 3931 1710172049 0100664 # p 'github.com/prometheus/procfs/proc_stat.go' 6165 1698322867 0100664 +# p 'github.com/prometheus/procfs/schedstat.go' 3083 1710172049 0100664 +# p 'github.com/prometheus/procfs/slab.go' 3584 1710172049 0100664 +# p 'github.com/prometheus/procfs/zoneinfo.go' 6375 1710172049 0100664 # p 'github.com/prometheus/prometheus/discovery/registry.go' 7921 1698322867 0100664 -# p 'github.com/prometheus/prometheus/promql/engine.go' 83665 1699360556 0100664 +# p 'github.com/prometheus/prometheus/promql/engine.go' 83665 1710149215 0100664 +# p 'github.com/prometheus/prometheus/promql/functions.go' 38686 1710172627 0100664 +# p 'github.com/prometheus/prometheus/promql/parser/parse.go' 22682 1710148883 0100664 # p 'github.com/prometheus/prometheus/storage/generic.go' 3707 1699363760 0100664 # p 'github.com/prometheus/prometheus/tsdb/chunks/chunks.go' 18283 1699364385 0100664 # p 'github.com/prometheus/prometheus/util/stats/query_stats.go' 8691 1698322867 0100664 -# p 'modules.txt' 10143 1698322867 0100664 # R 'github.com/prometheus/prometheus/util/teststorage' # R 'github.com/prometheus/prometheus/tsdb/wal' # R 'github.com/prometheus/prometheus/tsdb/tsdbutil' @@ -5100,6 +5610,6 @@ Index: ./modules.txt # C 'github.com/pquerna/ffjson/shared' 0 1698319061 040775 #### End of ApplyPatch data #### -#### End of Patch kit [created: Tue Nov 7 16:24:34 2023] #### -#### Patch checksum: 4970 151755 60065 #### -#### Checksum: 5104 159321 45077 #### +#### End of Patch kit [created: Mon Mar 11 19:35:07 2024] #### +#### Patch checksum: 5480 166486 19883 #### +#### Checksum: 5614 174052 4911 ####