tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit c8b9c7dbb669ef40ad6c7edb1564958c90a0e4be
parent ffe33fa3dfc65212a9f80f19c3f853c7618a47e4
Author: florin.bilt <fbilt@mozilla.com>
Date:   Mon, 13 Oct 2025 15:07:31 +0000

Bug 1970636 -Add new fields to performance data to track OS, and OS version. r=perftest-reviewers,sparky

Differential Revision: https://phabricator.services.mozilla.com/D265810

Diffstat:
Mtesting/mozharness/external_tools/performance-artifact-schema.json | 20++++++++++++++++++++
Mtesting/raptor/raptor/cmdline.py | 2++
Mtesting/raptor/raptor/output.py | 28++++++++++++++++++++++++++++
3 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/testing/mozharness/external_tools/performance-artifact-schema.json b/testing/mozharness/external_tools/performance-artifact-schema.json @@ -30,6 +30,23 @@ "required": ["name"], "type": "object" }, + "os_schema": { + "type": "object", + "properties": { + "name": { + "title": "Operating system name", + "type": "string", + "minLength": 1, + "maxLength": 100 + }, + "platform_version": { + "title": "Operating system version", + "type": "string", + "minLength": 1, + "maxLength": 100 + } + } + }, "framework_schema": { "properties": { "name": { @@ -222,6 +239,9 @@ "application": { "$ref": "#/definitions/application_schema" }, + "os": { + "$ref": "#/definitions/os_schema" + }, "framework": { "$ref": "#/definitions/framework_schema" }, diff --git a/testing/raptor/raptor/cmdline.py b/testing/raptor/raptor/cmdline.py @@ -22,6 +22,8 @@ from mozlog.commandline import add_logging_group "chrome-m", "cstm-car-m", ] +ANDROID_APPS = FIREFOX_ANDROID_APPS + CHROME_ANDROID_APPS + FIREFOX_APPS = FIREFOX_ANDROID_APPS + [FIREFOX] CHROMIUM_DISTROS = [CHROME, CHROMIUM_RELEASE] diff --git a/testing/raptor/raptor/output.py b/testing/raptor/raptor/output.py @@ -8,11 +8,13 @@ import copy import json import os +import platform import warnings from abc import ABCMeta, abstractmethod from collections.abc import Iterable import filters +from cmdline import ANDROID_APPS from logger.logger import RaptorLogger from utils import flatten @@ -55,6 +57,8 @@ class PerftestOutput(metaclass=ABCMeta): self.subtest_alert_on = subtest_alert_on self.browser_name = None self.browser_version = None + self.os_name = platform.system() + self.os_platform_version = None self.extra_summary_methods = extra_summary_methods @abstractmethod @@ -66,6 +70,14 @@ class PerftestOutput(metaclass=ABCMeta): self.browser_name = browser_name self.browser_version = browser_version + def _set_platform_version(self): + if self.os_name == "Windows": + self.os_platform_version = platform.uname().version + elif self.os_name == "Darwin": + self.os_platform_version = platform.mac_ver()[0] + else: # Linux + self.os_platform_version = platform.release() + def summarize_supporting_data(self): """ Supporting data was gathered outside of the main raptor test; it will be kept @@ -186,6 +198,13 @@ class PerftestOutput(metaclass=ABCMeta): data["application"] = {"name": self.browser_name} if self.browser_version: data["application"]["version"] = self.browser_version + + # Add os info only for desktop + if self.app not in ANDROID_APPS and self.os_name: + data["os"] = {"name": self.os_name} + self._set_platform_version() + if self.os_platform_version: + self.data["os"]["platform_version"] = self.os_platform_version self.summarized_supporting_data.append(data) return @@ -273,6 +292,15 @@ class PerftestOutput(metaclass=ABCMeta): if self.browser_version: self.summarized_results["application"]["version"] = self.browser_version + # Add os info only for desktop + if self.app not in ANDROID_APPS and self.os_name: + self.summarized_results["os"] = {"name": self.os_name} + self._set_platform_version() + if self.os_platform_version: + self.summarized_results["os"][ + "platform_version" + ] = self.os_platform_version + total_perfdata = 0 if output_perf_data: # if we have supporting data i.e. power, we ONLY want those measurements