Contents
The Test and Performance Tools Platform (TPTP) provides a data collection framework that allows client applications to obtain data from data-collection applications on various platforms without knowing the details of how to locate and launch the applications doing the collection. Any application that provides a service, such as data collection, can become an agent in this framework. The data collection framework defines the architecture for agents and clients, and provides the basic building blocks to create and consume services. A framework is a reusable design expressed as a set of abstract classes and the way their instances collaborate. The data collection framework consists of a set of abstract and concrete classes.
The three major components that interact in the TPTP data collection framework are as follows:
The framework includes a client API and an agent API, each available in Java or C++. Client and agents communicate using data and control channels that are managed by the Agent Controller. Because of this interface, both the client and the agent component are independent of the operating environment or underlying source language used by the other component.
A client makes requests of an agent using a set of commands defined by the agent. Requests go through the control channel as XML-formatted fragments. Agents send simple responses through the control channel and anything else through a data channel. Information sent through a data channel can be in any format. A DIME-formatted header is attached to each block sent through the channel so a single physical channel can be used for multiple purposes.
The client API is an interface to services of the Agent Controller such as discovering what agents are available, getting a handle to an agent, establishing a data channel with an agent, getting asynchronous events from an agent, and launching applications.
An application becomes an agent in this framework when it contacts the Agent Controller (through a known channel) to register itself. This establishes a communication channel through which the Agent Controller can forward commands to the agent. The agent is then expected to listen for incoming requests for its services on that channel and respond to them.
The user documentation is installed in the Eclipse Help system. Refer to the Eclipse workbench Help Contents section labeled "Working with the New Technology Agent Controller" for an overview of Agent Controller operation and the tasks associated with administering the Agent Controller.
The SDK package includes all of the executables from the runtime package plus the header files and libraries needed to build new clients and agents (in either C++ or Java) that will work within this framework. Documentation for the API’s is found in the /Doc directory beneath <install-home>.
Note
When referring to file and directory locations in this document, <install-home> is the directory where the SDK package for this Agent Controller package was unzipped.
The Java* API specification is located in <install-home>/Doc/Java API/TPTPExecutionPlugin.zip or on the web here. Start by navigating through the sample client and agents applications and use cases. These include a plugin called perfmon that was migrated to use the new Java data collection framework.
To begin development of a Java application using the new data collection framework you will need the Eclipse plugin org.eclipse.tptp.platform.execution. This plugin is included in the Eclipse feature plugin available from the TPTP Latest Downloads site under the New Technology Agent Controller section. Use the Java API documentation to guide your use of the execution plugin depending on whether you are doing client development or agent development. A readme document is contained in the perfmon sample with instructions on how to use it.
The documentation for the development of clients and agent using C++ is located in <install-home>/Doc/C++ API/TPTPData Collection Subsystem External Spec.html or on the web here. The quickest way to understand the basics is to look at the samples contained in <install-home>/samples. Each subdirectory contains either client or agent sample code. Start by examining SampleClient and its agent TimeCollector. Refer to <install-home>/bin/readme.txt for detailed instructions on how to build the samples on Windows and Linux platforms. The PerfmonAgent sample is an example of a data collection application that was modified to work within this framework.
* Other brands and names are the property of
their respective owners.
Copyright (C) 2006, Intel Corporation.