Buildbot/Talos/Data: Difference between revisions

m
s/replicates/data points/
m (→‎Replicates: - clarification)
m (s/replicates/data points/)
Line 17: Line 17:


=== Subtest ===
=== Subtest ===
A specific test (usually a webpage to load) which we collect replicates (numbers) from.  Typically we run many cycles of each subtest to build up a representative collection of replicates to make sure the data is meaningful.
A specific test (usually a webpage to load) which we collect data points from.  Typically we run many cycles of each subtest to build up a representative collection of data points to make sure the data is meaningful.
* in graph server Talos upload a single number for each subtest, the replicates are summarized by Talos prior to uploading.
* in graph server Talos upload a single number for each subtest, the data points are summarized by Talos prior to uploading.
* in Perfherder the subtest data is preserved as raw replicates as well as summarized by Talos.  We use the summarizations when showing a graph.
* in Perfherder the subtest data is preserved as raw data points as well as summarized by Talos.  We use the summarizations when showing a graph.


=== Replicates (aka Data Points) ===
=== Data Points (aka Replicates) ===
Replicates refer to the single numbers or data points we collect while executing a talos test.  In this regard, we collect a series of numbers (usually 20 or more) for each subtest.  Each of these 20+ numbers are called replicates.
Data Points refer to the single numbers or replicates we collect while executing a talos test.  In this regard, we collect a series of numbers (usually 20 or more) for each subtest.  Each of these 20+ numbers are called data points.


We do filtering on the replicates, mainly because the first few replicates are not a representative sample of the remaining replicates we collect.  The one exception would be [https://wiki.mozilla.org/Buildbot/Talos/Tests#Internal_Benchmarks internal benchmarks] (generally suites which measure something other than time).  For Benchmarks, there is usually a special formula applied to the replicates.
We do filtering on the data points, mainly because the first few data points are not a representative sample of the remaining data points we collect.  The one exception would be [https://wiki.mozilla.org/Buildbot/Talos/Tests#Internal_Benchmarks internal benchmarks] (generally suites which measure something other than time).  For Benchmarks, there is usually a special formula applied to the data points.


== Subtest Filters ==
== Subtest Filters ==
Line 30: Line 30:


=== ignore_first ===
=== ignore_first ===
This filter ignores the first 'X' replicates allowing us to ignore warmup runs.
This filter ignores the first 'X' data points allowing us to ignore warmup runs.
* input: an array of subtest replicates
* input: an array of subtest data points
* returns: an array of replicates
* returns: an array of data points
* source: [http://hg.mozilla.org/build/talos/file/3625fcaa75ea/talos/filter.py#l127 filter.py]
* source: [http://hg.mozilla.org/build/talos/file/3625fcaa75ea/talos/filter.py#l127 filter.py]
* used in most tests with X=1, X=2, and X=5 (5 is the normal case)
* used in most tests with X=1, X=2, and X=5 (5 is the normal case)


=== median ===
=== median ===
This filter takes in an array of replicates and returns the median of the replicates (a single value).
This filter takes in an array of data points and returns the median of the data points (a single value).
* input: an array of subtest replicates
* input: an array of subtest data points
* returns: a single value
* returns: a single value
* source: [http://hg.mozilla.org/build/talos/file/3625fcaa75ea/talos/filter.py#l58 filter.py]
* source: [http://hg.mozilla.org/build/talos/file/3625fcaa75ea/talos/filter.py#l58 filter.py]
Line 44: Line 44:


=== mean ===
=== mean ===
This filter takes in an array of replicates and returns the mean value of the replicates (a single value).
This filter takes in an array of data points and returns the mean value of the data points (a single value).
* input: an array of subtest replicates
* input: an array of subtest data points
* returns: a single value
* returns: a single value
* source: [http://hg.mozilla.org/build/talos/file/3625fcaa75ea/talos/filter.py#l50 filter.py]
* source: [http://hg.mozilla.org/build/talos/file/3625fcaa75ea/talos/filter.py#l50 filter.py]
Line 51: Line 51:


=== dromaeo ===
=== dromaeo ===
This filter is a specific filter defined by dromaeo and respects the replicates as every 5 replicates represents a different metric being measured.
This filter is a specific filter defined by dromaeo and respects the data points as every 5 data points represents a different metric being measured.
* input: an array of dromaeo (DOM|CSS) subtest replicates
* input: an array of dromaeo (DOM|CSS) subtest data points
* returns: a single number (geometric_mean of the metric summarization)
* returns: a single number (geometric_mean of the metric summarization)
* source: [http://hg.mozilla.org/build/talos/file/3625fcaa75ea/talos/filter.py#l92 filter.py]
* source: [http://hg.mozilla.org/build/talos/file/3625fcaa75ea/talos/filter.py#l92 filter.py]
Line 58: Line 58:


=== v8_subtest ===
=== v8_subtest ===
* input: an array of v8_7 subtest replicates
* input: an array of v8_7 subtest data points
* returns: a single value representing the benchmark weighted score for the subtest
* returns: a single value representing the benchmark weighted score for the subtest
* source: [http://hg.mozilla.org/build/talos/file/3625fcaa75ea/talos/filter.py#l168 filter.py]
* source: [http://hg.mozilla.org/build/talos/file/3625fcaa75ea/talos/filter.py#l168 filter.py]
Confirmed users
3,376

edits