[oe] [meta-oe][PATCH 1/3] guider: add a new runtime profiler package

Randy MacLeod randy.macleod at windriver.com
Wed Jan 2 16:58:23 UTC 2019


On 1/2/19 9:00 AM, Peace Lee wrote:
> Thanks for your advice :)
> 
> Should I submit a new patch again after changing a below patch?
> I am not familiar with this process ;)

I expect that Khem will do that once he wakes up.

> It couldn't be reached to openembedded-devel members When I sent patch 
> first so that I sent github pull-request to Khem Raj.

We send patches to the oe-devel list, people comment, the gatekeeper
merges at some point. The process is documented here:

https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded

> 
> Anyway, I agree with your comments (fixing typos, moving the recipe to 
> meta-tool, dropping last some lines).
> But what does "_Shouldn't the packages that guider uses be recommended 
> at least?_" mean?

I thought that you were forking top, perf, etc and then screen-scrapping
  the output but it seems that you have reimplemented(parts of)
the functionality of these tools so we don't need to add a
DEPENDS/RECOMMENDS to the recipe to ensure that top for example
is added to the system image.

> Guider only requires "python-ctypes, python-shell, python-json, 
> python-subprocess" package :)

Khem's recipe has that covered then:

+RDEPENDS_${PN} = "python-ctypes python-shell \
+                  python-json python-subprocess"

> Some kernel configurations and patches are needed to trace user-level 
> functions but it depends on users.

The yocto-kenrel-cache:
 
http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-cache/tree/00-README

has the concept of features:
 
http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-cache/tree/features
such as:
 
http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-cache/tree/features/lttng

since this recipe is for meta-openembedded rather than oe-core,
we'd leave it up to users as you say. meta-openembedded depends on
oe-core but the two projects are organized by different people.



Do you have a document that explains your motivation for creating guider
and perhaps documents a few cases where it's better than the standard
tools? I likely just need to play with guider a bit more but it seems
like a use case that walked people though a performance issue that you
resolved more easily with guider than with the plethora of linux tools:
   http://www.brendangregg.com/linuxperf.html
would be good marketing.


../Randy

> 
> Happy new year!
> 
> On Tue, Jan 1, 2019 at 4:30 AM Randy MacLeod 
> <randy.macleod at windriver.com <mailto:randy.macleod at windriver.com>> wrote:
> 
>     Neat tool! I'll have to play with it a bit more.
> 
>     On 12/30/18 11:50 AM, Khem Raj wrote:
>      > From: Peace Lee <iipeace5 at gmail.com <mailto:iipeace5 at gmail.com>>
>      >
>      > guider [1] is a system-wide performance analyzer for platforms based
> 
>     Well, it seems to be more of a meta-tool that uses standard tools.
>     In addition, it improves usability at the cost of defining policy
>     such as immediately analyzing some data collection on target.
>     It would be nice to succinctly summarize that if you can.
>      > on linux kernel. it can measure vary system resource usage and
>     s/it/It/
>     s/vary/a variety of/
>      > trace thread/process activities. and it reports vary meaningful
>      > output to analyze system status.
>     It reports very meaningful output to analyze system status.
>      >
>      > [1] https://github.com/iipeace/guider
>      >
>      > Signed-off-by: Peace Lee <iipeace5 at gmail.com
>     <mailto:iipeace5 at gmail.com>>
>      > Signed-off-by: Khem Raj <raj.khem at gmail.com
>     <mailto:raj.khem at gmail.com>>
>      > ---
>      >   .../recipes-devtools/guider/guider_3.9.3.bb
>     <http://guider_3.9.3.bb>   | 34 +++++++++++++++++++
>      >   1 file changed, 34 insertions(+)
>      >   create mode 100644
>     meta-oe/recipes-devtools/guider/guider_3.9.3.bb <http://guider_3.9.3.bb>
>      >
>      > diff --git a/meta-oe/recipes-devtools/guider/guider_3.9.3.bb
>     <http://guider_3.9.3.bb>
>     b/meta-oe/recipes-devtools/guider/guider_3.9.3.bb
>     <http://guider_3.9.3.bb>
>      > new file mode 100644
>      > index 0000000000..96d6c62ae2
>      > --- /dev/null
>      > +++ b/meta-oe/recipes-devtools/guider/guider_3.9.3.bb
>     <http://guider_3.9.3.bb>
>      > @@ -0,0 +1,34 @@
>      > +SUMMARY = "runtime performance analyzer"
>      > +HOMEPAGE = "https://github.com/iipeace/guider"
>      > +BUGTRACKER = "https://github.com/iipeace/guider/issues"
>      > +AUTHOR = "Peace Lee <ipeace5 at gmail.com <mailto:ipeace5 at gmail.com>>"
>      > +
>      > +LICENSE = "GPLv2+"
>      > +LIC_FILES_CHKSUM =
>     "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
>      > +
>      > +SRC_URI = "git://github.com/iipeace/${BPN}
>     <http://github.com/iipeace/$%7BBPN%7D>"
>      > +SRCREV = "ac05a2ce0ab480957d642d947d8f617bd224031d"
>      > +
>      > +S = "${WORKDIR}/git"
>      > +R = "${RECIPE_SYSROOT_NATIVE}"
>      > +
>      > +inherit distutils
>      > +
>      > +GUIDER_OBJ = "guider.pyc"
>      > +GUIDER_SCRIPT = "guider"
>      > +
>      > +do_install() {
>      > +    python ${S}/setup.py install
>      > +
>      > +    install -d ${D}${bindir}
>      > +    install -v -m 0755 ${R}/${bindir}/${GUIDER_SCRIPT}
>     ${D}${bindir}/${GUIDER_SCRIPT}
>      > +
>      > +    install -d ${D}${datadir}/${BPN}
>      > +    install -v -m 0755 ${R}/${datadir}/${BPN}/${GUIDER_OBJ}
>     ${D}${datadir}/${BPN}/${GUIDER_OBJ}
>      > +}
>      > +
>      > +RDEPENDS_${PN} = "python-ctypes python-shell \
>      > +                  python-json python-subprocess"
> 
>     Shouldn't the packages that guider uses be recommended at least?
>     I'm not familiar with the app so maybe it can do useful things without
>     top, perf, etc.
> 
>     Should we add a kernel cfg fragment?
> 
>      > +
>      > +FILES_SOLIBSDEV = ""
>      > +#FILES_${PN} = "usr"
>     Drop that line?
> 
>      >
> 
> 
> 
>     -- 
>     # Randy MacLeod
>     # Wind River Linux
> 


-- 
# Randy MacLeod
# Wind River Linux


More information about the Openembedded-devel mailing list