Buildbot/Talos/DataFormat: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Talos Data Formatting: note browser_output.txt)
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Talos Data Formatting ==
#REDIRECT [[TestEngineering/Performance/Talos/Data]]
Data is packaged as a file in an HTTP post object.
 
=== VALUES/AVERAGE ===
 
Two different types of data to be sent:
# A single value to be stored as the 'average' in the test_runs table
# A set of (interval, value) pairs to be stored in the test_run_values table, 'average' to be calculated by collector script
 
First type will be called 'AVERAGE' second called 'VALUES'.
All data is formatted using comma separated notation.
 
date_run = seconds since epoch (linux time stamp)
page_name = is unique to pages when combined with the pageset_id from test table
 
* for sending interval, value pairs
START
VALUES
machine_name,test_name,branch_name,ref_changeset,ref_build_id,date_run
interval0,value0,page_name0
interval1,value1,page_name1
...
intervalEND,valueEND,page_id
END
* for sending a single value
  START
  AVERAGE
  machine_name,test_name,branch_name,ref_changeset,ref_build_id,date_run
  value0
  END
 
==== Examples ====
values input:
START
VALUES
machine_1, test_1, branch_1, changeset_1, 13, 1229477017
1,1.0,page_01
2,2.0,page_02
3,3.0,page_03
4,1.0,page_04
5,2.0,page_05
6,3.0,page_06
7,1.0,page_07
8,2.0,page_08
9,3.0,page_09
10,1.0,page_10
11,2.0,page_11
12,3.0,page_12
END
 
response:
Content-type: text/plain
RETURN\ttest_1\tgraph.html#type=series&tests=[{"test":45,"branch":3455,"machine":234,"testrun"=6667}]
RETURN\ttest_1\t2.00\tgraph.html#tests=[{"test":45,"branch":3455,"machine":234}]
 
average input:
START
AVERAGE
machine_1, test_1, branch_1, changeset_1, 13, 1229477017
2.0
END
 
response:
Content-type: text/plain
RETURN\ttest_1\t2.00\tgraph.html#tests=[{"test":45,"branch":3455,"machine":234}]
 
=== AMO ===
Proposed 3rd type will be called 'AMO'.  Return code simple Success/Failure.
All data is formatted using comma separated notation.
 
date_run = seconds since epoch (linux time stamp)
page_name = is unique to pages when combined with the pageset_id from test table
 
START
AMO
browser_name,browser_version,addon_id
machine_name,test_name,branch_name,ref_changeset,ref_build_id,date_run
interval0,value0,page_name0
interval1,value1,page_name1
...
intervalEND,valueEND,page_id
END
 
 
 
==== Examples ====
===== From a Pageload Test =====
START
AMO
Firefox,3.6,1066
machine_1, tp4, branch_1, changeset_1, 13, 1229477017
1,1.0,page_01
2,2.0,page_02
3,3.0,page_03
4,1.0,page_04
5,2.0,page_05
6,3.0,page_06
7,1.0,page_07
8,2.0,page_08
9,3.0,page_09
10,1.0,page_10
11,2.0,page_11
12,3.0,page_12
END
 
response:
Content-type: text/plain
RETURN\tSuccess
 
===== From a Startup Test =====
START
AMO
Firefox,3.6,1066
machine_1, ts, branch_1, changeset_1, 13, 1229477017
1,1500,NULL
2,862,NULL
3,863,NULL
4,860,NULL
5,865,NULL
6,865,NULL
7,867,NULL
8,865,NULL
9,870,NULL
10,889,NULL
11,865,NULL
12,864,NULL
13,864,NULL
14,870,NULL
15,871,NULL
16,869,NULL
17,868,NULL
18,870,NULL
19,864,NULL
20,865,NULL
END
 
response:
Content-type: text/plain
RETURN\tSuccess
 
==== Schema for AMO Perf Results Storage ====
[http://paste.pocoo.org/show/281491/ perf_results & perf_appversion tables]
 
NOTE: need mapping between what talos is sending and what we want to insert into these tables.
 
CREATE TABLE `perf_results` (
    `id` int(11) unsigned NOT NULL auto_increment,
    `addon_id` int(11) unsigned NOT NULL,
    `appversion_id` int(11) unsigned NOT NULL,
    `average` float NOT NULL default 0,
    `os` varchar(255) NOT NULL default '',
    `test` enum('ts'),
    `created` datetime NOT NULL,
    `modified` datetime NOT NULL,
    PRIMARY KEY  (`id`)
) DEFAULT CHARSET=utf8;
CREATE TABLE `perf_appversions` (
    `id` int(11) unsigned NOT NULL auto_increment,
    `app` enum('fx'),
    `version` varchar(255) NOT NULL default '',
    `created` datetime NOT NULL,
    `modified` datetime NOT NULL,
    PRIMARY KEY  (`id`)
) DEFAULT CHARSET=utf8;
ALTER TABLE `perf_results` ADD CONSTRAINT `perf_results_addon_id_key` FOREIGN KEY (`addon_id`) REFERENCES `addons` (`id`);
ALTER TABLE `perf_results` ADD CONSTRAINT `perf_results_appversion_key` FOREIGN KEY (`appversion_id`) REFERENCES `perf_appversions` (`id`);
 
=== browser_output.txt ===
 
The data is harvested from browser_output.txt:
 
__start_tp_report
_x_x_mozilla_page_load,4070.909090909091,NaN,NaN
_x_x_mozilla_page_load_details,avgmedian|4070.909090909091|average|4070.73|minimum|NaN|maximum|NaN|stddev|NaN
|i|pagename|median|mean|min|max|runs|
|0;gearflowers.svg;162.5;163;162;226;226;165;163;162;162
|1;composite-scale.svg;77;77.25;77;115;115;77;77;78;77
|2;composite-scale-opacity.svg;31.5;31.75;30;62;62;31;34;30;32
|3;composite-scale-rotate.svg;31;31;29;60;60;29;32;33;30
|4;composite-scale-rotate-opacity.svg;31;31.5;29;36;35;31;31;29;36
|5;hixie-001.xml;15065;15063.75;15059;15086;15059;15065;15065;15066;15086
|6;hixie-002.xml;15064.5;15060.5;15047;15070;15070;15064;15066;15065;15047
|7;hixie-003.xml;5038;5038.75;5037;5054;5042;5037;5037;5054;5039
|8;hixie-004.xml;5081.5;5081.5;5079;5087;5087;5084;5079;5084;5079
|9;hixie-005.xml;6369.5;6367.5;6349;6405;6362;6405;6377;6382;6349
|10;hixie-006.xml;9270;9276;9239;9342;9239;9325;9278;9342;9262
|11;hixie-007.xml;3623.5;3619.25;3601;3653;3627;3629;3653;3601;3620
__end_tp_report
__start_cc_report
_x_x_mozilla_cycle_collect,1137
__end_cc_report
__startTimestamp1327556458940__endTimestamp
__startBeforeLaunchTimestamp1327556130230__endBeforeLaunchTimestamp
__startAfterTerminationTimestamp1327556459158__endAfterTerminationTimestamp

Latest revision as of 12:56, 6 August 2019