{"action":"created","comment":{"url":"https://api.github.com/repos/ARM-software/workload-automation/pulls/comments/45488697","id":45488697,"diff_hunk":"@@ -1,6 +1,313 @@\n+=================================\n What's New in Workload Automation\n =================================\n+-------------\n+Version 2.4.0\n+-------------\n+\n+Additions:\n+##########\n+\n+Devices\n+~~~~~~~~\n+ - ``gem5_linux`` and ``gem5_android``: Interfaces for Gem5 simulation environment running Linux and Android respectively.\n+ - ``XE503C1211``: Interface for Samsung XE503C12 Chromebooks.\n+ - ``chromeos_test_image``: Chrome OS test image device. An off the shelf device will not work with this device interface.\n+\n+Instruments\n+~~~~~~~~~~~~\n+ - ``freq_sweep``: Allows \"sweeping\" workloads across multiple CPU frequencies.\n+ - ``screenon``: Ensures screen is on, before each iteration, or periodically on Android devices.\n+ - ``energy_model``: This instrument can be used to generate an energy model for a device based on collected power and performance measurments.\n+ - ``netstats``:  Allows monitoring data sent/received by applications on an Android device.\n+\n+Modules\n+~~~~~~~\n+ - ``cgroups``: Allows query and manipulation of cgroups controllers on a Linux device. Currently, only cpusets controller is implemented.\n+ - ``cpuidle``: e implements cpuidle state discovery, query and manipulation for a Linux device. This replaces the more primitive get_cpuidle_states method of LinuxDevice.\n+ - ``cpufreq`` has now been split out into a device module\n+\n+Reasource Getters\n+~~~~~~~~~~~~~~~~~\n+- ``http_assets``:  Downloads resources from a web server.\n+\n+Results Processors\n+~~~~~~~~~~~~~~~~~~~\n+ - ``ipynb_exporter``: Generates an IPython notebook from a template with the results and runs it.\n+ - ``notify``: Displays a desktop notification when a run finishes (Linux only).\n+ - ``cpustates``: Processes power ftrace to produce CPU state and parallelism stats. There is also a script to invoke this outside of WA.\n+\n+Workloads\n+~~~~~~~~~\n+ - ``telemetry``: Executes Google's Telemetery benchmarking framework\n+ - ``hackbench``: Hackbench runs tests on the Linux scheduler\n+ - ``ebizzy``: This workload resembles common web server application workloads.\n+ - ``power_loadtest``: Continuously cycles through a set of browser-based activities and monitors battery drain on a device (part of ChromeOS autotest suite).\n+ - ``rt-app``: Simulates cofigurable real-time periodic load.\n+ - ``linpack-cli``:  Command line version of linpack benchmark.\n+ - ``lmbench``: A suite of portable ANSI/C microbenchmarks for UNIX/POSIX.\n+ - ``stream``: Measures memory bandwidth.\n+ - ``iozone``: Runs a series of disk I/O performance tests.\n+ - ``androbench``:  Measures the storage performance of device.\n+ - ``autotest``:  Executes tests from ChromeOS autotest suite.\n+\n+Framework\n+~~~~~~~~~\n+ - ``wlauto.utils``:\n+    - Added ``trace_cmd``, a generic trace-cmd paraser.\n+    - Added ``UbootMenu``, allows navigating Das U-boot menu over serial.\n+ - ``wlauto.utils.types``:\n+    - ``caseless_string``: Behaves exactly like a string, except this ignores case in comparisons. It does, however, preserve case.\n+    - ``list_of``: allows dynamic generation of type-safe list types based on an existing type.\n+    - ``agruments``: represents arguments that are passed on a command line to an application.\n+    - ``list-or``: allows dynamic generation of types that accept either a base type or a list of base type. Using this ``list_or_integer``, ``list_or_number`` and ``list_or_bool`` were also added.\n+ - ``wlauto.core.configuration.WorkloadRunSpec``:\n+    - ``copy``: Allows making duplicates of ``WorkloadRunSpec``'s\n+ - ``wlatuo.utils.misc``:\n+    - ``list_to_ranges`` and ``ranges_to_list``: convert between lists of integers and corresponding range strings, e.g. between [0,1,2,4] and '0-2,4'\n+    - ``list_to_mask`` and ``mask_to_list``: convert between lists of integers and corresponding integer masks, e.g. between [0,1,2,4] and 0x17\n+ - ``wlauto.instrumentation``:\n+    - ``instrument_is_enabled``: Returns whether or not an instrument is enabled for the current job.\n+ - ``wlauto.core.result``:\n+    - Added \"classifiers\" field to Metric objects. This is a dict mapping classifier names (arbitrary strings) to corresponding values for that specific metrics. This is to allow extensions to add extension-specific annotations to metric that could be handled in a generic way (e.g. by result processors). They can also be set in agendas.\n+ - Failed jobs will now be automatically retired.\n+ - Implemented dynamic device modules that may be loaded automatically on device initialization if the device supports them.\n+ - Added support for YAML configs.\n+ - Added ``initialze`` and ``finalize`` methods to workloads.\n+ - ``wlauto.core.ExecutionContext``:\n+    - Added ``job_status`` property that returns the status of the currently running job.\n+\n+Fixes/Improvements\n+##################\n \n+Devices\n+~~~~~~~~\n+ - ``tc2``: Workaround for buffer overrun when loading large initrd blob.\n+ - ``juno``:\n+     - UEFI config can now be specified as a parameter.\n+     - Adding support for U-Boot booting.\n+     - No longer auto-disconnects ADB at the end of a run.\n+     - Added ``actually_disconnect`` to restore old disconnect behaviour\n+     - Now passes ``video`` command line to Juno kernel to work around a known issue where HDMI loses sync with monitors.\n+     - Fixed flashing.\n+\n+Instruments\n+~~~~~~~~~~~\n+ - ``fps``: now generates detailed FPS traces as well as report average FPS.\n+ - ``trace-cmd``:\n+     - Fixed buffer_size_file in trace-cmd for non-Android devices\n+     - Reduce starting priority.\n+     - Now handles trace headers and thread names with spaces\n+ - ``energy_probe``: Added ``device_entry`` parameter.\n+ - ``hwmon``:\n+     - Sensor discovery is now done only at the start of a run.\n+     - Now prints both before/after and mean temperatures.\n+ - ``daq``:\n+     - Now reports energy\n+     - Fixed file descriptor leak\n+     - ``daq_power.csv`` now matches the order of labels (if specified).\n+     - Added ``gpio_sync``. When enabled, this wil cause the instrument to insert a marker into ftrace, while at the same time setting a GPIO pin high.\n+     - Added ``negative_values`` parameter. which can be used to specify how negative values in the samples should be handled.\n+     - Added ``merge_channels`` parameter. When set DAQ channel will be summed together.\n+     - Workload labels, rather than names, are now used in the \"workload\" column.\n+ - ``cpufreq``:\n+     - Fixes missing directories problem.\n+     - Refined the availability check not to rely on the top-level cpu/cpufreq directory\n+     - Now handles non-integer output in get_available_frequencies.\n+ - ``sysfs_extractor``:\n+     - Fixed Exception when both device and host paths are empty.\n+     - Fixed pulled files verification.\n+ - ``perf``:\n+     - Updated binaries.\n+     - Added option to force install.\n+     - ``killall`` is now run as root on Android devices.\n+ - ``fps``:\n+     - Updated jank calcluation to only count \"large\" janks.\n+     - Now filters out bogus ``actual-present`` times and ignore janks above ``PAUSE_LATENCY``\n+ - ``delay``:\n+     - Added ``fixed_before_start`` parameter.\n+     - Changed existing ``*_between_specs`` and ``*_between_iterations`` callbacks to be ``very_slow``\n+ - ``streamline``:\n+     - Added Linux support\n+     - ``gatord`` is now only started once at the start of the run.\n+\n+modules\n+~~~~~~~\n+ - ``flashing``:\n+     - Fixed vexpress flashing\n+     - Added an option to keep UEFI entry\n+\n+Result Processors\n+~~~~~~~~~~~~~~~~~\n+ - ``cpustate``:\n+     - Now generates a timeline csv as well as stats.\n+     - Adding ID to overall cpustate reports.\n+ - ``csv``: (partial) ``results.csv`` will now be written after each iteration rather than at the end of the run.\n+\n+Workloads\n+~~~~~~~~~\n+ - ``glb_corporate``: clears logcat to prevent getting results from previous run.\n+ - ``sysbench``:\n+     - Updated sysbench binary to a statically linked verison\n+     - Added ``file_test_mode parameter`` - this is a mandatory argumet if ``test`` is ``\"fileio\"``.\n+     - Added cmd_params parameter to pass options directily to sysbench invocation.\n+     - Removed Android browser launch and shutdown from workload (now runs on both Linux and Android).\n+     - Now works with unrooted devices.\n+     - Added the ability to run based on time.\n+     - Added a parameter to taskset to specific core(s).\n+     - Added ``threads`` parameter to be consistent with dhrystone.\n+     - Fixed case where default timeout < max_time\n+ - ``Dhrystone``:\n+     - added ``taskset_mask`` parameter to allow pinning to specific cores.\n+     - Now kills any running instances during setup (also handles CTRL-C).\n+ - ``sysfs_extractor``: Added parameter to explicitly enable/disable tempfs caching.\n+ - ``antutu``:\n+     - Fixed multi-``times`` playback for v5.\n+     - Updated result parsing to handle Android M logcat output.\n+ - ``geekbench``: Increased timout to cater for slower devices.\n+ - ``idle``: Now works on Linux devices.\n+ - ``manhattan``: Added ``run_timemout`` parameter.\n+ - ``bbench``: Now works when binaries_directory is not in path.\n+ - ``nemamark``: Made duration configurable.\n+\n+Framework\n+~~~~~~~~~~\n+ - ``BaseLinuxDevice``:\n+     - Now checks that at least one core is enabled on another cluster before attempting to set number of cores on a cluster to ``0``.\n+     - No longer uses ``sudo`` if already logged in as ``root``.\n+     - Now saves ``dumpsys window`` output to the ``__meta`` directory.\n+     - Now takes ``password_prompt`` as a parameter for devices with a non standard ``sudo`` password prompt.\n+     - No longer raises an error if ``keyfile`` or ``password`` are not provided when they are not necessary.\n+     - Added new cpufreq APIs:\n+        - ``core`` APIs take a core name as the parameter (e.g. \"a15\")\n+        - ``cluster`` APIs take a numeric cluster ID (eg. 0)\n+        - ``cpu`` APIs take a cpufreq cpu ID as a parameter.\n+     - ``set_cpu_frequency`` now has a ``exact`` parameter. When true (the default) it will produce an error when the specified frequency is not supported by the cpu, otherwise cpufreq will decide what to do.\n+     - Added ``{core}_frequency`` runtime parameter to set cluster frequency.\n+     - Added ``abi`` property.\n+     - ``get_properties`` moved from ``LinuxDevice``, meaning ``AndroidDevice`` will try to pull the same files. Added more paths to pull by default too.\n+     - fixed ``list_file_systems`` for Android M and Linux devices.\n+     - Now sets ``core_clusters`` from ``core_names`` if not explicitly specified.\n+     - Added ``invoke`` method that allows invoking an executable on the device under controlled contions (e.g. within a particular directory, or taskset to specific CPUs).\n+     - No longer attempts to get_sysfile_value() as root on unrooted devices.\n+ - ``LinuxDevice``:\n+     - Now creates binaries_directory path if it doesn't exist.\n+     - Fixed device reset\n+     - Fixed ``file_exists``\n+     - implemented get_pid_of() and ps(). Existing implementation relied on android version of ps.\n+     - ``listdir`` will not return an empty list for an empty directory instead of a list containing a single empty string.\n+ - ``AndroidDevice``:\n+     - Executable (un)installation now works on unrooted devices.\n+     - Now takes into account ``binar_directory`` when setting up busybox path.\n+     - update ``android_prompt`` so that it works even if is not ``\"/\"``\n+     - ``adb_connect``: do not assume port 5555 anymore.\n+     - Now always deploys busybox on rooted devices.\n+     - Added ``swipe_to_unlock`` method.\n+ - Fixed initialization of ``~/.workload_automation.``.\n+ - Fixed replaying events using revent on 64 bit platforms.\n+ - Improved error repoting when loading extensions.\n+ - ``result`` objects now track their output directories.\n+ - ``context.result`` will not result in ``context.run_result`` when not executing a job.\n+ - ``wlauto.utils.ssh``:\n+     - Fixed key-based authentication.\n+     - Fixed carriage return stripping in ssh.\n+     - Now takes ``password_prompt`` as a parameter for non standard ``sudo`` password prompts.\n+     - Now with 100% more thread safety.\n+     - If a timeout condition is hit, ^C is now sent to kill the current foreground process and make the shell available for subsequent commands.\n+     - More robust exit_code handling for ssh interface","path":"doc/source/changes.rst","position":217,"original_position":217,"commit_id":"99b3c1d1958b30891f8a4fc989a208def85e2bd2","original_commit_id":"99b3c1d1958b30891f8a4fc989a208def85e2bd2","user":{"login":"setrofim","id":904685,"avatar_url":"https://avatars.githubusercontent.com/u/904685?v=3","gravatar_id":"","url":"https://api.github.com/users/setrofim","html_url":"https://github.com/setrofim","followers_url":"https://api.github.com/users/setrofim/followers","following_url":"https://api.github.com/users/setrofim/following{/other_user}","gists_url":"https://api.github.com/users/setrofim/gists{/gist_id}","starred_url":"https://api.github.com/users/setrofim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/setrofim/subscriptions","organizations_url":"https://api.github.com/users/setrofim/orgs","repos_url":"https://api.github.com/users/setrofim/repos","events_url":"https://api.github.com/users/setrofim/events{/privacy}","received_events_url":"https://api.github.com/users/setrofim/received_events","type":"User","site_admin":false},"body":"identifier should be monospace-formatted","created_at":"2015-11-20T16:38:58Z","updated_at":"2015-11-20T16:38:58Z","html_url":"https://github.com/ARM-software/workload-automation/pull/59#discussion_r45488697","pull_request_url":"https://api.github.com/repos/ARM-software/workload-automation/pulls/59","_links":{"self":{"href":"https://api.github.com/repos/ARM-software/workload-automation/pulls/comments/45488697"},"html":{"href":"https://github.com/ARM-software/workload-automation/pull/59#discussion_r45488697"},"pull_request":{"href":"https://api.github.com/repos/ARM-software/workload-automation/pulls/59"}}},"pull_request":{"url":"https://api.github.com/repos/ARM-software/workload-automation/pulls/59","id":51376153,"html_url":"https://github.com/ARM-software/workload-automation/pull/59","diff_url":"https://github.com/ARM-software/workload-automation/pull/59.diff","patch_url":"https://github.com/ARM-software/workload-automation/pull/59.patch","issue_url":"https://api.github.com/repos/ARM-software/workload-automation/issues/59","number":59,"state":"open","locked":false,"title":"Updated change log","user":{"login":"ep1cman","id":5303409,"avatar_url":"https://avatars.githubusercontent.com/u/5303409?v=3","gravatar_id":"","url":"https://api.github.com/users/ep1cman","html_url":"https://github.com/ep1cman","followers_url":"https://api.github.com/users/ep1cman/followers","following_url":"https://api.github.com/users/ep1cman/following{/other_user}","gists_url":"https://api.github.com/users/ep1cman/gists{/gist_id}","starred_url":"https://api.github.com/users/ep1cman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ep1cman/subscriptions","organizations_url":"https://api.github.com/users/ep1cman/orgs","repos_url":"https://api.github.com/users/ep1cman/repos","events_url":"https://api.github.com/users/ep1cman/events{/privacy}","received_events_url":"https://api.github.com/users/ep1cman/received_events","type":"User","site_admin":false},"body":"Initial update of change log, this will probably need a lot of tidy up.","created_at":"2015-11-20T16:20:30Z","updated_at":"2015-11-20T16:38:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f2f9411c922dfececca18eb4f24f9c02e91aee66","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/ARM-software/workload-automation/pulls/59/commits","review_comments_url":"https://api.github.com/repos/ARM-software/workload-automation/pulls/59/comments","review_comment_url":"https://api.github.com/repos/ARM-software/workload-automation/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ARM-software/workload-automation/issues/59/comments","statuses_url":"https://api.github.com/repos/ARM-software/workload-automation/statuses/99b3c1d1958b30891f8a4fc989a208def85e2bd2","head":{"label":"ep1cman:changelog","ref":"changelog","sha":"99b3c1d1958b30891f8a4fc989a208def85e2bd2","user":{"login":"ep1cman","id":5303409,"avatar_url":"https://avatars.githubusercontent.com/u/5303409?v=3","gravatar_id":"","url":"https://api.github.com/users/ep1cman","html_url":"https://github.com/ep1cman","followers_url":"https://api.github.com/users/ep1cman/followers","following_url":"https://api.github.com/users/ep1cman/following{/other_user}","gists_url":"https://api.github.com/users/ep1cman/gists{/gist_id}","starred_url":"https://api.github.com/users/ep1cman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ep1cman/subscriptions","organizations_url":"https://api.github.com/users/ep1cman/orgs","repos_url":"https://api.github.com/users/ep1cman/repos","events_url":"https://api.github.com/users/ep1cman/events{/privacy}","received_events_url":"https://api.github.com/users/ep1cman/received_events","type":"User","site_admin":false},"repo":{"id":44668301,"name":"workload-automation","full_name":"ep1cman/workload-automation","owner":{"login":"ep1cman","id":5303409,"avatar_url":"https://avatars.githubusercontent.com/u/5303409?v=3","gravatar_id":"","url":"https://api.github.com/users/ep1cman","html_url":"https://github.com/ep1cman","followers_url":"https://api.github.com/users/ep1cman/followers","following_url":"https://api.github.com/users/ep1cman/following{/other_user}","gists_url":"https://api.github.com/users/ep1cman/gists{/gist_id}","starred_url":"https://api.github.com/users/ep1cman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ep1cman/subscriptions","organizations_url":"https://api.github.com/users/ep1cman/orgs","repos_url":"https://api.github.com/users/ep1cman/repos","events_url":"https://api.github.com/users/ep1cman/events{/privacy}","received_events_url":"https://api.github.com/users/ep1cman/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ep1cman/workload-automation","description":"A framework for automating workload execution and measurement collection on ARM devices.","fork":true,"url":"https://api.github.com/repos/ep1cman/workload-automation","forks_url":"https://api.github.com/repos/ep1cman/workload-automation/forks","keys_url":"https://api.github.com/repos/ep1cman/workload-automation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ep1cman/workload-automation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ep1cman/workload-automation/teams","hooks_url":"https://api.github.com/repos/ep1cman/workload-automation/hooks","issue_events_url":"https://api.github.com/repos/ep1cman/workload-automation/issues/events{/number}","events_url":"https://api.github.com/repos/ep1cman/workload-automation/events","assignees_url":"https://api.github.com/repos/ep1cman/workload-automation/assignees{/user}","branches_url":"https://api.github.com/repos/ep1cman/workload-automation/branches{/branch}","tags_url":"https://api.github.com/repos/ep1cman/workload-automation/tags","blobs_url":"https://api.github.com/repos/ep1cman/workload-automation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ep1cman/workload-automation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ep1cman/workload-automation/git/refs{/sha}","trees_url":"https://api.github.com/repos/ep1cman/workload-automation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ep1cman/workload-automation/statuses/{sha}","languages_url":"https://api.github.com/repos/ep1cman/workload-automation/languages","stargazers_url":"https://api.github.com/repos/ep1cman/workload-automation/stargazers","contributors_url":"https://api.github.com/repos/ep1cman/workload-automation/contributors","subscribers_url":"https://api.github.com/repos/ep1cman/workload-automation/subscribers","subscription_url":"https://api.github.com/repos/ep1cman/workload-automation/subscription","commits_url":"https://api.github.com/repos/ep1cman/workload-automation/commits{/sha}","git_commits_url":"https://api.github.com/repos/ep1cman/workload-automation/git/commits{/sha}","comments_url":"https://api.github.com/repos/ep1cman/workload-automation/comments{/number}","issue_comment_url":"https://api.github.com/repos/ep1cman/workload-automation/issues/comments{/number}","contents_url":"https://api.github.com/repos/ep1cman/workload-automation/contents/{+path}","compare_url":"https://api.github.com/repos/ep1cman/workload-automation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ep1cman/workload-automation/merges","archive_url":"https://api.github.com/repos/ep1cman/workload-automation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ep1cman/workload-automation/downloads","issues_url":"https://api.github.com/repos/ep1cman/workload-automation/issues{/number}","pulls_url":"https://api.github.com/repos/ep1cman/workload-automation/pulls{/number}","milestones_url":"https://api.github.com/repos/ep1cman/workload-automation/milestones{/number}","notifications_url":"https://api.github.com/repos/ep1cman/workload-automation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ep1cman/workload-automation/labels{/name}","releases_url":"https://api.github.com/repos/ep1cman/workload-automation/releases{/id}","created_at":"2015-10-21T10:15:43Z","updated_at":"2015-10-21T10:15:46Z","pushed_at":"2015-11-20T16:20:18Z","git_url":"git://github.com/ep1cman/workload-automation.git","ssh_url":"git@github.com:ep1cman/workload-automation.git","clone_url":"https://github.com/ep1cman/workload-automation.git","svn_url":"https://github.com/ep1cman/workload-automation","homepage":null,"size":23712,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ARM-software:master","ref":"master","sha":"e8ba515075578725699758e977758f1acdfeaac1","user":{"login":"ARM-software","id":5690313,"avatar_url":"https://avatars.githubusercontent.com/u/5690313?v=3","gravatar_id":"","url":"https://api.github.com/users/ARM-software","html_url":"https://github.com/ARM-software","followers_url":"https://api.github.com/users/ARM-software/followers","following_url":"https://api.github.com/users/ARM-software/following{/other_user}","gists_url":"https://api.github.com/users/ARM-software/gists{/gist_id}","starred_url":"https://api.github.com/users/ARM-software/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ARM-software/subscriptions","organizations_url":"https://api.github.com/users/ARM-software/orgs","repos_url":"https://api.github.com/users/ARM-software/repos","events_url":"https://api.github.com/users/ARM-software/events{/privacy}","received_events_url":"https://api.github.com/users/ARM-software/received_events","type":"Organization","site_admin":false},"repo":{"id":31957801,"name":"workload-automation","full_name":"ARM-software/workload-automation","owner":{"login":"ARM-software","id":5690313,"avatar_url":"https://avatars.githubusercontent.com/u/5690313?v=3","gravatar_id":"","url":"https://api.github.com/users/ARM-software","html_url":"https://github.com/ARM-software","followers_url":"https://api.github.com/users/ARM-software/followers","following_url":"https://api.github.com/users/ARM-software/following{/other_user}","gists_url":"https://api.github.com/users/ARM-software/gists{/gist_id}","starred_url":"https://api.github.com/users/ARM-software/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ARM-software/subscriptions","organizations_url":"https://api.github.com/users/ARM-software/orgs","repos_url":"https://api.github.com/users/ARM-software/repos","events_url":"https://api.github.com/users/ARM-software/events{/privacy}","received_events_url":"https://api.github.com/users/ARM-software/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ARM-software/workload-automation","description":"A framework for automating workload execution and measurement collection on ARM devices.","fork":false,"url":"https://api.github.com/repos/ARM-software/workload-automation","forks_url":"https://api.github.com/repos/ARM-software/workload-automation/forks","keys_url":"https://api.github.com/repos/ARM-software/workload-automation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ARM-software/workload-automation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ARM-software/workload-automation/teams","hooks_url":"https://api.github.com/repos/ARM-software/workload-automation/hooks","issue_events_url":"https://api.github.com/repos/ARM-software/workload-automation/issues/events{/number}","events_url":"https://api.github.com/repos/ARM-software/workload-automation/events","assignees_url":"https://api.github.com/repos/ARM-software/workload-automation/assignees{/user}","branches_url":"https://api.github.com/repos/ARM-software/workload-automation/branches{/branch}","tags_url":"https://api.github.com/repos/ARM-software/workload-automation/tags","blobs_url":"https://api.github.com/repos/ARM-software/workload-automation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ARM-software/workload-automation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ARM-software/workload-automation/git/refs{/sha}","trees_url":"https://api.github.com/repos/ARM-software/workload-automation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ARM-software/workload-automation/statuses/{sha}","languages_url":"https://api.github.com/repos/ARM-software/workload-automation/languages","stargazers_url":"https://api.github.com/repos/ARM-software/workload-automation/stargazers","contributors_url":"https://api.github.com/repos/ARM-software/workload-automation/contributors","subscribers_url":"https://api.github.com/repos/ARM-software/workload-automation/subscribers","subscription_url":"https://api.github.com/repos/ARM-software/workload-automation/subscription","commits_url":"https://api.github.com/repos/ARM-software/workload-automation/commits{/sha}","git_commits_url":"https://api.github.com/repos/ARM-software/workload-automation/git/commits{/sha}","comments_url":"https://api.github.com/repos/ARM-software/workload-automation/comments{/number}","issue_comment_url":"https://api.github.com/repos/ARM-software/workload-automation/issues/comments{/number}","contents_url":"https://api.github.com/repos/ARM-software/workload-automation/contents/{+path}","compare_url":"https://api.github.com/repos/ARM-software/workload-automation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ARM-software/workload-automation/merges","archive_url":"https://api.github.com/repos/ARM-software/workload-automation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ARM-software/workload-automation/downloads","issues_url":"https://api.github.com/repos/ARM-software/workload-automation/issues{/number}","pulls_url":"https://api.github.com/repos/ARM-software/workload-automation/pulls{/number}","milestones_url":"https://api.github.com/repos/ARM-software/workload-automation/milestones{/number}","notifications_url":"https://api.github.com/repos/ARM-software/workload-automation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ARM-software/workload-automation/labels{/name}","releases_url":"https://api.github.com/repos/ARM-software/workload-automation/releases{/id}","created_at":"2015-03-10T13:05:03Z","updated_at":"2015-11-07T08:55:19Z","pushed_at":"2015-11-20T16:20:31Z","git_url":"git://github.com/ARM-software/workload-automation.git","ssh_url":"git@github.com:ARM-software/workload-automation.git","clone_url":"https://github.com/ARM-software/workload-automation.git","svn_url":"https://github.com/ARM-software/workload-automation","homepage":null,"size":23781,"stargazers_count":25,"watchers_count":25,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":19,"mirror_url":null,"open_issues_count":6,"forks":19,"open_issues":6,"watchers":25,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ARM-software/workload-automation/pulls/59"},"html":{"href":"https://github.com/ARM-software/workload-automation/pull/59"},"issue":{"href":"https://api.github.com/repos/ARM-software/workload-automation/issues/59"},"comments":{"href":"https://api.github.com/repos/ARM-software/workload-automation/issues/59/comments"},"review_comments":{"href":"https://api.github.com/repos/ARM-software/workload-automation/pulls/59/comments"},"review_comment":{"href":"https://api.github.com/repos/ARM-software/workload-automation/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ARM-software/workload-automation/pulls/59/commits"},"statuses":{"href":"https://api.github.com/repos/ARM-software/workload-automation/statuses/99b3c1d1958b30891f8a4fc989a208def85e2bd2"}}}}