How to monitor the real-time performance?

Dear all,
I have some problems with a PID controller implemented in Orocos.

Is it possible to monitor the real-time performance of the component
and know if the hard real-time is preserved?

Thanks and greetings to all!

Fabrizio Boriero

How to monitor the real-time performance?

On May 18, 2012, at 07:28 , Fabrizio Boriero wrote:

> Dear all,
> I have some problems with a PID controller implemented in Orocos.
>
> Is it possible to monitor the real-time performance of the component
> and know if the hard real-time is preserved?
>
> Thanks and greetings to all!
>
> Fabrizio Boriero

What OS? What version of Orocos?

I don't believe that there is any such support built into Orocos. We build timing diagnostics into all our components that track the amount of time worked during a cycle, as well as the period of each cycle. We then minimax this, and also store N of the first/last/best/worst times, and all of this data is logged every run. This kind of data is critical in providing visibility inside an embedded application to assist in debugging issues like this.

HTH
S

How to monitor the real-time performance?

On Fri, May 18, 2012 at 1:40 PM, Fabrizio Boriero
<fabrizio [dot] boriero [..] ...> wrote:
> On Fri, May 18, 2012 at 1:33 PM, S Roderick <kiwi [dot] net [..] ...> wrote:
>> On May 18, 2012, at 07:28 , Fabrizio Boriero wrote:
>>
>>> Dear all,
>>> I have some problems with a PID controller implemented in Orocos.
>>>
>>> Is it possible to monitor the real-time performance of the component
>>> and know if the hard real-time is preserved?
>>>
>>> Thanks and greetings to all!
>>>
>>> Fabrizio Boriero
>>
>> What OS? What version of Orocos?
>

Ubuntu 10.04 last  version of Toolchain...

>
>>
>> I don't believe that there is any such support built into Orocos. We build timing diagnostics into all our components that track the amount of time worked during a cycle, as well as the period of each cycle. We then minimax this, and also store N of the first/last/best/worst times, and all of this data is logged every run. This kind of data is critical in providing visibility inside an embedded application to assist in debugging issues like this.
>

Thanks,
Fabrizio
>
>> HTH
>> S
>>

Xenomai doesn't runs...

I can start the real-time thread with Orocos, and the deployer is something like:

 Provided Interface:
  Attributes   : 
     string Target         = gnulinux            
       bool Valid          = false               
        int ORO_SCHED_RT   = 1                   
        int ORO_SCHED_OTHER = 0                   
        int LowestPriority = 1                   
        int HighestPriority = 99   
but If I do "cat /proc/xenomai/sched" I don't see any running threads, only:

CPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME

  0  0      idle    -1      -         master     R          ROOT/0
  1  0      idle    -1      -         master     R          ROOT/1
Someone could help me?

Thanks, Fabrizio

Xenomai doesn't runs...

On Tue, 22 May 2012, fabrizio [dot] boriero [..] ... wrote:

> I can start the real-time thread with Orocos, and the deployer is something
> like:
>
> Provided Interface:
> Attributes :
> string Target = gnulinux
> bool Valid = false
> int ORO_SCHED_RT = 1
> int ORO_SCHED_OTHER = 0
> int LowestPriority = 1
> int HighestPriority = 99
>
> but If I do "cat /proc/xenomai/sched" I don't see any running threads, only:
>
> CPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME
> 0 0 idle -1 - master R ROOT/0
> 1 0 idle -1 - master R ROOT/1
>
> Someone could help me?

Maybe it's enough to use the "xenomai" target instead of "gnulinux"?

> Thanks,
> Fabrizio

Herman

Xenomai doesn't runs...

2012/5/22 <fabrizio [dot] boriero [..] ...>

> I can start the real-time thread with Orocos, and the deployer is something
> like:
>

how did you launched the deployer ? wich cmd ? It seems that you launched
the gnulinux deployer instead of the xenomai one.
You should either call :
deployer-xenomai or rosrun ocl deployer-xenomai (if ROS)

>
> Provided Interface:
> Attributes :
> string Target = gnulinux
> bool Valid = false
> int ORO_SCHED_RT = 1
> int ORO_SCHED_OTHER = 0
> int LowestPriority = 1
> int HighestPriority = 99
>
> but If I do "cat /proc/xenomai/sched" I don't see any running threads,
> only:
>
> CPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME
> 0 0 idle -1 - master R ROOT/0
> 1 0 idle -1 - master R ROOT/1
>
> Someone could help me?
>
> Thanks,
> Fabrizio
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>

Xenomai doesn't runs...

2012/5/22 <fabrizio [dot] boriero [..] ...>:
>  >how did you launched the deployer ? wich cmd ? It seems that you launched
>  >the gnulinux deployer instead of the xenomai one.
>  >You should either call :
>  >deployer-xenomai or rosrun ocl deployer-xenomai (if ROS)
>
> Thank you very much...
>
> I don't see deployer-xenomai
>
> ls /opt/ros/electric/stacks/orocos_toolchain/ocl/bin/
> cdeployer           ctaskbrowser           deployer-corba
> deployer-funcs.cpp  installpath.hpp.in  rttlua-tlsf
> cdeployer.cpp       ctaskbrowser.cpp       deployer-corba.cpp
> deployer-funcs.hpp  README              rttlua-tlsf-gnulinux
> cdeployer-gnulinux  ctaskbrowser-gnulinux  deployer-corba-gnulinux
> deployer-gnulinux   rttlua              rttscript
> CMakeLists.txt      deployer               deployer.cpp
> helloworld          rttlua-gnulinux     rttscript-gnulinux
>
> So I thought that orocos recognizes the xenomai presence launching
> deployer-gnulinux.
> Anyway I will reinstall orocos in order to build the deployer-xenomai.

There are no prebuild packages for the xenomai target, for xenomai you
have to compile the toolchain yourself using OROCOS_TARGET=xenomai

Steven

>
> Thanks again
> Fabrizio
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users

RE: Xenomai doesn't runs...

>how did you launched the deployer ? wich cmd ? It seems that you launched >the gnulinux deployer instead of the xenomai one. >You should either call : >deployer-xenomai or rosrun ocl deployer-xenomai (if ROS)

Thank you very much...

I don't see deployer-xenomai

ls /opt/ros/electric/stacks/orocos_toolchain/ocl/bin/ cdeployer ctaskbrowser deployer-corba deployer-funcs.cpp installpath.hpp.in rttlua-tlsf cdeployer.cpp ctaskbrowser.cpp deployer-corba.cpp deployer-funcs.hpp README rttlua-tlsf-gnulinux cdeployer-gnulinux ctaskbrowser-gnulinux deployer-corba-gnulinux deployer-gnulinux rttlua rttscript CMakeLists.txt deployer deployer.cpp helloworld rttlua-gnulinux rttscript-gnulinux

So I thought that orocos recognizes the xenomai presence launching deployer-gnulinux. Anyway I will reinstall orocos in order to build the deployer-xenomai.

Thanks again Fabrizio