perfSONAR

Creating custom clients

perfSONAR Client Documentation

All documentation related to perfSONAR client constuction can be found on this web page: http://docs.perfsonar.net/client_apis.html

Creating Basic Clients

The perfSONAR Measurement Archive services, beginning with version 3.4, use a RESTful API.  This external website from the esmond project can be used to visit resources that describe this API, and strategies for creating client applications:

http://software.es.net/esmond/perfsonar_client_rest.html

An API written in perl is also available:

http://software.es.net/esmond/perfsonar_client_perl.html

sLS Clients

The sLS client is written in Python, and supports a few queries to the sLS (not registration or renewals).  The sLS client also comes with two wrapper functions:

  • find_ps_ma - a command line script that returns a list of MAs that have test results for given host. 
  • sls_dig -  a script that is similar to "dig" tool. It retrieves information about a host registered in the sLS. 

It can be installed via easy_install

easy_install sls-client

(URL: https://pypi.python.org/simple/sls-client/)

The sls_dig and find_ps_ma scripts are located in /usr/bin/.

To run sls_dig just, run sls_dig <host-name>

sls_dig nettest.lbl.gov

To run find_ps_ma, run find_ps_ma -n <host-name>

find_ps_ma -n nettest.lbl.gov

The sls_dig is especially useful if you debugging some problem and want to do a quick lookup on a host registered in the lookup-service. 

Working with GridFTP Data

perfSONAR provides some mechanisms for uploading GridFTP logs into a perfSONAR measurement archive.  The code is here:

https://github.com/esnet/esmond/blob/develop/esmond_client/clients/esmond-ps-load-gridftp

Instructions for using and running the script here:

http://software.es.net/esmond/perfsonar_gridftp.html

Other Clients

In order to make it easier for network researchers to get access to perfSONAR results from esmond (perfSONAR backend database), the following python clients are available:

  •   esmond-ps-get-metadata
  •   esmond-ps-get-endpoints
  •   esmond-ps-get
  •   esmond-ps-get-bulk

To install:

sudo easy_install esmond-client

Note: these tools requires your default python to be python2.7 or higher.  More details and some sample commands are here:

https://pypi.python.org/pypi/esmond_client/1.3