Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - continuing problems with user events "data" in profiler: (7 Items)
   
continuing problems with user events "data" in profiler  
I log a string and a data (_NTO_TRACE_INSERTUSRSTREVENT and _NTO_TRACE_INSERTSUSEREVENT) pair.  (Yes, I know it is non-
atomic and _NTO_TRACE_INSERTCUSEREVENT would be so much better.)

Many of my events are not printing correctly in the IDE.  The data in the kev looks good.

IDE version 4.7. 201010182036 (which I think is really 4.8)


Attachment: Image missing_events.JPG 136.4 KB
Re: continuing problems with user events "data" in profiler  
That log (which terminated my post), is for exactly this from traceprint.

NOTE that the traceprint (ie., the kev) sees exactly the string/data pairs I sent.
NOTE that the ide jpg shows the "data" half as "strings" for event Id 21 even though eventId 7 and 20 *which are making 
the same call* are correctly "data".

NOTE: the profiler has had this problem since 4.0.1.  

Please help.

t:0x9a8c6d65 CPU:00 KER_EXIT:MSG_SENDV/11 status:84 rmsg:"" (0x00000000)
t:0x9a8c6f2d CPU:00 USREVENT:EVENT:7 STR:"IpcMsgSender"
t:0x9a8c7005 CPU:00 USREVENT:EVENT:7, d0:0x00003ba5 d1:0x0000018c
t:0x9a8c741e CPU:00 KER_CALL:SYNC_SEM_WAIT/85 sync_p:0x510668 count:0
t:0x9a8c74dd CPU:00 THREAD  :THSEM         pid:45080 tid:10
t:0x9a8c7573 CPU:00 THREAD  :THRUNNING     pid:45080 tid:19
t:0x9a8c7731 CPU:00 KER_EXIT:SYNC_CONDVAR_WAIT/82 ret_val:0 empty:0x00000000
t:0x9a8c7b6c CPU:00 USREVENT:EVENT:21 STR:"llcs Timer Regular"
t:0x9a8c7c73 CPU:00 USREVENT:EVENT:21, d0:0x00000000 d1:0x00000000
t:0x9a8c9605 CPU:00 USREVENT:EVENT:21 STR:"anet_q dequeue"
t:0x9a8c9763 CPU:00 USREVENT:EVENT:21, d0:0x00000031 d1:0x00000000
t:0x9a8c9bf3 CPU:00 USREVENT:EVENT:20 STR:"AOS ReceiveMsg"
t:0x9a8c9cdd CPU:00 USREVENT:EVENT:20, d0:0x00000002 d1:0x00000001
t:0x9a8c9e59 CPU:00 INT_ENTR:0x0000001a (26)       IP:0x0040b458
t:0x9a8c9ef2 CPU:00 INT_HANDLER_ENTR:0x0000001a (26)       PID:1 IP:0xfe042f74 AREA:0x00000000
t:0x9a8ca119 CPU:00 INT_HANDLER_EXIT:0x0000001a (26) SIGEVENT:INTR EVENT
t:0x9a8ca1b5 CPU:00 INT_EXIT:0x0000001a (26) inkernel:0x00000001
t:0x9a8ca43b CPU:00 USREVENT:EVENT:20 STR:"AOS eventqueue"
t:0x9a8ca532 CPU:00 USREVENT:EVENT:20, d0:0x00000002 d1:0x00000001
Re: continuing problems with user events "data" in profiler  
Note in the log that the "problem" data has a 0x31 in d0 (d0:0x00000031).

Could it be possible that data is being overridden by string if isdigit(data0[0])?

Say it ain't so.

dave
Re: continuing problems with user events "data" in profiler  
For user events, your best bet is to define a user event format file. This
will ensure that your user events are always output in the correct format.
Because there is no exact way to determine the format of the data from the
trace itself, the data is analyzed and best guess is made based on the
contents of the data.

Also, you should stick to a single format per event type (I see that you are
using both strings and int values for event type 21)


On 11-06-01 9:33 AM, "dave carlson" <community-noreply@qnx.com> wrote:

> Note in the log that the "problem" data has a 0x31 in d0 (d0:0x00000031).
> 
> Could it be possible that data is being overridden by string if
> isdigit(data0[0])?
> 
> Say it ain't so.
> 
> dave
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post86327
> 
RE: continuing problems with user events "data" in profiler  
Perhaps I am just dense...

Why doesn't the IDE use event id USRSTREVENT and INSERTSUSEREVENT specified formats like the traceprint?

Why are you using heuristics on my event class and data and not using the specified format in *your event id*?

I am not getting it...

dave

-----Original Message-----
From: David Cummings [mailto:community-noreply@qnx.com] 
Sent: Wednesday, June 01, 2011 9:50 AM
To: general-ide
Subject: Re: continuing problems with user events "data" in profiler

For user events, your best bet is to define a user event format file. This
will ensure that your user events are always output in the correct format.
Because there is no exact way to determine the format of the data from the
trace itself, the data is analyzed and best guess is made based on the
contents of the data.

