History log of /external/autotest/server/profilers.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8dacdb1be8c6419a5e46a90e9d820390dec72ed0 01-Sep-2017 Prathmesh Prabhu <pprabhu@chromium.org> autotest: Do not create new host objects in profilers

There's no reason existing host objects from job can't be used, and the
create_host call in profilers was broken.

BUG=chromium:757604
TEST=Run telemetry_AFDOGenerate

Change-Id: I5d7a20aa82ea8318ed340414ea30e6fcf242279b
Reviewed-on: https://chromium-review.googlesource.com/648327
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
/external/autotest/server/profilers.py
1c3b853b2d9b80c9efcc1a27112731b96d765e6e 19-Nov-2015 J. Richard Barnette <jrbarnette@chromium.org> [autotest] Remove dead code/features from hosts factory.

The code for create_host() in server/hosts/factory.py had a large
amount of unused legacy code left behind. This change removes all
of that unused legacy.

BUG=None
TEST=run all unit tests

Change-Id: I727521aa27e82c86e04ab3d6b62cbd9e4158f00b
Reviewed-on: https://chromium-review.googlesource.com/313192
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/profilers.py
6b784d053ddd609a4c3c1bfce11310093c393030 21-Jul-2015 Luis Lozano <llozano@chromium.org> Revert "Change location of temp directory for autotest profiler support."

This reverts commit 4f313701f02f577c10f1516e227901be807839dc.

This change is not working well in the lab. Investigating.

Change-Id: I51a227fa933d10a1df63981400d423e2aff912cb
Reviewed-on: https://chromium-review.googlesource.com/286933
Commit-Queue: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
/external/autotest/server/profilers.py
4f313701f02f577c10f1516e227901be807839dc 16-Jul-2015 Luis Lozano <llozano@chromium.org> Change location of temp directory for autotest profiler support.

When using profiler functionality, autotest copies autotest/client
to the DUT into to a temp directory within /tmp. The contents of
autotest/client can be larger than 1GB and some boards dont have more
than 1GB on /tmp.
This CL changes the location of the tmp directory to be under
/usr/local/autotest/tmp/profilers which should have plenty of space.

BUG=chromium:400595
TEST=test_that telemetry_AFDOGenerate on boards falco, peppy and lumpy

Change-Id: Icc17c37fe22228a188e5d9139b8ffcfde46bacba
Reviewed-on: https://chromium-review.googlesource.com/286174
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
/external/autotest/server/profilers.py
e3414339681fec5be873259353c669a7872eb220 14-Dec-2013 Fang Deng <fdeng@chromium.org> [autotest] profilers should only be installed on hosts that are DUT

Previously profilers.py tried to install profiler client on
all host in self.job.hosts. This list include all hosts
that are created on the fly, like a ServoHost.

It should really only install profiler client on the machines
passed in by option -m of autoserv.

This CL add a test checking whether a host instance is
also in self.job.machines, if not, it will be ignored.

TEST=1.Create an SSHHost(DUT_IP1) in telemetry_AFDOGenerate/control
2. /usr/bin/test_that --debug --board=lumpy DUT_IP2
--args="ignore_failures=True local=True gs_test_location=True"
telemetry_AFDOGenerate
Confirmed that the profiler client is not installed
on the DUT_IP1.
3. Remove the change, confirm that it will try to install
profiler clients on both DUT_IP1 and DUT_IP2
BUG=chromium:328507

Change-Id: Id2bc73f02079acc48b655726314aecece29fbcc0
Reviewed-on: https://chromium-review.googlesource.com/180105
Reviewed-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
/external/autotest/server/profilers.py
9e44a4564f849585d756decaf1dc7825c9c0c7c3 08-Apr-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Change server profilers to control themselves via a client
profiler_sync test.

This restores the code that oddly used to be in client/tests/barriertest.py
as a new "test" named more appropriately: profiler_sync. Server code that
references it and generates client control files to launch it is updated.

Signed-off-by: Gregory Smith <gps@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4384 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/profilers.py
be3238bd54d199452f86099b90cfb22a0afc1e3b 26-Jan-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Extract the server-side profiler result collection code into a separate method and add a call to it from the failure log collection when a profiler fails. This will allow any incomplete (but possibly still useful) data collected before the profiler failed to still be available.

Signed-off-by: John Admanski <jadmanski@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4170 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/profilers.py
fc3da5bbdcd63840cd224282812c050c5520db11 06-Jan-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> More refactoring of the job state code to try and reduce duplication.
In the process this also refactors a bunch of job.run_test duplication,
specifically the handling of job tags (there's still lots more
duplicate code left).

