Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] July CDT Conference Call

On Mon, Jul 05, 2004 at 08:56:12PM -0400, Kleanthis Hapitas wrote:
> The next CDT conference call is coming up on July 7, (first Wednesday of the
> month).
> 
> [...]
> 
> Agenda:
> [...]
> 
> - rpm plugins

Our proposed donation also includes a profiling plugin for C/C++
applications.

I'd like to continue the discussion tomorrow about donating these
plugins and how they fit into the overall goals of the CDT.

Just so everyone has a good idea of what these plugins are about, I
have included some snippets from one of our whitepapers below.

Talk to you all tomorrow!

Jeremy

RPM Plugin
---------------

Red Hat has developed a new Eclipse plugin for Red Hat Developer Suite
that enables developers to easily manage Linux RPM formatted software
packages.  The purpose of the RPM plugin is to allow developers to
easily import source rpm's and re-export them as source and/or binary
RPM's and to allow developers to export existing Eclipse C/C++ projects
to binary/source RPM format.

For those developers unfamiliar with the RPM package format, the process
of creating the files necessary to generate a properly formatted “.rpm”
file that can be successfully installed on a Linux system can be
challenging.  Red Hat's RPM  plugin is designed to provide the developer
with an automated method of creating  RPM packages from simple C/C++
projects that are ready to install on any Linux system and to allow
developers to import previously-created source RPM's, modify them and
re-export them in both binary and source format with minimal effort.

Features of the RPM plugin include:

Ability to import source RPM's, modify them then re-export them as
source or binary RPM's.  The RPM plugin will modify the previous spec
file in the following ways with  information supplied by the developer
via the GUI:
- update version and/or release numbers
- add Patch/%patch statements in the appropriate places
- add “%changelog” comments formatted correctly Ability to export
  C/C++ projects to binary/source RPM format that have not
  previously existed in RPM format.  The developer has the
  following options:
- allow the RPM plugin to create a “bare bones” spec file
- allow the developer to provide a spec file 

Profiling Plugin
---------------

Red Hat has developed a set of Eclipse plugins for Red Hat Developer
Suite that provide the developer with tools for performance profiling
utilizing the open source OProfile project, integrating control,
configuration, and analysis into the Eclipse workbench. 

OProfile is a powerful, low-overhead system profiler that leverages
processor hardware performance counters to enable system-wide profiling
of a wide variety of events, including the number of clock cycles that
the processor is halted, the number of instruction fetch misses, the
number of L2 data loads or stores, and much more. Capable of profiling
any application or shared library without recompilation, it runs on a
variety of hardware platforms.

Red Hat's profiling plugins for Eclipse consist of two main functional
areas: configuration and launch of the OProfile daemon, and analysis of
the collected data. These tasks are accomplished within the Eclipse
workbench via common Eclipse workflows.  Experienced Eclipse users
should have little trouble using the OProfile plugins.

The Eclipse launch manager controls the “launching” of Java applets and
applications,  C and C++ applications, and JUnit tests. With the
OProfile plug-ins installed, it also controls the configuration and
launch of OProfile. Developers can specify a wide range of options to
control the behavior of OProfile, such as whether to profile the kernel
or the OProfile daemon and what event to collect in each of the counters
available on the system. Click on the Run button, and OProfile will
start collecting the requested data.

When data collection is complete (or even while it is still running),
data analysis can begin. Developers use the Profiling perspective and
its views to navigate and view the collected data. Instead of browsing
projects in the Project Navigator, developers browse OProfile sessions
(collections of “samples”) in the System Profiling View. Instead of
browsing source files, developers browse applications and shared
libraries for which OProfile has collected data. The System Profiling
View is tightly integrated with the Sample View.  Selecting an item in
the System Profiling View will cause the Sample View to display
collection statistics for that item.

Select the whole session, and the Sample View displays overall system
collection statistics: the applications and shared libraries in which
the system collected the most samples. Select an application or shared
library, and the Sample View displays in which functions in the
application or shared library the most samples were collected. Select a
function, and the View displays which source lines had the most samples.
The developer can then display the exact location in the source file
where the sample was collected.


Back to the top