You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by "starsz (via GitHub)" <gi...@apache.org> on 2024/04/09 06:46:05 UTC
Re: [PR] fix(prometheus): disable features when prometheus plugin is turned off [apisix]
starsz commented on code in PR #11117:
URL: https://github.com/apache/apisix/pull/11117#discussion_r1557021070
##########
t/plugin/prometheus4.t:
##########
@@ -277,3 +277,140 @@ apisix_http_latency_bucket\{type="upstream",route="1",service="",consumer="",nod
apisix_http_latency_bucket\{type="upstream",route="1",service="",consumer="",node="127.0.0.1",le="105"\} \d+
apisix_http_latency_bucket\{type="upstream",route="1",service="",consumer="",node="127.0.0.1",le="205"\} \d+
apisix_http_latency_bucket\{type="upstream",route="1",service="",consumer="",node="127.0.0.1",le="505"\} \d+/
+
+
+
+=== TEST 10: set sys plugins
+--- config
+ location /t {
+ content_by_lua_block {
+ local t = require("lib.test_admin").test
+ local code, body = t('/apisix/admin/routes/9',
+ ngx.HTTP_PUT,
+ [[{
+ "methods": ["GET"],
+ "plugins": {
+ "prometheus": {},
+ "syslog": {
+ "host": "127.0.0.1",
+ "include_req_body": false,
+ "max_retry_times": 1,
+ "tls": false,
+ "retry_interval": 1,
+ "batch_max_size": 1000,
+ "buffer_duration": 60,
+ "port": 1000,
+ "name": "sys-logger",
+ "flush_limit": 4096,
+ "sock_type": "tcp",
+ "timeout": 3,
+ "drop_limit": 1048576,
+ "pool_size": 5
+ }
+ },
+ "upstream": {
+ "nodes": {
+ "127.0.0.1:1980": 1
+ },
+ "type": "roundrobin"
+ },
+ "uri": "/batch-process-metrics"
+ }]]
+ )
+ if code >= 300 then
+ ngx.status = code
+ end
+ ngx.say(body)
+ }
+ }
+--- request
+GET /t
+--- response_body
+passed
+--- no_error_log
+[error]
+
+
+
+=== TEST 11: remove prometheus -> reload -> send batch request -> add prometheus for next tests
+--- config
+ location /t {
+ content_by_lua_block {
+ local http = require "resty.http"
+ local httpc = http.new()
+
+ local t = require("lib.test_admin").test
+ ngx.sleep(0.1)
+ local data = [[
+deployment:
+ role: traditional
+ role_traditional:
+ config_provider: etcd
+ admin:
+ admin_key: null
+apisix:
+ node_listen: 1984
+plugins:
+ - example-plugin
+plugin_attr:
+ example-plugin:
+ val: 1
+ ]]
+ require("lib.test_admin").set_config_yaml(data)
+ local code, _, org_body = t('/v1/plugins/reload', ngx.HTTP_PUT)
+ local code, body = t('/batch-process-metrics',
+ ngx.HTTP_GET
+ )
+
+ ngx.status = code
Review Comment:
I know. The 404 is from upstream(1980) not from apisix.
Since we don't have any handler of `batch-process-metrics` in [lib/server.lua](https://github.com/apache/apisix/blob/master/t/lib/server.lua)
##########
apisix/plugin.lua:
##########
@@ -344,6 +346,15 @@ function _M.load(config)
if not ok then
core.log.error("failed to load plugins: ", err)
end
+
+ local enabled = core.table.array_find(http_plugin_names, "prometheus") ~= nil
+ local active = exporter.get_prometheus() ~= nil
Review Comment:
And so do line355 ~ line357
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org