Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - new Application Profiler 2 and -lprofilingS: (7 Items)
   
new Application Profiler 2 and -lprofilingS  
Hi,
I am trying to use the new Application Porfiler perspective 2 that is based on the -finstrument-functions technique.
So I just started to look for a tutorial, but they only exist for the classic one.
So I went further setting up a test project with the "Build with instrumented ..."
Trying this ld is complaining about the missing 'profilingS' library.
Where do I find this lib?
I tried to compile with my standard 6.3.2 version.
 
TIA
hp
RE: new Application Profiler 2 and -lprofilingS  
There is instruction on how to set it up here:
http://community.qnx.com/sf/wiki/do/viewPage/projects.ide/wiki/IDE4.5Applica
tionProfilerTrial

basically you have to download additional binary library for host,
currently static library available for x86 only.


Re: RE: new Application Profiler 2 and -lprofilingS  
OK - thanks for the hint.
The link you mention is working, but you can't reach it through the wiki start site http://community.qnx.com/sf/wiki/do/
viewPage/projects.ide/wiki/HomePage
So maybe you could add it there.
Besides the described variable QPROF_FILE the lib shows two more env variables:
QPROF_ON 
QPROF_KERNEL_TRACE
can you give a short explanation how these could be used?
Further more ....
I see that the ptrace file format is ASCII, this needs a lot of space.
Why not use a binary file format, this would take at most half the space?


RE: RE: new Application Profiler 2 and -lprofilingS  
Thanks, I will add this link to App Profiler page.
If you using IDE it will set all these env vars automatically.
QPROF_ON - it is on by default if you set it to 0 it will be off
QPROF_KERNEL_TRACE=1 - profiling will generate kernel trace events instead
of creating data dump.
If you using kernel logging from IDE at the same time (you can enable it
from launch configuration)
it will record all these events in .kev file (used by System Profiler). You
can open this file in system profiler and see function enter/exit events,
and you can import it in App Profiler same as trace file.

About text file - you are right it is just ASCII for now, but it is work in
progress, we are looking at some ways to minimize it now, including using
target side aggregation, also some approaches like archiving it can give
much size reduction then using binary format...



Re: RE: RE: new Application Profiler 2 and -lprofilingS  
GREAT
Re: RE: new Application Profiler 2 and -lprofilingS  
Dear Elena,

I can see in the IDE4.5ApplicationProfilerTrial Wiki page, about application profiling, the following sentence: "It 
better works for one thread, because with many threads overhead of such measurement can change application behavior.".

Is it the same for instrumented system profiling ?

The overhead exist:
- at any time ?
- only when Tau is connected to the running process ?
- or only when profiling ? (it means Tau is connected to the running process, but the new "start/stop" profiler feature 
is off)

Thanks.
Re: new Application Profiler 2 and -lprofilingS  
When using Sampling without any instrumentation overhead is neglectable.

When using Call Count instrumentation it is bigger. When profiling is 
"stopped" it still collects data but does not send over the wire (but 
collected data includes only count of functions calls, not timestamps).

When using Function Instrumentation every function has overhead on enter 
and on exit, additionally when buffer is full the longest operation is 
to dump butter to a file. This time (overhead) however is extracted from 
final results. For multithreaded environment function instrumentation 
won't work very well because it does not measure thread time, it measure 
total time. So if two functions are run in parallel (pseudo parallel on 
one processor) and finish at the same time, deep time would show them 
taking same amount of physical time, even they took 2 times shorter. So 
if you application has concurring threads you should ether use sampling 
or system wide profiling.

Richard Virlouvet wrote:
>
> Dear Elena,
>
> I can see in the IDE4.5ApplicationProfilerTrial Wiki page, about 
> application profiling, the following sentence: "It better works for 
> one thread, because with many threads overhead of such measurement can 
> change application behavior.".
>
> Is it the same for instrumented system profiling ?
>
> The overhead exist:
> - at any time ?
> - only when Tau is connected to the running process ?
> - or only when profiling ? (it means Tau is connected to the running 
> process, but the new "start/stop" profiler feature is off)
>
> Thanks.
>
>
> _______________________________________________
> General
> http://community.qnx.com/sf/go/post7033
>