exceed the size of an C<int>, i.e. 2E<nbsp>GByte.
Defaults to C<4096>.
-If set to B<true>, average transfer speed in bytes per second will be checked.
-In case it is below B<LowLimitBytesPerSec> connection will be considered slow
+ =item B<LowSpeedLimit> B<true|false>
+
-Sets bytes per second value for B<LowSpeedLimit> to make a decission if
++If set to B<true>, average transfer speed in bytes per second will be checked.
++In case it is below B<LowLimitBytesPerSec> connection will be considered slow
+ and aborted.
+
+ =item B<LowLimitBytesPerSec> I<Bytes>
+
++Sets bytes per second value for B<LowSpeedLimit> to make a decission if
+ connection is too slow. Default value is C<100>.
+
+ =item B<PostTimeoutSec> I<Seconds>
+
+ If defined, provided positive integer value will be used to set maximum time
+ in seconds that you allow for transfer(http post) operation to take.
+
=back
=head2 Plugin C<write_kafka>
char *clientcert;
char *clientkeypass;
long sslversion;
- _Bool store_rates;
+ _Bool store_rates;
+ _Bool abort_on_slow;
+ int low_limit_bytes;
+ time_t interval;
+ int post_timeout;
#define WH_FORMAT_COMMAND 0
#define WH_FORMAT_JSON 1
return (-1);
}
- if(cb->abort_on_slow && cb->interval > 0)
++ if (cb->abort_on_slow && cb->interval > 0)
+ {
- curl_easy_setopt(cb->curl, CURLOPT_LOW_SPEED_LIMIT, (cb->low_limit_bytes?cb->low_limit_bytes:WH_DEFAULT_LOW_LIMIT_BYTES_PER_SEC));
- curl_easy_setopt(cb->curl, CURLOPT_LOW_SPEED_TIME, cb->interval);
- }
- if(cb->post_timeout >0)
- {
- curl_easy_setopt(cb->curl, CURLOPT_TIMEOUT, cb->post_timeout);
++ curl_easy_setopt (cb->curl, CURLOPT_LOW_SPEED_LIMIT,
++ (cb->low_limit_bytes ? cb->low_limit_bytes : WH_DEFAULT_LOW_LIMIT_BYTES_PER_SEC));
++ curl_easy_setopt (cb->curl, CURLOPT_LOW_SPEED_TIME, cb->interval);
+ }
+
++ if (cb->post_timeout > 0)
++ curl_easy_setopt (cb->curl, CURLOPT_TIMEOUT, cb->post_timeout);
++
curl_easy_setopt (cb->curl, CURLOPT_NOSIGNAL, 1L);
curl_easy_setopt (cb->curl, CURLOPT_USERAGENT, COLLECTD_USERAGENT);
}
}
- if(cb->abort_on_slow)
- {
- cb->interval = CDTIME_T_TO_TIME_T(plugin_get_interval());
- }
- if(cb->post_timeout == 0)
+ if (cb->location == NULL)
{
- //setting default timeout to plugin interval.
- cb->post_timeout = CDTIME_T_TO_TIME_T(plugin_get_interval());
+ ERROR ("write_http plugin: no URL defined for instance '%s'",
+ cb->name);
+ wh_callback_free (cb);
+ return (-1);
}
++ if (cb->abort_on_slow)
++ cb->interval = CDTIME_T_TO_TIME_T(plugin_get_interval());
++
++ if (cb->post_timeout == 0)
++ //setting default timeout to plugin interval.
++ cb->post_timeout = CDTIME_T_TO_TIME_T(plugin_get_interval());
++
/* Determine send_buffer_size. */
cb->send_buffer_size = WRITE_HTTP_DEFAULT_BUFFER_SIZE;
if (buffer_size >= 1024)