On Wed, Jun 01, 2011 at 02:46:05PM +0530, Avik Sil wrote:
Hi,
SMARTT (System Metrics - Annotation Recording and Tracing Tool) is a tool to capture and display system metrics data from the system. It's mainly targeted for system metrics that are interesting for Graphics and Multimedia WG for measuring and analyzing performance of their tools/applications.
It has been designed and developed by Sudip Jain of Multimedia WG for the Linaro 11.05 cycle [1][2][3], and packaged by Kunal Goel of Developer Platform team [4].
A brief overview of the tool.
It is a distributed application where the systems metrics are gathered by smartt-server running on the target system. At present, it gathers metrics from perf (smartt-perf), top (smartt-top) and a GStreamer based media player (smartt-player). A smartt-client app connects to smartt-server to receive and display all system metrics in real-time.
It has been decided to continue to develop and maintain this tool for Linaro 11.11 cycle. So inputs are required from the intended users of this tool:
- the feature they would like to have it included in the tool
- the metrics data they would like to add
- design of the tool etc.
Please share your inputs and review comments on this tool.
Regards, Avik
[1] 11.05 BP: https://blueprints.launchpad.net/linaro-multimedia-wg/+spec/multimedia-linar...
[2] Spec: https://wiki.linaro.org/WorkingGroups/Middleware/Multimedia/Specs/1105/Valid...
[3] git repo: http://git.linaro.org/gitweb?p=people/sudip-jain/smartt.git%3Ba=summary
[4] Package: https://launchpad.net/~goelkunal/+archive/multimedia
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Hi Avik!
I had a look at smartt some time ago. It is good as a prototype and proof-of-concept, but I believe we should also investigate some of the existing solutions and see if we can leverage our smartt experience to improve them (more later in the email). I have done some initial investigation (somewhat Graphics oriented):
https://blueprints.launchpad.net/linaro-graphics-wg/+spec/engr-profiling-dis...
As this is "Medium" priority for us, I haven't completely fleshed out the details and I am still processing all the information in a background process in my head ;)
Here are some initial suggestions:
* Investigate if we can enhance existing tools instead of writing our own custom one. I found the modular (e.g. support for data/event sources as plugins) approach taken by perfkit ([1], [2]) to be very interesting and fitting. The project is not mature yet, but that may actually be an advantage, in the sense that it may be easier for us to contribute in a way that fits our needs. Another alternative is to extend lttv-gui.
* Standardize on a way to communicate events/data from our applications to whatever server we have. I think that the lttng UST facilities (userspace tracing) and the Common Trace Format (CTF) are good candidates for this. The lttng community is still working on them (plus ftrace/lttng integration). This technology allows us to seamlessly integrate data from both kernel and custom userspace sources.
* In the current smartt implementation, perf is patched to send events/data to the server through sockets. I don't think this is necessary, and more importantly, I don't think it is easily upstreamable. We are better off using the standard perf syscalls to obtain the data ourselves or alternatively we can harvest the normal console perf output.
Thanks, Alexandros
[1] http://perfkit.org [2] https://github.com/chergert/perfkit