User:Clouserw/AMO/Perf: Difference between revisions

Jump to navigation Jump to search
m (Created page with "{{draft}} == The current state of things == Originally the plan for this was someone uploads an add-on, AMO sends the add-on to Talos (build machines), the build machines insta...")
 
Line 23: Line 23:
*** Operating System:  '''No version'''.  Options: Windows, OS X, Linux, Android
*** Operating System:  '''No version'''.  Options: Windows, OS X, Linux, Android
*** Application: '''No version'''. Options: Firefox
*** Application: '''No version'''. Options: Firefox
*** Test type: Options: ts
*** Performance metric: Options: startup, memory, general
*** Severity: Options: no impact, small impact, major impact
*** Severity: Options: no impact, small impact, major impact
*** Notes: An optional field for any notes from the reviewer
*** Notes: An optional field for any notes from the reviewer
* Hook up the performance warning div's on the details pages, adjusting the wording for the new severity levels
* Hook up the performance warning div's on the details pages, adjusting the wording for the new severity levels
* Send the new performance data through the API:
* Send the new performance data through the API:
** '''todo:blair''': need specs
 
=== API ===
 
A <tt><warnings></tt> element would be added to the <tt><addon></tt> element, which contains <tt><performance></tt> elements to describe performance warnings. It would be present in:
* Keyword search API (to display warnings when searching for addons to install)
* GUID search API (to display warnings for installed addons, and in install confirmation dialogs)
 
This also apples to non-hosted addons, although they would only be returned in a GUID search. All <tt><addon></tt> elements would indicate if the addon was hosted or not (same as the <tt><addon_compatibility></tt> elements do). If an non-hosted addon has no warnings, then the returned data would not include a <tt><addon></tt> element for that addon. If a hosted addon has no warnings, then the <warnings> element would not be included (as opposed to being included, but empty).
 
Warnings for all versions of the addon need to be included, as the installed version may not be the latest version. Although, this is only a hard requirement for GUID search - keyword search can potentially only include data for the latest version.
 
Based on the assumption that many warnings will apply to more than one OS, the <tt>os</tt> attribute of <tt><performance></tt> elements is a comma-separated list of OS names. If warnings are different for the different OSes, then multiple <tt><performance></tt> elements can be included, with different values for the <tt>os</tt> attribuite. The values need to match the strings used by <tt>nsIXULRuntime.OS</tt> - "Darwin" for OSX, "WINNT" for Windows, "Linux" for Linux, "Android" for Android.
 
Each performance metric has a severity. Rather than use numeric values like usual (which has caused issues in the past when retroactively adding levels), the value would be a string. If the severity is "no impact", then that metric isn't included.
 
<?xml version="1.0" encoding="utf-8" ?>
<searchresults total_results="1">
    <addon hosted="false">
        <name>Addon Xtreme</name>
        <guid>xtreme@mozzarella.com</guid>
        <warnings>
            <performance application="{firefox-guid}" os="WINNT" version="1.2.3">
                <metric type="startup" severity="minor"/>
                <metric type="general" severity="major"/>
              </performance>
            <performance application="{firefox-guid}" os="Darwin,Linux,WINNT" version="1.2.0">
                <metric type="memory" severity="major"/>
              </performance>
        </warnings>
    </addon>
</searchresults>


== Open Questions ==
== Open Questions ==
Confirmed users
587

edits

Navigation menu