The main state refactorings are:
* Storing client job steps in __steps and special-casing its removal
in autotest.py is gone. Instead the client job code stores it
directly in the client.steps state, and the autotest.py generically
removes the entire client.* namespace.
* Moving this out of the publicly-visible state and into a private
namespace allows us to drop has_state and discard_state, which
were really only needed so that we could make sure __steps was
not persisted across jobs.
* All of this client-job state managment was moved out of autotest.py
and into server_job.py. All the data this code was getting and
setting was in the job object, so it seemed like a better place
to put it. This also let us drop load_state and save_state, which
were really only there to make it easier to push and pull data
out of the server job object.
* Eliminate get_run_number and set_run_number in favour of a generic
use_sequence_number boolean property (that works on both client
and server automatically). The get_ and set_ code was only being
used to enable and disable an auto-incrementing sequence number to
be tagged to each test run, so we can just make the public
interface a boolean and handle the sequencing under the covers.
* Drop all the test_tag and test_tag_prefix code in favour of a
persistent automatic_test_tag property. Also drops the
show_kernel_in_test_tag flag in favour of just implementing this
in the control file generator using automatic_test_tag.
* Refactor all the test name tagging code into base_job, unifying
the tagging portion of the job.run_test code.

Signed-off-by: John Admanski <jadmanski@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4075 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/profilers.py
15971eb96882aef31ced04e8866d680ddc1dab77 29-Dec-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Reworked the server side profiling support to use barrier to synchronize
starting and stopping of profilers on multiple machines. The synchronization
will only work with server side jobs that work with multiple host objects
in the same process (ie there is no multi machine synchronization done for
jobs that do early a job.parallel_simple() which forks a process per
machine because each separate autoserv process will only be aware of a
single host object).

Signed-off-by: Mihai Rusu <dizzy@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4064 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/profilers.py
30cf9dd998ab0d1cf875c745decbd10fa00305c7 06-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> On the server side profilers.delete shouldn't fail just because the
profiler has already been removed. The generic common_lib version of
this code handles that case just fine, so should this.

Risk: Low
Visibility: Removing a profiler multiple times shouldn't fail.

Signed-off-by: John Admanski <jadmanski@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3913 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/profilers.py
cb0e16134a76b3badc0307cd804a9e510f3e232e 27-Feb-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> When profilers are turned on from the server side and a client-side
job is launched, we should add some corresponding job.profilers.add
calls to the client-side prologue so that they are turned on for
client-side tests as well.

Also fixes a "how did this ever run" type of bug in the profiler
argument handling code on the server side.

Risk: Low
Visibility: Turning on profilers from the server-side also turns them
on for client-side tests.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2840 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/profilers.py
4f909251625246dbeb36c1c8b26892cbd4e6c934 01-Dec-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Extend the server-side profiler code to handle reboots as well. Sadly,
this is a bit of a kludge, but I can't see any better solution without
redesigning the client-side profiler interface first.

I handle a reboot by pulling back any existing profiler data right
after a reboot and then re-starting the profiler. This generally works
because most of the profilers are idempotent; either they write into
different files in each run, or they just continuously append logs
to a log file of some kind and so concatenating all their output
is good enough.

In general there's unfortunately no reliable way to signal the
profilers before a reboot occurs, we can only deal with it after the
fact, so we don't have the option of adding some sort of
save-and-restore methods to the client-side interface that could be
used to deal with this.

Right now we simply don't have any real use cases anyway where we want
to run a profiler on top of a reboot test where the profiler requires
special handling after a reboot. Until we actually have an example of
that to work with, trying to implement support for that situation
may just be overdesigning things anyway.

Risk: Medium
Visibility: Server-side profilers will be restarted after a reboot
during a test.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2526 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/profilers.py
043e1132d1af7969a8f67871188ef34e050c2186 19-Nov-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> This depends on Martin's "run autoserv without a results dir" patch
to be applied cleanly.


A rather large refactoring and stubbing change working towards
client-side profilers from the server side. This makes a few major
changes:
- refactors almost all of client/bin/profilers.py into a common lib
profiler_manager class; except for the code for actually loading
a profiler object, all of that code is already completely generic
- add a server-side profiler_proxy class that will act as a proxy
on the server for using a client-side profiler, this doesn't
actually do anything useful right now but it basically just a
stub for later changes
- add a server-side profiler_manager implementation that creates a
profiler_proxy class instead of actually loading a real profiler

The intended changes still in the pipeline that will build on this are:
- add code to the profiler_proxy for actually making sure the
profiler is set up and installed on the remote host(s)
- add a mechanism for client-side profilers to deal with reboots

Risk: Medium
Visibility: Adds a bunch of stubs that don't actually do anything yet
but will do things soon.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2447 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/profilers.py