Also, you should stick to a single format per event type (I see that you are
using both strings and int values for event type 21)


On 11-06-01 9:33 AM, "dave carlson" <community-noreply@qnx.com> wrote:

> Note in the log that the "problem" data has a 0x31 in d0 (d0:0x00000031).
> 
> Could it be possible that data is being overridden by string if
> isdigit(data0[0])?
> 
> Say it ain't so.
> 
> dave
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post86327
> 




_______________________________________________

General
http://community.qnx.com/sf/go/post86330
Re: continuing problems with user events "data" in profiler  
USRSTREVENT and INSERTSUSEREVENT are not event ids and are not stored in the
trace log. Traceprinter is doing similar heuristics to the IDE on the data.

We have an open problem report which has the goal of ensuring that
traceprinter and the IDE use the same logic for presenting user data.

Which version of QNX are you using on your target?


On 11-06-01 10:07 AM, "dave carlson" <community-noreply@qnx.com> wrote:

> Perhaps I am just dense...
> 
> Why doesn't the IDE use event id USRSTREVENT and INSERTSUSEREVENT specified
> formats like the traceprint?
> 
> Why are you using heuristics on my event class and data and not using the
> specified format in *your event id*?
> 
> I am not getting it...
> 
> dave
> 
> -----Original Message-----
> From: David Cummings [mailto:community-noreply@qnx.com]
> Sent: Wednesday, June 01, 2011 9:50 AM
> To: general-ide
> Subject: Re: continuing problems with user events "data" in profiler
> 
> For user events, your best bet is to define a user event format file. This
> will ensure that your user events are always output in the correct format.
> Because there is no exact way to determine the format of the data from the
> trace itself, the data is analyzed and best guess is made based on the
> contents of the data.
> 
> Also, you should stick to a single format per event type (I see that you are
> using both strings and int values for event type 21)
> 
> 
> On 11-06-01 9:33 AM, "dave carlson" <community-noreply@qnx.com> wrote:
> 
>> Note in the log that the "problem" data has a 0x31 in d0 (d0:0x00000031).
>> 
>> Could it be possible that data is being overridden by string if
>> isdigit(data0[0])?
>> 
>> Say it ain't so.
>> 
>> dave
>> 
>> 
>> 
>> _______________________________________________
>> 
>> General
>> http://community.qnx.com/sf/go/post86327
>> 
> 
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post86330
> 
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post86333
> 
RE: continuing problems with user events "data" in profiler  
Dave,

Thanks for the info.  I was unaware -- which was the cause of my befuddlement.

We are running 6.4.0 with qcc=4.2.4,gcc_ntoarmle_ecpp-ne.

I think getting the profiler to use the same heuristics as traceprinter would be fine (since traceprinter seems 100%).

Thanks

dave
-----Original Message-----
From: David Cummings [mailto:community-noreply@qnx.com] 
Sent: Wednesday, June 01, 2011 11:08 AM
To: general-ide
Subject: Re: continuing problems with user events "data" in profiler

USRSTREVENT and INSERTSUSEREVENT are not event ids and are not stored in the
trace log. Traceprinter is doing similar heuristics to the IDE on the data.

We have an open problem report which has the goal of ensuring that
traceprinter and the IDE use the same logic for presenting user data.

Which version of QNX are you using on your target?


On 11-06-01 10:07 AM, "dave carlson" <community-noreply@qnx.com> wrote:

> Perhaps I am just dense...
> 
> Why doesn't the IDE use event id USRSTREVENT and INSERTSUSEREVENT specified
> formats like the traceprint?
> 
> Why are you using heuristics on my event class and data and not using the
> specified format in *your event id*?
> 
> I am not getting it...
> 
> dave
> 
> -----Original Message-----
> From: David Cummings [mailto:community-noreply@qnx.com]
> Sent: Wednesday, June 01, 2011 9:50 AM
> To: general-ide
> Subject: Re: continuing problems with user events "data" in profiler
> 
> For user events, your best bet is to define a user event format file. This
> will ensure that your user events are always output in the correct format.
> Because there is no exact way to determine the format of the data from the
> trace itself, the data is analyzed and best guess is made based on the
> contents of the data.
> 
> Also, you should stick to a single format per event type (I see that you are
> using both strings and int values for event type 21)
> 
> 
> On 11-06-01 9:33 AM, "dave carlson" <community-noreply@qnx.com> wrote:
> 
>> Note in the log that the "problem" data has a 0x31 in d0 (d0:0x00000031).
>> 
>> Could it be possible that data is being overridden by string if
>> isdigit(data0[0])?
>> 
>> Say it ain't so.
>> 
>> dave
>> 
>> 
>> 
>> _______________________________________________
>> 
>> General
>> http://community.qnx.com/sf/go/post86327
>> 
> 
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post86330
> 
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post86333
> 




_______________________________________________

General
http://community.qnx.com/sf/go/post86340