The Metrics project provides tools for measuring the use of software in a distributed manner. These measurements are valuable because they can substantiate the case for continued sponsorship of work on open source software and because they can reveal usage patterns that can help prioritize work on the software.

Products

The Metrics project provides a set of tools for measuring the use of software products in a distributed manner.

  • We provide a usage-reporting code module (implemented in both C and Java) that is used by a number of Globus software products (including several in GT4) to report usage data to one or more listener services. The data to be transmitted and the recipient(s) of the data are configurable by the calling software.
  • We provide a listener service that can receive usage reports from running code and store the reports in a database for later summarization and analysis.
  • We provide a set of data summarization tools that produce summary reports from the usage data for Globus software components.

What Can You Do With The Metrics Code?

If you are a software developer, you can use the usage-reporting code module (available in C and Java) to instrument your code. You decide what information ought to be reported. Then, when someone uses your code, usage reports will be automatically generated and delivered via the network to a configured listener service. You can deploy your own listener service and receive reports on the use of your code. Or, you can include the listener service in your distributions and tell users how to monitor their own usage. You or your users can use the report generators to create aggregate reports on usage over time.

If you are a system deployer, you can deploy your own listener service and configure your Globus software to sent it usage reports. You can then use the report generators to create aggregate reports on usage over time, which you can use to understand how your users are using the Globus software on your systems.

A Few Exemplary Users

The following examples illustrate how the Metrics code is used by others.

  • The NSF CDIGS project (Community Driven Improvement of Globus Software) operates a listener service and pre-configures Globus software to send usage reports to it. The project monitors usage and uses the data to understand how Globus software is used (to help plan/prioritize improvements) and to justify continued funding support for Globus software development. The project provides a mailing lists (usage-stats@globus.org) to which anyone can subscribe to receive daily summaries of the usage reports received by the CDIGS project's listener service each day.
  • The TeraGrid project operates a listener service and configures its Globus deployments to send usage reports to its service in addition to the CDIGS service. It then uses its own report generators to provide a web interface for generating usage charts and graphs, which are used to understand how Globus software is being used on TeraGrid in order to plan/prioritize support, documentation, and add-on development work.
  • The Globus GridFTP development team has instrumented its GridFTP server code to send usage reports, and using the CDIGS project's listener service and usage database, they use the data to understand which features of GridFTP are being used, what kinds of failures are being encountered, and what typical usage patterns (scenarios) GridFTP servers are involved in.

Disclaimer

The Metrics project is an effort undergoing incubation at Globus. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful Globus projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by Globus.