Redesign logging for Chrome OS Factory |
||
Issue description(moved from http://crosbug.com/p/51105) Define a general production line logging format for both Chrome OS Factory and potentially other factory frameworks, and support its flow from test machine (DUT or test station) to Google internal services (e.g. BigQuery). Objectives: * Real-time availability of logging data on Shopfloor * Lowers storage utilization (by rotating / zipping / removing logs that have been sync’d to Shopfloor) * Unify different logging paths, everyone uses the same path * Easy to log data through Pytests * Enable support for fixture-based tests (include serial number of device) * Provide data necessary to build other systems (inspect logging data for partners, debug test runs for software engineers, self-service querying and charting for hardware engineers, production line flow information for operations team)
,
May 4 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/7bb78e6e16adcb0dee6a75922e2f027a17c2999c commit 7bb78e6e16adcb0dee6a75922e2f027a17c2999c Author: Joel Kitching <kitching@google.com> Date: Wed Apr 20 11:02:59 2016 testlog: initial python implementation of testlog json api Since we would like a general logging format that both Goofy and other factory software can use, we define a JSON API called "testlog". This is the base Python implementation (with only support for one event type so far, "station.init"). Initially there will be no validation support. BUG= chromium:609069 TEST=Manually on DUT Change-Id: Ic1cf9693b599dcf27cbccd917a3f5c1b0b6c967e Reviewed-on: https://chromium-review.googlesource.com/339826 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [add] https://crrev.com/7bb78e6e16adcb0dee6a75922e2f027a17c2999c/py/test/testlog_unittest.py [add] https://crrev.com/7bb78e6e16adcb0dee6a75922e2f027a17c2999c/py/test/testlog.py
,
May 6 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/d7551ec7a1299a6a7a7aa17c1d0dd12a9dc767bf commit d7551ec7a1299a6a7a7aa17c1d0dd12a9dc767bf Author: Joel Kitching <kitching@google.com> Date: Fri May 06 07:58:23 2016 log_writer: fix seq file write speed GlobalSeq was calling fsync on the seq file after every increment, resulting in testThreadsWithoutSleep failing on a co-worker's machine. He was getting 120~130 writes per second (non-SSD), whereas I was getting around 2000 (SSD). Since we increase the sequence number by SEQ_INCREMENT_ON_BOOT every reboot, we can remove the fsync call and retain the monotonicity property, optimizing for speed. This may be important in cases where Goofy rapidly outputs a large volume of log messages to disk. Now testThreadsWithoutSleep is getting around 6000 writes on co-worker's machine (non-SSD), and 10000 writes on my machine (SSD). BUG= chromium:609069 TEST=Manually on local machine Change-Id: I15d7d3f4d2d9a5307a6a625fef01b283c5894907 Reviewed-on: https://chromium-review.googlesource.com/342807 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [modify] https://crrev.com/d7551ec7a1299a6a7a7aa17c1d0dd12a9dc767bf/py/test/log_writer_unittest.py [modify] https://crrev.com/d7551ec7a1299a6a7a7aa17c1d0dd12a9dc767bf/py/test/log_writer.py
,
May 6 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/9eb203a3afff97d27ccbd7234dc98b889b9ccbcf commit 9eb203a3afff97d27ccbd7234dc98b889b9ccbcf Author: Joel Kitching <kitching@google.com> Date: Thu Apr 21 07:36:30 2016 goofy: add basic support for log_writer Goofy should be migrated to start logging through log_writer instead of event_log. Add basic support and log the StationInit event. BUG= chromium:609069 TEST=Manually on DUT Change-Id: I2105b317a688816675f844be43c03eeea15d1241 Reviewed-on: https://chromium-review.googlesource.com/340161 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/9eb203a3afff97d27ccbd7234dc98b889b9ccbcf/py/goofy/goofy.py [modify] https://crrev.com/9eb203a3afff97d27ccbd7234dc98b889b9ccbcf/py/test/testlog.py
,
May 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/f2dfbac2df3fb8f954a47b7aae799b8c7bb86ac0 commit f2dfbac2df3fb8f954a47b7aae799b8c7bb86ac0 Author: Joel Kitching <kitching@google.com> Date: Tue May 03 07:42:12 2016 testlog: populate should return self for convenience BUG= chromium:609069 TEST=Locally Change-Id: I1a6e11293d75fb394f981d2d30b84b7f4a2f5bbb Reviewed-on: https://chromium-review.googlesource.com/341893 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/f2dfbac2df3fb8f954a47b7aae799b8c7bb86ac0/py/test/testlog_unittest.py [modify] https://crrev.com/f2dfbac2df3fb8f954a47b7aae799b8c7bb86ac0/py/test/testlog.py
,
May 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/fce6effb90aa18ac1d119d3bd7acfdc8b3a947b7 commit fce6effb90aa18ac1d119d3bd7acfdc8b3a947b7 Author: Joel Kitching <kitching@google.com> Date: Wed May 04 03:33:23 2016 invocation: change end_time to object member Rename end_time to TestInvocation object variable self.end_time, in preparation for end_time being used in testlog event emitting. BUG= chromium:609069 TEST=Manually on DUT Change-Id: I32e569c5fdf5dab9aad6ac485e301a2133bd8a2e Reviewed-on: https://chromium-review.googlesource.com/342328 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [modify] https://crrev.com/fce6effb90aa18ac1d119d3bd7acfdc8b3a947b7/py/goofy/invocation.py
,
May 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/8062330a9815df438fa49e8074be7f8570ab2de6 commit 8062330a9815df438fa49e8074be7f8570ab2de6 Author: Joel Kitching <kitching@google.com> Date: Wed May 04 03:26:39 2016 testlog: add support for test_run event Add initial support for test_run event according to its specification in the Testlog API Playbook. More fields will be added later. BUG= chromium:609069 TEST=Manually on DUT Change-Id: I6ba93c3503100b06c0cea18424ad44750130b45c Reviewed-on: https://chromium-review.googlesource.com/342327 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [modify] https://crrev.com/8062330a9815df438fa49e8074be7f8570ab2de6/py/test/testlog_unittest.py [modify] https://crrev.com/8062330a9815df438fa49e8074be7f8570ab2de6/py/test/testlog.py
,
May 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/b87e3881c7e2ca0abb99c1bc351fce28768f257e commit b87e3881c7e2ca0abb99c1bc351fce28768f257e Author: Joel Kitching <kitching@google.com> Date: Fri Apr 29 07:35:24 2016 testlog: add support for python logging Add support for Python logging calls. Calls to logging (info, debug, exception, etc.) will be created as testlog objects and saved to disk as JSON. BUG= chromium:609069 TEST=Manually on DUT CQ-DEPEND=CL:343539 Change-Id: Ic6ea9086fc4254e611d6e39fe560e9e7cb0aa308 Reviewed-on: https://chromium-review.googlesource.com/341894 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [modify] https://crrev.com/b87e3881c7e2ca0abb99c1bc351fce28768f257e/py/test/factory.py [modify] https://crrev.com/b87e3881c7e2ca0abb99c1bc351fce28768f257e/py/test/testlog_unittest.py [modify] https://crrev.com/b87e3881c7e2ca0abb99c1bc351fce28768f257e/py/test/testlog.py
,
May 17 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/bc43846c756e2709772b57fc63cf0a15db33222e commit bc43846c756e2709772b57fc63cf0a15db33222e Author: Joel Kitching <kitching@google.com> Date: Mon May 16 22:13:13 2016 testlog: fix goofy python logging call CL:341894 introduced an erroneous call to CapturePythonLogging by using inconsistent function argument names. Fix the argument names. TEST=Locally BUG= chromium:609069 CQ-DEPEND=CL:341894 Change-Id: I2f4267c4d847f86fe40c0d9aaf24f9b51930fae7 Reviewed-on: https://chromium-review.googlesource.com/344892 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [modify] https://crrev.com/bc43846c756e2709772b57fc63cf0a15db33222e/py/test/factory.py [modify] https://crrev.com/bc43846c756e2709772b57fc63cf0a15db33222e/py/test/testlog_unittest.py
,
May 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/126d69ae3503c8b7d8693c7d18f4cc2061eba023 commit 126d69ae3503c8b7d8693c7d18f4cc2061eba023 Author: Joel Kitching <kitching@google.com> Date: Tue May 03 09:49:43 2016 invocation: emit testlog test_run events Add support for test_run events, and modify invocation.py to output a STARTING and PASSED/FAILED event for each test. BUG= chromium:609069 TEST=Manually on DUT Change-Id: I7323f302688c37cbf755240ec9ed377ce666758b Reviewed-on: https://chromium-review.googlesource.com/341844 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/126d69ae3503c8b7d8693c7d18f4cc2061eba023/py/goofy/invocation.py
,
May 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/b17f82a896fcfb58755014f2bf26cf3af8357f9d commit b17f82a896fcfb58755014f2bf26cf3af8357f9d Author: Joel Kitching <kitching@google.com> Date: Thu May 19 16:19:39 2016 log_writer: add close function py/goofy/goofy.py already expects LogWriter to have a Close function. Add it with a corresponding unittest. BUG= chromium:609069 TEST=Run test locally Change-Id: I47e223702397a2f69a854337c2b0db3dcb4bcc8c Reviewed-on: https://chromium-review.googlesource.com/346051 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [modify] https://crrev.com/b17f82a896fcfb58755014f2bf26cf3af8357f9d/py/test/log_writer_unittest.py [modify] https://crrev.com/b17f82a896fcfb58755014f2bf26cf3af8357f9d/py/test/log_writer.py
,
May 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/cd056999e7f6c4824b19e9981aff065d2dfe6d16 commit cd056999e7f6c4824b19e9981aff065d2dfe6d16 Author: Joel Kitching <kitching@google.com> Date: Wed May 11 05:48:31 2016 testlog: fix event initialization and add tests "Fake" event classes should not be able to be initialized. Fix code in __init__ to prevent this, and add tests to check functionality. BUG= chromium:609069 TEST=Locally Change-Id: I21a549eb854372d0ec7ed2777f7d5a00c5d69215 Reviewed-on: https://chromium-review.googlesource.com/344182 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [modify] https://crrev.com/cd056999e7f6c4824b19e9981aff065d2dfe6d16/py/test/testlog_unittest.py [modify] https://crrev.com/cd056999e7f6c4824b19e9981aff065d2dfe6d16/py/test/testlog.py
,
Jun 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/48a7d4f721f05a0652fe94085967dad02c3eb5b6 commit 48a7d4f721f05a0652fe94085967dad02c3eb5b6 Author: Joel Kitching <kitching@google.com> Date: Wed Jun 01 02:11:07 2016 testlog: reorder unittests Include a new TestlogEventTest class to separate unittests that test Event-related functionality. BUG= chromium:609069 TEST=Locally Change-Id: Ie9a9419b2477c09e0507ec7740083b86f63dec81 Reviewed-on: https://chromium-review.googlesource.com/348453 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [modify] https://crrev.com/48a7d4f721f05a0652fe94085967dad02c3eb5b6/py/test/testlog_unittest.py
,
Jun 3 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/7a275fb3db514659d69c9e0f59ceb574d689d5ee commit 7a275fb3db514659d69c9e0f59ceb574d689d5ee Author: Joel Kitching <kitching@google.com> Date: Wed Jun 01 18:49:00 2016 testlog: correct doc strings Correct doc strings to read "Args" instead of "Arguments". BUG= chromium:609069 TEST=None Change-Id: I10d5e0f020a94f1cc78d4b0cf75f3e62e828612c Reviewed-on: https://chromium-review.googlesource.com/348780 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org> [modify] https://crrev.com/7a275fb3db514659d69c9e0f59ceb574d689d5ee/py/test/testlog.py
,
Jun 6 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/7a330cc3055bf25320ca144d4de7e6f34b4388c2 commit 7a330cc3055bf25320ca144d4de7e6f34b4388c2 Author: Joel Kitching <kitching@google.com> Date: Wed May 04 04:32:03 2016 invocation: implement running test_run events A currently-running test should produce test_run events at given intervals to save its incremental state. This has two benefits: (1) For a test that takes a long time (e.g. a run-in test), we can get updates as to how the test is progressing. (2) If a machine encounters failure half-way through the test being run, we will be able to inspect the test's state at the last-saved interval before failure. BUG= chromium:609069 TEST=Manually on DUT Change-Id: Ic671fd8f0cd0a3af11bad86023c4e65baed52ed2 Reviewed-on: https://chromium-review.googlesource.com/342126 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/7a330cc3055bf25320ca144d4de7e6f34b4388c2/py/goofy/invocation.py [modify] https://crrev.com/7a330cc3055bf25320ca144d4de7e6f34b4388c2/py/test/event.py [modify] https://crrev.com/7a330cc3055bf25320ca144d4de7e6f34b4388c2/py/test/testlog.py
,
Jun 6 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/d18263b2f3dab6550a277af299395cfd967848bc commit d18263b2f3dab6550a277af299395cfd967848bc Author: Joel Kitching <kitching@google.com> Date: Wed Jun 01 19:36:37 2016 testlog/log_writer: correct doc string pluralization The first line of function and class doc strings should be written in third person singular form. BUG= chromium:609069 TEST=None Change-Id: Ibdaa34fb28974d9c765b088d43d8a8e5c1966c13 Reviewed-on: https://chromium-review.googlesource.com/348781 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/d18263b2f3dab6550a277af299395cfd967848bc/py/test/testlog_unittest.py [modify] https://crrev.com/d18263b2f3dab6550a277af299395cfd967848bc/py/test/testlog.py [modify] https://crrev.com/d18263b2f3dab6550a277af299395cfd967848bc/py/test/log_writer_unittest.py [modify] https://crrev.com/d18263b2f3dab6550a277af299395cfd967848bc/py/test/log_writer.py
,
Jun 14 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/313c7a8e5f3dfe8f88522bde95ddc463a2b66a5e commit 313c7a8e5f3dfe8f88522bde95ddc463a2b66a5e Author: Joel Kitching <kitching@google.com> Date: Mon Jun 06 11:28:14 2016 instalog: initial commit with instalog_common Similar to factory_common, create an instalog_common module to install the instalog.* namespace. BUG= chromium:609069 TEST=Locally Change-Id: I2f9d3b94be4c502701dfa1c71fe733e6beb63c90 Reviewed-on: https://chromium-review.googlesource.com/349844 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [add] https://crrev.com/313c7a8e5f3dfe8f88522bde95ddc463a2b66a5e/py/instalog/__init__.py [add] https://crrev.com/313c7a8e5f3dfe8f88522bde95ddc463a2b66a5e/py/instalog/plugins/__init__.py [add] https://crrev.com/313c7a8e5f3dfe8f88522bde95ddc463a2b66a5e/py/instalog/instalog_common.py [add] https://crrev.com/313c7a8e5f3dfe8f88522bde95ddc463a2b66a5e/py/instalog/plugins/instalog_common.py
,
Jun 14 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/b63e8fce386bdfd27a996583acf659c4579eeb8f commit b63e8fce386bdfd27a996583acf659c4579eeb8f Author: Joel Kitching <kitching@google.com> Date: Tue Jun 07 09:32:35 2016 instalog: import factory utils for use within instalog We would like to use the factory Args system for specifying buffer, input, and output plugin arguments in Instalog. Create a symlink to the factory `utils` directory to make use of this module. BUG= chromium:609069 TEST=Locally CQ-DEPEND=CL:351421 Change-Id: Ie5d128cfc58cd3438526932ffedd917a3173317f Reviewed-on: https://chromium-review.googlesource.com/350260 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [add] https://crrev.com/b63e8fce386bdfd27a996583acf659c4579eeb8f/py/instalog/utils
,
Jun 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/ecc8566308398b118b8678a76f40c2be2cf0e55c commit ecc8566308398b118b8678a76f40c2be2cf0e55c Author: Joel Kitching <kitching@google.com> Date: Mon Jun 13 09:13:19 2016 arg_utils: create custom exception class for errors Create custom exception class ArgError so that clients can differentiate a problem with argument validation versus some other piece of code throwing a ValueError exception. BUG=chromium:618961, chromium:609069 TEST=Locally Change-Id: I8e777398cc2cf03e2cb237180628c01a7237f56a Reviewed-on: https://chromium-review.googlesource.com/351824 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org> [modify] https://crrev.com/ecc8566308398b118b8678a76f40c2be2cf0e55c/py/utils/arg_utils.py
,
Jun 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/7e7a0ba2fe525960f8c170b2b19fc8d00018eb58 commit 7e7a0ba2fe525960f8c170b2b19fc8d00018eb58 Author: Joel Kitching <kitching@google.com> Date: Tue Jun 07 09:35:58 2016 instalog: create plugin_loader for loading plugins Create plugin_base to define plugin classes (buffer, input, output), and use a CoreAPI class to define how plugins interact with Instalog core. plugin_loader takes care of searching for the correct import path, importing the module of the plugin in question, and initializing it with the correct config, logger, and CoreAPI object. BUG= chromium:609069 TEST=Locally Change-Id: Ibca36ea90c7c47feb97d8bb8222d0cf5cf15a496 Reviewed-on: https://chromium-review.googlesource.com/350261 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [add] https://crrev.com/7e7a0ba2fe525960f8c170b2b19fc8d00018eb58/py/instalog/plugin_loader.py [add] https://crrev.com/7e7a0ba2fe525960f8c170b2b19fc8d00018eb58/py/instalog/plugin_base.py [add] https://crrev.com/7e7a0ba2fe525960f8c170b2b19fc8d00018eb58/py/instalog/plugin_loader_unittest.py
,
Jun 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/ab4095a9883f9eb52e9ac34de4f3629991d8b23a commit ab4095a9883f9eb52e9ac34de4f3629991d8b23a Author: Joel Kitching <kitching@google.com> Date: Tue Jun 14 10:31:05 2016 instalog: plugin_sandbox for running a plugin instance Introduce plugin sandbox. Loads the plugin class instance (using plugin_loader), manages the plugin's state, and implements PluginAPI functions that the plugin will need to call. Refactor command-line plugin-running functionality into a new run_plugin.py. Add a sample input_time plugin. The plugin can be directly run at command-line. For example: $ plugins/input_time.py '{"event_name": "instalog"}' BUG= chromium:609069 TEST=Locally Change-Id: If855a3c0764d2e6b5f606bdb167f60167da9b999 Reviewed-on: https://chromium-review.googlesource.com/352430 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [add] https://crrev.com/ab4095a9883f9eb52e9ac34de4f3629991d8b23a/py/instalog/plugin_sandbox_unittest.py [modify] https://crrev.com/ab4095a9883f9eb52e9ac34de4f3629991d8b23a/py/instalog/plugin_loader_unittest.py [add] https://crrev.com/ab4095a9883f9eb52e9ac34de4f3629991d8b23a/py/instalog/plugin_sandbox.py [add] https://crrev.com/ab4095a9883f9eb52e9ac34de4f3629991d8b23a/py/instalog/run_plugin.py [add] https://crrev.com/ab4095a9883f9eb52e9ac34de4f3629991d8b23a/py/instalog/plugins/input_time.py [modify] https://crrev.com/ab4095a9883f9eb52e9ac34de4f3629991d8b23a/py/instalog/plugin_loader.py [add] https://crrev.com/ab4095a9883f9eb52e9ac34de4f3629991d8b23a/py/instalog/datatypes.py [modify] https://crrev.com/ab4095a9883f9eb52e9ac34de4f3629991d8b23a/py/instalog/plugin_base.py
,
Jun 28 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/53cbbd572b28d3442a2479193f49d65b6e4e9867 commit 53cbbd572b28d3442a2479193f49d65b6e4e9867 Author: Chun-Ta Lin <itspeter@google.com> Date: Wed Jun 08 13:42:19 2016 testlog: refactor event_log and testlog This refactoring involves several parts: - Split the log_writer.py (which a large portion is borrowed from event_log.py) into testlog_goofy.py, testlog.py, testlog_helper.py. In addition, make functions serve for similar purposes in event_log.py to call testlog_goofy.py directly as a preparation work toward deprecating the event_log.py. Unittest of event_log.py is partially removed because the manipulation of its internal variable is moved to testlog_goofy.py. Coverage is then covered by testlog_goofy_unittest.py. - Introduce the session JSON file for tests run in a separate process and merge back when the harness aware its finish. This removes the previous EventServer and EventClient that depends heavily on the factory framework. Besides the goofy code, unittest TestlogE2ETest demonstrates how the harness and the test should interact with each other. - file_utils.py changed because the file descriptor will not be freed until the end of process, which might deplete the available descriptors of a single process. - Move TimeUuid() from event_log.py to time_utils. All function calls are changed as well as a preparation of removing event_log.py - We removed the HeratBeat thread per offline discussion, the heatbeat will be trigger on purpose from test program. BUG= chromium:609069 TEST=make lint LINT_WHITELIST="py/test/factory.py \ py/test/testlog.py py/test/testlog_unittest.py\ py/test/testlog_goofy.py py/test/testlog_goofy_unittest.py \ py/test/testlog_seq.py py/test/testlog_seq_unittest.py \ py/test/event_log.py py/test/event_log_unittest.py \ py/utils/file_utils.py py/utils/file_utils_unittest.py \ py/goofy/goofy.py py/goofy/invocation.py py/test/event.py" TEST=Run locally on DUT Change-Id: I750aefa6da99e9e3d196e1fdb2db7ad7f76fa69c Reviewed-on: https://chromium-review.googlesource.com/352410 Commit-Ready: Chun-ta Lin <itspeter@chromium.org> Tested-by: Chun-ta Lin <itspeter@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/event.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/event_log.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/utils/camera_utils.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/testlog_unittest.py [add] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/testlog_goofy_unittest.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/event_log_unittest.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/goofy/invocation.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/utils/file_utils.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/testlog.py [delete] https://crrev.com/9e5cea80d404c2b23289efebf6815282d065d701/py/test/log_writer.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/factory.py [add] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/testlog_seq.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/gooftool/commands.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/e2e_test/ui_actuator.py [add] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/testlog_seq_unittest.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/utils/time_utils.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/goofy/goofy.py [add] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/test/testlog_goofy.py [modify] https://crrev.com/53cbbd572b28d3442a2479193f49d65b6e4e9867/py/utils/file_utils_unittest.py [delete] https://crrev.com/9e5cea80d404c2b23289efebf6815282d065d701/py/test/log_writer_unittest.py
,
Jun 30 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/4411df7e72bccc7d66cfe4952ce81096aba3c537 commit 4411df7e72bccc7d66cfe4952ce81096aba3c537 Author: Joel Kitching <kitching@google.com> Date: Tue Jun 21 09:40:16 2016 instalog: implement event streams for output plugins Add a sample output_stdout plugin. Plugins can now be piped to one another at command-line. For example: $ plugins/input_time.py '{"event_name": "instalog"}' \ | plugins/output_stdout.py Refactor run_plugin to deal with added complexity. BUG= chromium:609069 TEST=Locally Change-Id: I52283d611307f99e4476d7feec04744b005c73d8 Reviewed-on: https://chromium-review.googlesource.com/354352 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [modify] https://crrev.com/4411df7e72bccc7d66cfe4952ce81096aba3c537/py/instalog/plugin_sandbox_unittest.py [add] https://crrev.com/4411df7e72bccc7d66cfe4952ce81096aba3c537/py/instalog/json_utils.py [modify] https://crrev.com/4411df7e72bccc7d66cfe4952ce81096aba3c537/py/instalog/run_plugin.py [modify] https://crrev.com/4411df7e72bccc7d66cfe4952ce81096aba3c537/py/instalog/plugin_loader_unittest.py [modify] https://crrev.com/4411df7e72bccc7d66cfe4952ce81096aba3c537/py/instalog/plugin_loader.py [add] https://crrev.com/4411df7e72bccc7d66cfe4952ce81096aba3c537/py/instalog/datatypes_unittest.py [modify] https://crrev.com/4411df7e72bccc7d66cfe4952ce81096aba3c537/py/instalog/datatypes.py [modify] https://crrev.com/4411df7e72bccc7d66cfe4952ce81096aba3c537/py/instalog/plugin_sandbox.py [add] https://crrev.com/4411df7e72bccc7d66cfe4952ce81096aba3c537/py/instalog/plugins/output_stdout.py [modify] https://crrev.com/4411df7e72bccc7d66cfe4952ce81096aba3c537/py/instalog/plugin_base.py [add] https://crrev.com/4411df7e72bccc7d66cfe4952ce81096aba3c537/py/instalog/json_utils_unittest.py
,
Jul 4 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/9713bc90c24e603e388683818de598cd6440d33a commit 9713bc90c24e603e388683818de598cd6440d33a Author: Chun-Ta Lin <itspeter@google.com> Date: Sun Jul 03 05:48:48 2016 Refactor the EventBase.PopAndSet() function - Replace the PopAndSet() and from EventBase to __setitem__(). After the replacement, the validation of each fields is checked at the time that __setitem__() is called. In addition, we won't have useless None value generated by Populate() before. - EventBase.CheckMissingFields() is introduced. - Refactor part of code from testlog into testlog_utils TEST=make lint LINT_WHITELIST=" \ py/test/testlog.py py/test/testlog_unittest.py \ py/test/testlog_utils.py py/test/testlog_utils_unittest.py \ py/test/testlog_validator.py py/test/testlog_validator_unittest.py" TEST=Locally on DUT BUG= chromium:609069 Change-Id: Icc534e87d1d5a42ddad9074041124a74cdb22777 Reviewed-on: https://chromium-review.googlesource.com/358290 Commit-Ready: Chun-ta Lin <itspeter@chromium.org> Tested-by: Chun-ta Lin <itspeter@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [add] https://crrev.com/9713bc90c24e603e388683818de598cd6440d33a/py/test/testlog_validator.py [modify] https://crrev.com/9713bc90c24e603e388683818de598cd6440d33a/py/test/testlog.py [add] https://crrev.com/9713bc90c24e603e388683818de598cd6440d33a/py/test/testlog_utils.py [add] https://crrev.com/9713bc90c24e603e388683818de598cd6440d33a/py/test/testlog_validator_unittest.py [modify] https://crrev.com/9713bc90c24e603e388683818de598cd6440d33a/py/test/testlog_unittest.py [add] https://crrev.com/9713bc90c24e603e388683818de598cd6440d33a/py/test/testlog_utils_unittest.py
,
Jul 5 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/78f6936d17b93f9921290d52959d71f50356009d commit 78f6936d17b93f9921290d52959d71f50356009d Author: Joel Kitching <kitching@google.com> Date: Tue Jul 05 03:22:03 2016 testlog: create input log file plugins Create InputLogFile and InputTestlogFile plugins to repeatedly read from a file and parse each line as a new Instalog event. BUG= chromium:609069 TEST=Locally Change-Id: I090255d0c92437f2c6bfb6aaf09d403f957801dc Reviewed-on: https://chromium-review.googlesource.com/358311 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/78f6936d17b93f9921290d52959d71f50356009d/py/utils/file_utils.py [add] https://crrev.com/78f6936d17b93f9921290d52959d71f50356009d/py/instalog/plugins/input_testlog_file.py [add] https://crrev.com/78f6936d17b93f9921290d52959d71f50356009d/py/instalog/plugins/input_log_file.py
,
Jul 6 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/8d6a1d673d555c3c78c67ac41114cd577cd557ee commit 8d6a1d673d555c3c78c67ac41114cd577cd557ee Author: Chun-Ta Lin <itspeter@google.com> Date: Tue Jul 05 03:41:38 2016 event DESTROY_TEST didn't send out Introduced in the refactor of event_log (CL:352410), adding the snippet back. BUG= chromium:609069 , chrome-os-partner:55014 TEST=Manually on DUT Change-Id: I5d5fb785226e6b4b2a1202d041460118866447ba Reviewed-on: https://chromium-review.googlesource.com/358293 Commit-Ready: Shun-Hsing Ou <shunhsingou@chromium.org> Tested-by: Chun-ta Lin <itspeter@chromium.org> Reviewed-by: Shun-Hsing Ou <shunhsingou@chromium.org> [modify] https://crrev.com/8d6a1d673d555c3c78c67ac41114cd577cd557ee/py/goofy/invocation.py
,
Jul 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/f1c1ef234f52dc6f5e671185dd533f34e57cec23 commit f1c1ef234f52dc6f5e671185dd533f34e57cec23 Author: Joel Kitching <kitching@google.com> Date: Tue Jun 28 16:46:58 2016 instalog: prepare for buffer plugin and attachments - Refactor run_plugin, include support for BufferPlugins. - Expose superclass as GetSuperclass in PluginLoader and PluginSandbox. - Add support to create fake attachments in input_time.py. - Add support for copying Event objects. - Add support to "call into" a Plugin instance with PluginSandbox.CallPlugin. - Update docstrings for BufferPlugin in plugin_base. Note that buffer plugin will be committed separately. BUG= chromium:609069 TEST=Locally Change-Id: Ib8abf987c961b934e4dcee689b0f06cbdbdb6a69 Reviewed-on: https://chromium-review.googlesource.com/356322 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/f1c1ef234f52dc6f5e671185dd533f34e57cec23/py/instalog/json_utils.py [modify] https://crrev.com/f1c1ef234f52dc6f5e671185dd533f34e57cec23/py/instalog/run_plugin.py [modify] https://crrev.com/f1c1ef234f52dc6f5e671185dd533f34e57cec23/py/instalog/plugin_loader_unittest.py [modify] https://crrev.com/f1c1ef234f52dc6f5e671185dd533f34e57cec23/py/instalog/plugins/input_time.py [modify] https://crrev.com/f1c1ef234f52dc6f5e671185dd533f34e57cec23/py/instalog/plugin_loader.py [modify] https://crrev.com/f1c1ef234f52dc6f5e671185dd533f34e57cec23/py/instalog/datatypes.py [modify] https://crrev.com/f1c1ef234f52dc6f5e671185dd533f34e57cec23/py/instalog/plugin_sandbox.py [modify] https://crrev.com/f1c1ef234f52dc6f5e671185dd533f34e57cec23/py/instalog/plugins/output_stdout.py [modify] https://crrev.com/f1c1ef234f52dc6f5e671185dd533f34e57cec23/py/instalog/plugin_base.py [modify] https://crrev.com/f1c1ef234f52dc6f5e671185dd533f34e57cec23/py/instalog/datatypes_unittest.py
,
Jul 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/4715c61ceef0caf15c2ce1819f60194e3572f3ef commit 4715c61ceef0caf15c2ce1819f60194e3572f3ef Author: Chun-Ta Lin <itspeter@google.com> Date: Thu Jul 07 07:48:49 2016 Fix the unittest of testlog. With the new validate function, the unittest breaks because of type difference. BUG= chromium:609069 TEST=py/test/testlog_unittest.py Change-Id: I1964c6984ac80ccbd2fa5ff8f498d4886834fc6d Reviewed-on: https://chromium-review.googlesource.com/358721 Commit-Ready: Chun-ta Lin <itspeter@chromium.org> Tested-by: Chun-ta Lin <itspeter@chromium.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org> [modify] https://crrev.com/4715c61ceef0caf15c2ce1819f60194e3572f3ef/py/test/testlog_unittest.py
,
Jul 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/39f5cd544dd79d12cf37e03475617068f1cf2181 commit 39f5cd544dd79d12cf37e03475617068f1cf2181 Author: Joel Kitching <kitching@google.com> Date: Mon Jul 04 05:28:47 2016 instalog: rpc input and output plugins Introduce a pair of plugins for transferring data across the network from one Instalog node to another. JSON RPC is used to make the transfer. Minimal support for file transfers is provided (severe limitations on file size, since we must use base64 encode to transfer the file as a JSON string). In the future, will implement a more flexible pair of network transfer plugins supporting compression and large file sizes. Other miscellaneous changes: - Fix a bug in plugin_sandbox.Emit (not returning proper value). - Fix a bug in run_plugin.Emit (not returning proper value). - Fix a bug in plugin_sandbox.EventStreamAbort (both del + pop). - Stop should no longer work in PAUSING and UNPAUSING states. - Update some comments and variable names in input_time and output_stdout. - Fix a bug in run_plugin to create the state directory. BUG= chromium:609069 TEST=Locally using run_plugin.py Change-Id: I4a954755a62cf0bd51eddd1c02aed3e6010c79f0 Reviewed-on: https://chromium-review.googlesource.com/358340 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/39f5cd544dd79d12cf37e03475617068f1cf2181/py/instalog/plugin_sandbox_unittest.py [modify] https://crrev.com/39f5cd544dd79d12cf37e03475617068f1cf2181/py/instalog/run_plugin.py [add] https://crrev.com/39f5cd544dd79d12cf37e03475617068f1cf2181/py/instalog/plugins/input_rpc.py [modify] https://crrev.com/39f5cd544dd79d12cf37e03475617068f1cf2181/py/instalog/plugin_sandbox.py [modify] https://crrev.com/39f5cd544dd79d12cf37e03475617068f1cf2181/py/instalog/plugins/input_time.py [modify] https://crrev.com/39f5cd544dd79d12cf37e03475617068f1cf2181/py/instalog/plugin_loader.py [modify] https://crrev.com/39f5cd544dd79d12cf37e03475617068f1cf2181/py/instalog/plugins/output_stdout.py [add] https://crrev.com/39f5cd544dd79d12cf37e03475617068f1cf2181/py/instalog/plugins/output_rpc.py
,
Jul 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/bac501dbcf462bfe2fc8e5df444d40fb05f65885 commit bac501dbcf462bfe2fc8e5df444d40fb05f65885 Author: Joel Kitching <kitching@google.com> Date: Fri Jul 08 06:51:29 2016 instalog: add support for external python libraries Modify instalog_common to include the directory for external libraries (instalog/external). Introduce a requirements.txt for use with pip to install external requirements: $ pip install -t external -r requirements.txt Currently the only listed package is `transaction`. BUG= chromium:609069 TEST=Locally Change-Id: I7cd3321b5112430a65a83911052f58fa5b3dc888 Reviewed-on: https://chromium-review.googlesource.com/359101 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/bac501dbcf462bfe2fc8e5df444d40fb05f65885/py/instalog/instalog_common.py [add] https://crrev.com/bac501dbcf462bfe2fc8e5df444d40fb05f65885/py/instalog/requirements.txt
,
Jul 12 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/041812219712edc65f624288616108047f3797b4 commit 041812219712edc65f624288616108047f3797b4 Author: Joel Kitching <kitching@google.com> Date: Fri Jul 08 07:04:59 2016 instalog: add ping-pong functionality to rpc plugins It is a waste of resources for output_rpc to repeatedly prepare a batch of events to send, when the host running the input_rpc plugin may not be available. Introduce a "Pong" function on input_rpc, which is first checked by output_rpc before preparing a batch of events to transmit. Also, reduce the verbosity of input_rpc, output_rpc, and output_stdout. BUG= chromium:609069 TEST=Locally Change-Id: I7b5a3e39e943aaf97959d2e3ae098af28f33d97c Reviewed-on: https://chromium-review.googlesource.com/359120 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/041812219712edc65f624288616108047f3797b4/py/instalog/plugins/input_rpc.py [modify] https://crrev.com/041812219712edc65f624288616108047f3797b4/py/instalog/plugins/output_stdout.py [modify] https://crrev.com/041812219712edc65f624288616108047f3797b4/py/instalog/plugins/output_rpc.py
,
Jul 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/8ddf52e81ee402c558507d4e3abd76088c48a663 commit 8ddf52e81ee402c558507d4e3abd76088c48a663 Author: Joel Kitching <kitching@google.com> Date: Thu Jul 07 06:30:14 2016 instalog: add batching functionality to input_log_file To prevent getting stuck on a huge input file, rewrite input_log_file to process batches of N events. Also, refactor code related to truncating log files, to minimize log file locking time. BUG= chromium:609069 TEST=Manually on DUT Change-Id: If65d86735c10237be73b02a508ffcf2bbe161d9f Reviewed-on: https://chromium-review.googlesource.com/358337 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/8ddf52e81ee402c558507d4e3abd76088c48a663/py/instalog/plugins/input_log_file.py
,
Jul 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/d849029e68d19d793d4c46b98f3ce2797104f3c0 commit d849029e68d19d793d4c46b98f3ce2797104f3c0 Author: Chun-Ta Lin <itspeter@google.com> Date: Thu Jul 07 13:18:39 2016 Implement Validator.Attachment TEST=make lint LINT_WHITELIST="py/test/testlog.py \ py/test/testlog_validator.py py/test/testlog_validator_unittest.py" TEST=py/test/testlog_validator_unittest.py BUG= chromium:609069 Change-Id: Iab9856a74dff0bb3038d507176332284ffd50e1e Reviewed-on: https://chromium-review.googlesource.com/358734 Commit-Ready: Chun-ta Lin <itspeter@chromium.org> Tested-by: Chun-ta Lin <itspeter@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [modify] https://crrev.com/d849029e68d19d793d4c46b98f3ce2797104f3c0/py/test/testlog_validator_unittest.py [modify] https://crrev.com/d849029e68d19d793d4c46b98f3ce2797104f3c0/py/test/testlog_validator.py [modify] https://crrev.com/d849029e68d19d793d4c46b98f3ce2797104f3c0/py/test/testlog.py
,
Jul 17 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/fd59113d9a39e364dcb8f377655c543b49de6286 commit fd59113d9a39e364dcb8f377655c543b49de6286 Author: Chun-Ta Lin <itspeter@google.com> Date: Thu Jul 14 08:55:22 2016 Implement series for StationTestRun In addition, - fix the bug that a testlog API cannot be called more than once because session JSON got multiple entries. - fix the bug that metadata is collected into primary JSON. - fix the bug that session JSON with attachment will be failed to collect. TEST=make lint LINT_WHITELIST=" \ py/test/testlog.py py/test/testlog_unittest.py \ py/test/testlog_utils.py py/test/testlog_utils_unittest.py \ py/test/testlog_validator.py py/test/testlog_validator_unittest.py" TEST=make test UNITTESTS_WHITELIST=" \ py/test/testlog_validator_unittest.py \ py/test/testlog_utils_unittest.py \ py/test/testlog_unittest.py" BUG= chromium:609069 Change-Id: Ia6d038f9008ea82fec22b27d174eb793079d35dc Reviewed-on: https://chromium-review.googlesource.com/360339 Commit-Ready: Chun-ta Lin <itspeter@chromium.org> Tested-by: Chun-ta Lin <itspeter@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [modify] https://crrev.com/fd59113d9a39e364dcb8f377655c543b49de6286/py/test/testlog_validator.py [modify] https://crrev.com/fd59113d9a39e364dcb8f377655c543b49de6286/py/test/testlog.py [modify] https://crrev.com/fd59113d9a39e364dcb8f377655c543b49de6286/py/test/testlog_utils.py [modify] https://crrev.com/fd59113d9a39e364dcb8f377655c543b49de6286/py/test/testlog_validator_unittest.py [modify] https://crrev.com/fd59113d9a39e364dcb8f377655c543b49de6286/py/test/testlog_unittest.py [modify] https://crrev.com/fd59113d9a39e364dcb8f377655c543b49de6286/py/test/testlog_utils_unittest.py
,
Jul 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/21bc69bdc1afcb78c26bc648e7d32c2f7372efb7 commit 21bc69bdc1afcb78c26bc648e7d32c2f7372efb7 Author: Joel Kitching <kitching@google.com> Date: Wed Jul 13 15:29:52 2016 testlog: rename uuid and stationinstallationid As per current Testlog Playbook document, rename: - id --> uuid - stationReimageId --> stationInstallationId Also, use TimedUUID for the uuid field instead of uuid4. BUG= chromium:609069 TEST=testlog_unittest.py and testlog_goofy_unittest.py Change-Id: Ic3322624dc98f9c717cfaa8054cca7acf60cc3d3 Reviewed-on: https://chromium-review.googlesource.com/360241 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chun-ta Lin <itspeter@chromium.org> [modify] https://crrev.com/21bc69bdc1afcb78c26bc648e7d32c2f7372efb7/py/test/event_log.py [modify] https://crrev.com/21bc69bdc1afcb78c26bc648e7d32c2f7372efb7/py/test/testlog_goofy_unittest.py [modify] https://crrev.com/21bc69bdc1afcb78c26bc648e7d32c2f7372efb7/py/goofy/invocation.py [modify] https://crrev.com/21bc69bdc1afcb78c26bc648e7d32c2f7372efb7/py/test/testlog.py [modify] https://crrev.com/21bc69bdc1afcb78c26bc648e7d32c2f7372efb7/py/test/testlog_unittest.py [modify] https://crrev.com/21bc69bdc1afcb78c26bc648e7d32c2f7372efb7/py/goofy/goofy.py [modify] https://crrev.com/21bc69bdc1afcb78c26bc648e7d32c2f7372efb7/py/test/testlog_goofy.py
,
Jul 25 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/3acbf61efeb5ccc6e6e32dd463c98c45b69e3fe5 commit 3acbf61efeb5ccc6e6e32dd463c98c45b69e3fe5 Author: Wei-Han Chen <stimim@google.com> Date: Sat Jul 23 00:35:04 2016 invocation: move the timing to resolve dargs In test invocation._run, we log test.dargs before running the test. However, the logged dargs might not be the actual dargs that is used to run test, because it need to be resolved by ResolveTestArgs function. In this CL, we resolve the test args first, log the resolved value, and call the test eventually. BUG= chromium:609069 TEST=manual test Change-Id: I676461944f85db67f07f4fc8cf3d4358fdaefd2a Reviewed-on: https://chromium-review.googlesource.com/362740 Commit-Ready: Wei-Han Chen <stimim@chromium.org> Tested-by: Wei-Han Chen <stimim@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [modify] https://crrev.com/3acbf61efeb5ccc6e6e32dd463c98c45b69e3fe5/py/goofy/invocation.py
,
Jul 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/749a907a581fa92a8620a6d606bf195cbb9c6777 commit 749a907a581fa92a8620a6d606bf195cbb9c6777 Author: Joel Kitching <kitching@google.com> Date: Fri Jul 08 07:44:06 2016 wifi_throughput: add testlog support Log throughput speeds to testlog. BUG= chromium:609069 TEST=Manually on DUT Change-Id: I138d088aea594161d2dd1c40c480b279086bb29c Reviewed-on: https://chromium-review.googlesource.com/359132 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [modify] https://crrev.com/749a907a581fa92a8620a6d606bf195cbb9c6777/py/test/pytests/wifi_throughput.py
,
Aug 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/44dfedbfc2c3b27e1b5743690c1538fd1ea42399 commit 44dfedbfc2c3b27e1b5743690c1538fd1ea42399 Author: Joel Kitching <kitching@google.com> Date: Thu Jul 21 00:57:58 2016 testlog: log station.test_run starting event Implement the station.test_run STARTING event, so that downstream systems processing testlog events can know when an event is beginning to run. BUG= chromium:609069 TEST=Run goofy locally CQ-DEPEND=CL:361484 Change-Id: Ie1233aecc22dc08dd2e25c860f6fee0bbc8ff646 Reviewed-on: https://chromium-review.googlesource.com/362710 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [modify] https://crrev.com/44dfedbfc2c3b27e1b5743690c1538fd1ea42399/py/goofy/invocation.py [modify] https://crrev.com/44dfedbfc2c3b27e1b5743690c1538fd1ea42399/py/test/testlog_unittest.py [modify] https://crrev.com/44dfedbfc2c3b27e1b5743690c1538fd1ea42399/py/test/testlog.py
,
Aug 3 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/cbf39c72086b1e62263a23bb54d8841bf3c27aee commit cbf39c72086b1e62263a23bb54d8841bf3c27aee Author: Joel Kitching <kitching@google.com> Date: Tue Jul 12 00:18:40 2016 instalog: create bigquery output plugin Create a BigQuery output plugin, which should be subclassed according to the desired Instalog event -> BigQuery table row mapping. BUG=b:30449283, chromium:609069 TEST=Manually with run_plugin.py Change-Id: Id14181a606d7561ffd1186dd2aa40345d8a6f90b Reviewed-on: https://chromium-review.googlesource.com/359921 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [add] https://crrev.com/cbf39c72086b1e62263a23bb54d8841bf3c27aee/py/instalog/plugins/output_bigquery.py [add] https://crrev.com/cbf39c72086b1e62263a23bb54d8841bf3c27aee/py/instalog/plugins/output_bigquery_testlog.py [modify] https://crrev.com/cbf39c72086b1e62263a23bb54d8841bf3c27aee/py/instalog/requirements.txt [modify] https://crrev.com/cbf39c72086b1e62263a23bb54d8841bf3c27aee/py/instalog/datatypes.py
,
Aug 3 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/3e72e8b75c8b1d405cd2a785e96b16d17e5657b3 commit 3e72e8b75c8b1d405cd2a785e96b16d17e5657b3 Author: Joel Kitching <kitching@google.com> Date: Mon Jul 04 09:03:00 2016 instalog: implement core daemon and cli Implement Instalog core, and use JSON RPC to communicate with it via a separate CLI controller script. Sample config is also included. BUG=b:30446792, chromium:609069 TEST=Manually Change-Id: Iaf7621a471a593bc7091a509bec01863f2dfb55a Reviewed-on: https://chromium-review.googlesource.com/358390 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [add] https://crrev.com/3e72e8b75c8b1d405cd2a785e96b16d17e5657b3/bin/instalog [add] https://crrev.com/3e72e8b75c8b1d405cd2a785e96b16d17e5657b3/py/instalog/instalog.yaml_sample [add] https://crrev.com/3e72e8b75c8b1d405cd2a785e96b16d17e5657b3/py/instalog/daemon_utils.py [modify] https://crrev.com/3e72e8b75c8b1d405cd2a785e96b16d17e5657b3/py/instalog/plugin_sandbox.py [add] https://crrev.com/3e72e8b75c8b1d405cd2a785e96b16d17e5657b3/py/instalog/core.py [add] https://crrev.com/3e72e8b75c8b1d405cd2a785e96b16d17e5657b3/py/instalog/__main__.py [modify] https://crrev.com/3e72e8b75c8b1d405cd2a785e96b16d17e5657b3/py/instalog/plugin_loader.py [modify] https://crrev.com/3e72e8b75c8b1d405cd2a785e96b16d17e5657b3/py/instalog/plugin_base.py [add] https://crrev.com/3e72e8b75c8b1d405cd2a785e96b16d17e5657b3/py/instalog/cli.py
,
Aug 3 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/86624e8b771d3769a1f6af7d98d2744d720c804a commit 86624e8b771d3769a1f6af7d98d2744d720c804a Author: Joel Kitching <kitching@google.com> Date: Wed Aug 03 00:22:54 2016 instalog: check dict in event constructor Check that first argument provided to Event constructor is a dict. Add a corresponding unittest. BUG= chromium:609069 TEST=Manually Change-Id: I9c4c3f59b4b881ad73eeaba86a69e869765fe95b Reviewed-on: https://chromium-review.googlesource.com/365467 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [modify] https://crrev.com/86624e8b771d3769a1f6af7d98d2744d720c804a/py/instalog/datatypes_unittest.py [modify] https://crrev.com/86624e8b771d3769a1f6af7d98d2744d720c804a/py/instalog/datatypes.py
,
Aug 8 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/d01336a4a5a101f2863911866caba6265f1f0f1b commit d01336a4a5a101f2863911866caba6265f1f0f1b Author: Joel Kitching <kitching@google.com> Date: Wed Aug 03 00:14:59 2016 instalog: refactor input_log_file to support multiple files Refactor input_log_file to support a glob pattern as its target path. The pattern will be periodically checked for any new files, which will be added to the list of log files to check for new input. This is useful for cases where log files are dynamically generated based on time, rotation, etc. Also: Fix input_testlog_file date processing and attachment processing. Also: Introduce a log_utils module, whose current primary purpose is to provide a LoggerMixin class for plugins to use. LoggerMixin assumes the existence of a self.logger object, and provides self.info, self.warning, etc. convenience functions. BUG=b:30450754, chromium:609069 TEST=Manually with run_plugin.py Change-Id: I5cb70b8ca4fc234a56b897a20ff3ff02c58175f0 Reviewed-on: https://chromium-review.googlesource.com/365474 Commit-Ready: Dan Shi <dshi@google.com> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [modify] https://crrev.com/d01336a4a5a101f2863911866caba6265f1f0f1b/py/instalog/plugin_sandbox_unittest.py [modify] https://crrev.com/d01336a4a5a101f2863911866caba6265f1f0f1b/py/instalog/plugins/input_log_file.py [modify] https://crrev.com/d01336a4a5a101f2863911866caba6265f1f0f1b/py/instalog/plugin_loader_unittest.py [modify] https://crrev.com/d01336a4a5a101f2863911866caba6265f1f0f1b/py/instalog/plugins/input_testlog_file.py [add] https://crrev.com/d01336a4a5a101f2863911866caba6265f1f0f1b/py/instalog/log_utils_unittest.py [modify] https://crrev.com/d01336a4a5a101f2863911866caba6265f1f0f1b/py/instalog/datatypes_unittest.py [add] https://crrev.com/d01336a4a5a101f2863911866caba6265f1f0f1b/py/instalog/log_utils.py [modify] https://crrev.com/d01336a4a5a101f2863911866caba6265f1f0f1b/py/instalog/run_plugin.py [modify] https://crrev.com/d01336a4a5a101f2863911866caba6265f1f0f1b/py/instalog/plugin_base.py [modify] https://crrev.com/d01336a4a5a101f2863911866caba6265f1f0f1b/py/instalog/json_utils_unittest.py [modify] https://crrev.com/d01336a4a5a101f2863911866caba6265f1f0f1b/py/instalog/cli.py
,
Aug 8 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/6b70ad9e25a17f59b906bd327698c4edd79ea33e commit 6b70ad9e25a17f59b906bd327698c4edd79ea33e Author: Joel Kitching <kitching@google.com> Date: Wed Aug 03 00:29:49 2016 instalog: input_health to report disk usage and system time Introduce a plugin called input_health, which generates events that contain disk usage of the partition where Instalog's state directory is stored, as well as the current system time. These events can be processed downstream to verify connectivity of an Instalog node, as well as checking its "health". Also update core.py and run_plugin.py to include the special '__nodeId__' key-value to record an Event's origin. BUG=b:30450850, chromium:609069 TEST=Manually with run_plugin.py Change-Id: Ife002eeb0da8303f9f61df8908c16a7b32204d27 Reviewed-on: https://chromium-review.googlesource.com/365540 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [modify] https://crrev.com/6b70ad9e25a17f59b906bd327698c4edd79ea33e/py/instalog/core.py [add] https://crrev.com/6b70ad9e25a17f59b906bd327698c4edd79ea33e/py/instalog/plugins/input_health.py [modify] https://crrev.com/6b70ad9e25a17f59b906bd327698c4edd79ea33e/py/instalog/run_plugin.py
,
Aug 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/e2628b65a2987fc164ab5da45c70d7534d45da9d commit e2628b65a2987fc164ab5da45c70d7534d45da9d Author: Joel Kitching <kitching@google.com> Date: Wed Aug 03 07:53:19 2016 instalog: add compression and fix bugs in rpc plugins - Add zlib compression to RPC plugins. - Use the total serialized data size to count against threshold_bytes and max_bytes. - Fix a file handler leak in input_rpc. - Display transfer size and and time in output_rpc. BUG=b:30616536, chromium:609069 TEST=Manually with run_plugin.py Change-Id: Ied6f8466d1e136e57afb4f61b5b56eced75b6e78 Reviewed-on: https://chromium-review.googlesource.com/365521 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [modify] https://crrev.com/e2628b65a2987fc164ab5da45c70d7534d45da9d/py/instalog/plugins/input_rpc.py [modify] https://crrev.com/e2628b65a2987fc164ab5da45c70d7534d45da9d/py/instalog/plugins/output_rpc.py
,
Aug 10 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/bdc7522ef9daf9f834f872e6435d8d9664391c69 commit bdc7522ef9daf9f834f872e6435d8d9664391c69 Author: Joel Kitching <kitching@google.com> Date: Wed Aug 10 02:09:22 2016 instalog/input_testlog_file: drop attachments that don't exist Instead of passing a non-existent file path in an event to the buffer (which will fail to commit), check for the existence of the attachment file before Emit. If the file dosen't exist, drop it with a warning. BUG=b:30450754, chromium:609069 TEST=Manually with run_plugin.py Change-Id: I3d6cba6d71ef50945d1092ad9403b2339bbb6666 Reviewed-on: https://chromium-review.googlesource.com/367570 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [modify] https://crrev.com/bdc7522ef9daf9f834f872e6435d8d9664391c69/py/instalog/plugins/input_testlog_file.py
,
Aug 10 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/d49ddb1c879f1722eb1562b807c2e675cddd8b3d commit d49ddb1c879f1722eb1562b807c2e675cddd8b3d Author: Joel Kitching <kitching@google.com> Date: Wed Aug 10 02:15:45 2016 instalog: stop removing from sys.modules in loader Stop removing references to the plugin modules from sys.modules before and after import. It causes problems when we want to have two plugin instances of the same plugin type (the first plugin's references to any other modules stop working correctly). In order to catch the case where a plugin file is removed before re-import, add a case to check for whether the plugin was already previously imported, and use `reload` instead. BUG= chromium:609069 TEST=Manually with run_plugin.py Change-Id: Id1b18fb6385be106445330ff4cea374b3d4ea042 Reviewed-on: https://chromium-review.googlesource.com/367571 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [modify] https://crrev.com/d49ddb1c879f1722eb1562b807c2e675cddd8b3d/py/instalog/plugin_loader.py
,
Aug 11 2016
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/overlays/project-goofy-private/+/16e1788928f761e30671bdbc4eee5e8dbf0a5e60 commit 16e1788928f761e30671bdbc4eee5e8dbf0a5e60 Author: Joel Kitching <kitching@google.com> Date: Fri Jul 22 23:39:33 2016
,
Aug 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/d2411064b40e9c10b39095da2fa8e3f22bc617e9 commit d2411064b40e9c10b39095da2fa8e3f22bc617e9 Author: Joel Kitching <kitching@google.com> Date: Fri Jul 22 23:28:33 2016 testlog: implement serial number support BUG= chromium:609069 TEST=Manually on DUT Change-Id: Id66f9d05838a7ac38c07bea67e3e20317b54fbeb Reviewed-on: https://chromium-review.googlesource.com/362730 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [modify] https://crrev.com/d2411064b40e9c10b39095da2fa8e3f22bc617e9/py/goofy/invocation.py [modify] https://crrev.com/d2411064b40e9c10b39095da2fa8e3f22bc617e9/py/device/info.py [modify] https://crrev.com/d2411064b40e9c10b39095da2fa8e3f22bc617e9/py/test/pytests/station_entry.py
,
Aug 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/98f4cb3899da9dce5e4261061353d4f512ed81a4 commit 98f4cb3899da9dce5e4261061353d4f512ed81a4 Author: Joel Kitching <kitching@google.com> Date: Wed Aug 10 02:33:57 2016 instalog: sandbox captures exceptions from plugin Capture any exceptions thrown by the plugin threads running Start, Main, or Stop. When an exception occurs, the plugin is forced into the STOPPING state. BUG= chromium:609069 TEST=Manually with run_plugin.py Change-Id: I04d645f31b30da9dea5bb92c742f51072c604dab Reviewed-on: https://chromium-review.googlesource.com/367572 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [modify] https://crrev.com/98f4cb3899da9dce5e4261061353d4f512ed81a4/py/instalog/plugin_sandbox.py
,
Aug 12 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/af0a08d0be9b84c9ee16ab39926a0d064cbae13e commit af0a08d0be9b84c9ee16ab39926a0d064cbae13e Author: Joel Kitching <kitching@google.com> Date: Fri Aug 12 03:19:06 2016 station_entry: fix serial number bug dut.info.serial_numbers is being accessed, which does not exist. Should be changed to dut.info.all_serial_numbers. BUG= chromium:609069 TEST=Manually on DUT Change-Id: Ie2a2cc10389334e43c75536f6a661c9ae27de339 Reviewed-on: https://chromium-review.googlesource.com/368531 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [modify] https://crrev.com/af0a08d0be9b84c9ee16ab39926a0d064cbae13e/py/test/pytests/station_entry.py
,
Aug 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/3cd4e626d0ef3acee0507cfb04b696e35c4fcc20 commit 3cd4e626d0ef3acee0507cfb04b696e35c4fcc20 Author: Joel Kitching <kitching@google.com> Date: Wed Aug 10 08:05:46 2016 instalog: plugin to capture screencap events from drm/dri On specified interval, save screencap as an input event with attachment file. drm.py library imported from autotest codebase unmodified, so it does not conform to Factory codebase standards. BUG=b:30449282, chromium:609069 TEST=Manually with run_plugin.py Change-Id: I6fe5a759c92a51432c4294db0472fe5c4401652c Reviewed-on: https://chromium-review.googlesource.com/367611 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [add] https://crrev.com/3cd4e626d0ef3acee0507cfb04b696e35c4fcc20/py/instalog/plugins/input_drm_screencap/__init__.py [add] https://crrev.com/3cd4e626d0ef3acee0507cfb04b696e35c4fcc20/py/instalog/plugins/input_drm_screencap/instalog_common.py [modify] https://crrev.com/3cd4e626d0ef3acee0507cfb04b696e35c4fcc20/Makefile [add] https://crrev.com/3cd4e626d0ef3acee0507cfb04b696e35c4fcc20/py/instalog/plugins/input_drm_screencap/input_drm_screencap.py [add] https://crrev.com/3cd4e626d0ef3acee0507cfb04b696e35c4fcc20/py/instalog/plugins/input_drm_screencap/drm.py
,
Aug 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/2cba1dcd16cfa12c37b0a269f11b71236b5b206d commit 2cba1dcd16cfa12c37b0a269f11b71236b5b206d Author: Joel Kitching <kitching@google.com> Date: Wed Aug 10 14:43:32 2016 instalog: introduce sleep call for plugins When a plugin is requested to stop, it might be in the middle of a time.sleep call. This provides an alternative sleep function, which will return immediately when a plugin changes to the STOPPING state. BUG= chromium:609069 TEST=Manually with run_plugin.py Change-Id: I0804649cae04e4f474ad30c83617964dddf8a159 Reviewed-on: https://chromium-review.googlesource.com/367684 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [modify] https://crrev.com/2cba1dcd16cfa12c37b0a269f11b71236b5b206d/py/instalog/plugins/input_drm_screencap/input_drm_screencap.py [modify] https://crrev.com/2cba1dcd16cfa12c37b0a269f11b71236b5b206d/py/instalog/plugins/input_log_file.py [modify] https://crrev.com/2cba1dcd16cfa12c37b0a269f11b71236b5b206d/py/instalog/plugins/output_bigquery.py [modify] https://crrev.com/2cba1dcd16cfa12c37b0a269f11b71236b5b206d/py/instalog/plugins/input_time.py [modify] https://crrev.com/2cba1dcd16cfa12c37b0a269f11b71236b5b206d/py/instalog/plugins/output_rpc.py [modify] https://crrev.com/2cba1dcd16cfa12c37b0a269f11b71236b5b206d/py/instalog/plugins/output_stdout.py [modify] https://crrev.com/2cba1dcd16cfa12c37b0a269f11b71236b5b206d/py/instalog/plugin_base.py [modify] https://crrev.com/2cba1dcd16cfa12c37b0a269f11b71236b5b206d/py/instalog/plugins/input_health.py
,
Aug 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/607500353be6d76e76be3286f8bd7fdec9d679b5 commit 607500353be6d76e76be3286f8bd7fdec9d679b5 Author: Joel Kitching <kitching@google.com> Date: Wed Aug 10 08:14:34 2016 instalog: plugin to support reading eventlog files Subclass input_log_file to read from classic YAML eventlog files. Include a separate VSWR-based plugin to transform VSWR eventlog events into Testlog test_run events. Why do we need this converter? (A) We have not yet converted the VSWR test to output Testlog data (in progress). (B) We may also have some legacy event_log data we would like to process. So as a current solution, we can run this plugin on a Shopfloor Instalog node, and point it to event_log files. BUG=b:30450656, chromium:609069 TEST=Manually with run_pytest.py Change-Id: Icdf9bbfe8990d657d57bd3df8b36207baadd737a Reviewed-on: https://chromium-review.googlesource.com/367640 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [add] https://crrev.com/607500353be6d76e76be3286f8bd7fdec9d679b5/py/instalog/plugins/input_eventlog_file.py [add] https://crrev.com/607500353be6d76e76be3286f8bd7fdec9d679b5/py/instalog/plugins/input_eventlog_file_vswr.py [modify] https://crrev.com/607500353be6d76e76be3286f8bd7fdec9d679b5/py/instalog/plugins/input_log_file.py
,
Aug 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/c31572c3d54ecf305cb77049e5fba4209c983ddf commit c31572c3d54ecf305cb77049e5fba4209c983ddf Author: Joel Kitching <kitching@google.com> Date: Fri Aug 12 07:45:05 2016 instalog: simple file-based buffer Create a simple buffer plugin which writes its events to a single file on disk, and separately maintains metadata. Replaces CL:358361. BUG=b:30446786, chromium:609069 TEST=Run unittest and test manually with run_plugin.py Change-Id: I91c5a3dd7638654660421977b98df223ca13a252 Reviewed-on: https://chromium-review.googlesource.com/368491 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [add] https://crrev.com/c31572c3d54ecf305cb77049e5fba4209c983ddf/py/instalog/plugins/buffer_simple_file/__init__.py [modify] https://crrev.com/c31572c3d54ecf305cb77049e5fba4209c983ddf/py/instalog/instalog.yaml_sample [add] https://crrev.com/c31572c3d54ecf305cb77049e5fba4209c983ddf/py/instalog/plugins/buffer_simple_file/buffer_simple_file_unittest.py [add] https://crrev.com/c31572c3d54ecf305cb77049e5fba4209c983ddf/py/instalog/plugins/buffer_simple_file/instalog_common.py [modify] https://crrev.com/c31572c3d54ecf305cb77049e5fba4209c983ddf/py/instalog/plugin_base.py [add] https://crrev.com/c31572c3d54ecf305cb77049e5fba4209c983ddf/py/instalog/plugins/buffer_simple_file/buffer_simple_file.py
,
Aug 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/6f7a34eef86ba63bbcff28a1c301b06f0f6bacf5 commit 6f7a34eef86ba63bbcff28a1c301b06f0f6bacf5 Author: Joel Kitching <kitching@google.com> Date: Sat Aug 13 08:01:43 2016 instalog/input_log_file: pause on log file read error Sometimes there may be an issue reading one of the specified log files (i.e. permissions issue). Rather than the plugin crashing entirely, or giving up on this file, keep trying with a configurable time interval to use when a read error is encountered. Example use case: - Incorrect permissions on some of the log files specified by the path glob. - Permissions are corrected while the plugin is running. - Plugin should start loading data from these files. BUG=b:30450754, chromium:609069 TEST=Manually with run_plugin.py Change-Id: Iafedb952dbed2d428408b3465ab94a4a4377213f Reviewed-on: https://chromium-review.googlesource.com/369030 Commit-Ready: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Chih-Yu Huang <akahuang@chromium.org> [modify] https://crrev.com/6f7a34eef86ba63bbcff28a1c301b06f0f6bacf5/py/instalog/plugins/input_log_file.py
,
Aug 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/4af11ed9d67a729abcd48439e8e90fcfe4ca2e78 commit 4af11ed9d67a729abcd48439e8e90fcfe4ca2e78 Author: Shun-Hsing Ou <shunhsingou@chromium.org> Date: Wed Aug 17 08:03:27 2016 Clear all_serial_number when clean device data BUG= chromium:609069 TEST=Manually Change-Id: I9ab47aa61f0228e3d0334e861cb22893029295ac Reviewed-on: https://chromium-review.googlesource.com/371758 Commit-Ready: Shun-Hsing Ou <shunhsingou@chromium.org> Tested-by: Shun-Hsing Ou <shunhsingou@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [modify] https://crrev.com/4af11ed9d67a729abcd48439e8e90fcfe4ca2e78/py/device/info.py
,
Aug 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/6361ee0e665aefde2f409cab64937e391d06b054 commit 6361ee0e665aefde2f409cab64937e391d06b054 Author: Shun-Hsing Ou <shunhsingou@chromium.org> Date: Tue Aug 16 14:10:45 2016 remove clear_device_data args in station_based_test_list Argument 'clear_device_data' has been removed in CL:362730. We need to remove this in station_based_test_list to avoid unexpected error. BUG= chromium:609069 TEST=manually Change-Id: I8b33ee6ffc28ce690c70816621bd48bf16383775 Reviewed-on: https://chromium-review.googlesource.com/371121 Commit-Ready: Shun-Hsing Ou <shunhsingou@chromium.org> Tested-by: Shun-Hsing Ou <shunhsingou@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> [modify] https://crrev.com/6361ee0e665aefde2f409cab64937e391d06b054/py/test/test_lists/station_based_test_list.py
,
Jun 13 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by bugdroid1@chromium.org
, May 4 2016