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
|