Creating custom clients

perfSONAR Client Documentation

All documentation related to perfSONAR client constuction can be found on this web page:

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:

An API written in perl is also available:

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


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

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


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

find_ps_ma -n

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:

Instructions for using and running the script here:

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: