Grid Community Toolkit  6.2.1629922860 (tag: v6.2.20210826)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
Netlogger Throughput Plugin

Netlogger Throughput Plugin. More...

Macros

#define GLOBUS_FTP_CLIENT_THROUGHPUT_NL_PLUGIN_MODULE   (&globus_i_ftp_client_throughput_nl_plugin_module)
 

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

Netlogger Throughput Plugin.

This plugin allows a user to easily use the throughput plugin to log performance data vi Netlogger.

The plugin will log the following Event Types with its coressponding info

TransferPerfTotal : This event type will be sent every time a throughput plugin total callback is received.

TransferPerfStripe : This event type will be sent every time a throughput plugin stripe callback is received.

TransferBegin : This event type will be sent every time a throughput plugin begin callback is received.

TransferEnd : This event type will be sent every time a throughput plugin complete callback is received.

Macro Definition Documentation

#define GLOBUS_FTP_CLIENT_THROUGHPUT_NL_PLUGIN_MODULE   (&globus_i_ftp_client_throughput_nl_plugin_module)

Module descriptor

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

Parameters
pluginplugin 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. 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.

Parameters
plugina plugin to be initialized
nl_urlthe url to log to (May be NULL) Valid urls are: file://tmp/netlog.log x-netlog://host[:port] x-syslog://localhost
prog_nameThis is used as the prog name in the NetLoggerOpen call
opaque_stringthis 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 NetLogger open
  • 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.

Parameters
plugina plugin to be initialized
nl_handlea previously opened NetLogger handle
opaque_stringthis 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 NetLogger open
  • 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. Note that the callbacks are defined the same as in the throughput plugin

Parameters
plugin
begin_cbthe callback to be called upon the start of a transfer
per_stripe_cbthe callback to be called every time updated throughput info is available for a given stripe
total_cbthe callback to be called every time updated throughput info is available for any stripe
complete_cbthe callback to be called to indicate transfer completion
user_specifica 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