globus_ftp..._nl_plugin(3)
π NAME π
globus_ftp_client_throughput_nl_plugin β the Netlogger Throughput Plugin, bestie. That's it, that's the whole name. It's from the Library Functions Manual (globus_ftp..._nl_plugin(3), iykyk).
β¨ SYNOPSIS β¨
π Macros π
GLOBUS_FTP_CLIENT_THROUGHPUT_NL_PLUGIN_MODULEβ expands to(&globus_i_ftp_client_throughput_nl_plugin_module), no cap
π¦ Functions π¦
globus_result_t globus_ftp_client_throughput_nl_plugin_init
(globus_ftp_client_plugin_t *plugin, const char *nl_url,
const char *prog_name, const char *opaque_string)
globus_result_t globus_ftp_client_throughput_nl_plugin_init_with_handle
(globus_ftp_client_plugin_t *plugin, NLhandle *nl_handle,
const char *opaque_string)
globus_result_t globus_ftp_client_throughput_nl_plugin_destroy
(globus_ftp_client_plugin_t *plugin)
globus_result_t globus_ftp_client_throughput_nl_plugin_set_callbacks
(globus_ftp_client_plugin_t *plugin,
globus_ftp_client_throughput_plugin_begin_cb_t begin_cb,
globus_ftp_client_throughput_plugin_stripe_cb_t per_stripe_cb,
globus_ftp_client_throughput_plugin_total_cb_t total_cb,
globus_ftp_client_throughput_plugin_complete_cb_t complete_cb,
void *user_specific)
πΈ Detailed Description πΈ
okay so. Netlogger Throughput Plugin. Literally the whole vibe.
This plugin lets you, the user, easily use the throughput plugin to log performance data via Netlogger. Bestie, it's giving effortless observability.
The plugin will log the following Event Types with its corresponding info:
TransferPerfTotal : this event type will be sent every time a throughput plugin total callback is received.
URL.SOURCE<string> β source url of transferURL.DEST<string> β dest url of transferBYTES<int> β total bytes transferred thus farBW.CURRENT<float> β current (instantaneous) bandwidthBW.AVG<float> β average (instantaneous) bandwidth
TransferPerfStripe : this event type will be sent every time a throughput plugin stripe callback is received.
URL.SOURCE<string> β source url of transferURL.DEST<string> β dest url of transferINDEX<int> β the stripe index the event applies toBYTES<int> β total bytes transferred thus far on this stripeBW.CURRENT<float> β current (instantaneous) bandwidth on this stripeBW.AVG<float> β average (instantaneous) bandwidth on this stripe
TransferBegin : this event type will be sent every time a throughput plugin begin callback is received.
URL.SOURCE<string> β source url of transferURL.DEST<string> β dest url of transfer
TransferEnd : this event type will be sent every time a throughput plugin complete callback is received.
SUCCESS<bool> β completion status
π Macro Definition Documentation π
#define GLOBUS_FTP_CLIENT_THROUGHPUT_NL_PLUGIN_MODULE
(&globus_i_ftp_client_throughput_nl_plugin_module)
Module descriptor. slay, that's all she does.
π Function Documentation π
globus_result_t globus_ftp_client_throughput_nl_plugin_destroy
(globus_ftp_client_plugin_t *plugin)
Destroy netlogger wrapped throughput plugin. Frees up memory associated with plugin. goodbye queen π
Parameters
- plugin β plugin previously initialized with
init(above)
Returns
GLOBUS_SUCCESS- Error on NULL plugin
globus_result_t globus_ftp_client_throughput_nl_plugin_init
(globus_ftp_client_plugin_t *plugin, const char *nl_url,
const char *prog_name, const char *opaque_string)
Initialize netlogger wrapped throughput plugin.
This will initialize a netlogger wrapped throughput plugin. Heads up bestie, note that the nl_url may be NULL. Regardless of what nl_host is set to, if the env variable NL_DEST_ENV is set, logging will always occur to that location. Periodt, no negotiating.
Parameters
- plugin β a plugin to be initialized
- nl_url β the url to log to (may be
NULL). Valid urls are:file://tmp/netlog.logx-netlog://host[:port]x-syslog://localhost
- prog_name β this is used as the prog name in the
NetLoggerOpencall - opaque_string β this is an opaque string that will be inserted into all logged statements. (may be
NULL)
Returns
- Error on NULL plugin or failure to init throughput plugin
- Error on
NetLoggeropen GLOBUS_SUCCESS
globus_result_t globus_ftp_client_throughput_nl_plugin_init_with_handle
(globus_ftp_client_plugin_t *plugin, NLhandle *nl_handle,
const char *opaque_string)
Initialize netlogger wrapped throughput plugin.
This will initialize a netlogger wrapped throughput plugin. Instead of passing a NetLogger url as in the plain init func, you can pass in a previously 'Open'ed NLhandle. This handle will not be destroyed by this plugin. Not me pointing that out twice, it's important.
Parameters
- plugin β a plugin to be initialized
- nl_handle β a previously opened NetLogger handle
- opaque_string β this is an opaque string that will be inserted into all logged statements. (may be
NULL)
Returns
- Error on NULL plugin or failure to init throughput plugin
- Error on
NetLoggeropen GLOBUS_SUCCESS
globus_result_t globus_ftp_client_throughput_nl_plugin_set_callbacks
(globus_ftp_client_plugin_t *plugin,
globus_ftp_client_throughput_plugin_begin_cb_t begin_cb,
globus_ftp_client_throughput_plugin_stripe_cb_t per_stripe_cb,
globus_ftp_client_throughput_plugin_total_cb_t total_cb,
globus_ftp_client_throughput_plugin_complete_cb_t complete_cb,
void *user_specific)
Receive throughput callbacks.
You can still get the automatic netlogging of throughput along with receiving the same throughput callbacks that the throughput plugin provides by using this function to set these callbacks. Bestie, you get both β main character energy π«Ά. Note that the callbacks are defined the same as in the throughput plugin.
Parameters
- plugin
- begin_cb β the callback to be called upon the start of a transfer
- per_stripe_cb β the callback to be called every time updated throughput info is available for a given stripe
- total_cb β the callback to be called every time updated throughput info is available for any stripe
- complete_cb β the callback to be called to indicate transfer completion
- user_specific β a pointer to some user specific data that will be provided to all callbacks
Returns
- Error on NULL or invalid plugin
GLOBUS_SUCCESS
See also
- Throughput Performance Plugin
π Author π
Generated automatically by Doxygen for globus_ftp_client from the source code. (the robots did it, not me π)
okay bestie that's the whole page, we ate and left no crumbs β¨ globus_ftp_client, Version 9.9, and this little masterpiece is globus_ftp..._nl_plugin(3) β bye bye, go log some throughput π¦π
π¦ where this page comes from
- epel 10: globus-ftp-client-doc 9.9-1.el10_2 Β· Apache-2.0
- fedora 43: globus-ftp-client-doc 9.9-1.fc43 Β· Apache-2.0
- fedora 44: globus-ftp-client-doc 9.9-2.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-ftp-client-doc 9.9-1 Β· Apache-2.0
- ubuntu stonking: libglobus-ftp-client-doc 9.9-2build1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms