|Embedded multi-thread and multi-processor C profiling [message #127922]
||Fri, 04 April 2008 11:46
| Anthony Berent
Registered: July 2009
I am just starting work on a project where we will want to provide profiling |
for a range of hetrogenous multiprocessor embedded system (programmed in C),
and trying to work out whether TPTP profiling can help with this. I have a
couple of initial questions:
1. I have seen a couple of references in this news group to the trace format
being extendable to C profiling; but I can't find a C profiler in Eclipse.
Has anybody done anything to create a C profiler using TPTP? If not, is
anybody planning to do so?
2. If there is no current C profiler, has anybody thought in detail about
how the trace format should be extended to support C profiling?
2. What assumptions does the thread profiling make about the target's
threading model? How easy would it be to add a new threading model?
|Re: Embedded multi-thread and multi-processor C profiling [message #128459 is a reply to message #128186]
||Mon, 14 April 2008 15:41
Originally posted by: kate.kneebone.arm.com|
Asaf Yaffe wrote:
>> 2. What assumptions does the thread profiling make about the target's
>> threading model? How easy would it be to add a new threading model?
> Can you clarify the question? What do you mean by "threading model"? Can
> you give an example?
Anthony's asked me to have a go at clarifying our question (I asked it
of him in the first place).
What we'd like to do is build tools to profile applications which aren't
written in Java (they're written in C in this case) running on top of a
custom threading library, and would very much like to avoid reinventing
too many wheels. TPTP seems like a good place for us to build on top
of, but we're not sure at what level to start building.
Apologies if this is a well documented process, I'm still wading through
lots of documentation. Pointers as to which M to RTFM would be as
useful as direct answers!
|Re: Embedded multi-thread and multi-processor C profiling [message #128698 is a reply to message #128459]
||Mon, 21 April 2008 07:45
| Asaf Yaffe
Registered: July 2009
Thanks for the clarifications.
> What we'd like to do is build tools to profile applications which aren't
> written in Java (they're written in C in this case) running on top of a
> custom threading library, and would very much like to avoid reinventing
> too many wheels. TPTP seems like a good place for us to build on top
> of, but we're not sure at what level to start building.
> Apologies if this is a well documented process, I'm still wading through
> lots of documentation. Pointers as to which M to RTFM would be as
> useful as direct answers!
The TPTP documentation for "adopters" (i.e. developers building software
using the TPTP framework) is indeed vague on not well organized. The
TPTP web site contains some high-level documents that describe the
architecture (see here:
Currently, TPTP provides profilers (or data collectors) only for Java.
Therefore, it seems that what you need is to develop your own "thread
data collector" for C/C++. Such collectors communicate with the rest of
the TPTP framework through the Agent Controller. You should probably
concentrate your effort on learning how to write a TPTP data collector
agent with the Agent Controller SDK (can be downloaded from the TPTP web
I would also suggest to take a closer look at the existing Java Thread
org.eclipse.tptp.platform.jvmti.runtime\src-native\src\Threa dProf) to
learn what types of events are collected and how they are sent to the
Agent Controller (in src-native\src\jpiagent). You may find that much of
the functionality in JPIAgent for formatting the XML data stream can be
Also, there is a detailed design document for the Thread Profiler here:
Hope this helps. If you have any specific questions, let us know.
Eclipse TPTP Committer, JVMTI Profiler
Powered by FUDForum
. Page generated in 0.02387 seconds