@cryptotaxi247 / netdata-1 / commits / 453bc9d4a

Improve log message when deferred response is too big. (#21720)

Makes debugging a little bit easier by mentioning the enforced limit, the payload size, the plugin that will be stopped, and the specific transaction id. Found this by selecting all available facets over a big time range in the logs tab from the UI.

vkalintiris committed Feb 6, 2026 at 23:19 UTC 453bc9d4ad22bd7fcde41d754d6d7187957e193a
1 file changed +9 -1
src/plugins.d/pluginsd_parser.h
+9 -1
@@ -195,7 +195,15 @@ static inline int parser_action(PARSER *parser, char *input) {
195 if(buffer_strlen(parser->defer.response) > PLUGINSD_MAX_DEFERRED_SIZE) {
196 // more than PLUGINSD_MAX_DEFERRED_SIZE of data,
197 // or a bad plugin that did not send the end_keyword
198 - nd_log(NDLS_DAEMON, NDLP_ERR, "PLUGINSD: deferred response is too big (%zu bytes). Stopping this plugin.", buffer_strlen(parser->defer.response));
198 + nd_log(NDLS_DAEMON, NDLP_ERR,
199 + "PLUGINSD: deferred response is too big (%zu bytes, limit %zu bytes) "
200 + "while waiting for keyword '%s' from plugin '%s' (transaction '%s'). "
201 + "Stopping this plugin.",
202 + buffer_strlen(parser->defer.response),
203 + (size_t)PLUGINSD_MAX_DEFERRED_SIZE,
204 + parser->defer.end_keyword ? parser->defer.end_keyword : "unknown",
205 + parser->user.cd ? string2str(parser->user.cd->filename) : "unknown",
206 + parser->defer.action_data ? string2str((STRING *)parser->defer.action_data) : "none");
207 return 1;
208 }
209 }