author | Marc Fournier <marc.fournier@camptocamp.com> | |
Tue, 24 Mar 2015 06:37:18 +0000 (07:37 +0100) | ||
committer | Marc Fournier <marc.fournier@camptocamp.com> | |
Tue, 24 Mar 2015 06:37:18 +0000 (07:37 +0100) |
Conflicts:
src/write_http.c
Also slipped in a couple of conding-style consistentcy related changes.
src/write_http.c
Also slipped in a couple of conding-style consistentcy related changes.
1 | 2 | |||
---|---|---|---|---|
src/collectd.conf.pod | patch | | diff1 | | diff2 | | blob | history |
src/write_http.c | patch | | diff1 | | diff2 | | blob | history |
diff --cc src/collectd.conf.pod
index bd7810748e1111b6a13456c0eb5e3ee0fb19b347,1a89be3dfc4e7d36d2e7681b270f5cac6419aacf..a0d6f892cc0cb6efe5b6fa677f306c5893cd5127
+++ b/src/collectd.conf.pod
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>
diff --cc src/write_http.c
index 8d3b85b366079e75232a5ff8dcfd9a586aa39c61,a48cdf33db1aeabdd1deae5c0b4a4225fe281f6c..0e1bc734a1d4341b64cfc59274c785d849422cec
--- 1/src/write_http.c
--- 2/src/write_http.c
+++ b/src/write_http.c
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)