Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Extending Eclipse monitoring, profiling, and testing functions
Previous Page Home Next Page

Extending Eclipse monitoring, profiling, and testing functions
Previous Page Home Next Page

TPTP Data Collection Framework



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:

  • Client  —  An application, such as the Eclipse* workbench, which interacts with a user to determine what information is desired and how to display that information.
  • Agent  —   An application that generates data or performs a service of interest to a client.
  • Agent Controller  —   The process that provides a set of services to help clients and agents work together without knowing details about each other. 

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 Agent Controller" for an overview of Agent Controller operation and the tasks associated with administering the Agent Controller.

The SDK package includes the header files, libraries, and Samples 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 locations specified in the " Developing Java* Clients and Agents" or " Developing Native Clients and Agents using C++" sections that follow.

Developing Java* Clients and Agents

The Java* API specification can be found on the web at  Start by navigating through the sample client and agents applications and use cases.

To begin development of a Java application using the data collection framework you will need the Eclipse plugin org.eclipse.tptp.platform.execution .  Use the Java API documentation to guide your use of the execution plugin depending on whether you are doing client development or agent development. 

Developing Native Clients and Agents using C++

The document for the development of clients and agent using C++ is the TPTP Data Collection Subsystem External Specification. 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.

* Other brands and names are the property of their respective owners.

Copyright (C) 2006, Intel Corporation.

  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire