author | Serge Guelton <sguelton@redhat.com> |
Tue, 12 Apr 2022 15:52:04 +0000 | |
changeset 614073 | 614282df3fc665095b5c5bad99d6d3f11391b4df |
parent 614072 | 743ff8102fa96813c94fc158ba567ac54aa251ab |
child 614074 | 39971d9eddfc285b21bdfa45bf932c843a4b8b10 |
push id | 39555 |
push user | abutkovits@mozilla.com |
push date | Tue, 12 Apr 2022 21:36:55 +0000 |
treeherder | mozilla-central@85290d18c6ee [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | sylvestre |
bugs | 1763982 |
milestone | 101.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/toolkit/components/telemetry/build_scripts/gen_process_enum.py +++ b/toolkit/components/telemetry/build_scripts/gen_process_enum.py @@ -15,16 +15,18 @@ import collections banner = """/* This file is auto-generated from Telemetry build scripts, see gen_process_enum.py. */ """ file_header = """\ #ifndef mozilla_TelemetryProcessEnums_h #define mozilla_TelemetryProcessEnums_h +#include <cstdint> + namespace mozilla { namespace Telemetry { """ file_footer = """ } // namespace Telemetry } // namespace mozilla #endif // mozilla_TelemetryProcessEnums_h"""
--- a/toolkit/components/telemetry/core/Stopwatch.cpp +++ b/toolkit/components/telemetry/core/Stopwatch.cpp @@ -10,24 +10,23 @@ #include "TelemetryUserInteraction.h" #include "js/MapAndSet.h" #include "js/WeakMap.h" #include "mozilla/dom/ScriptSettings.h" #include "mozilla/BackgroundHangMonitor.h" #include "mozilla/ClearOnShutdown.h" #include "mozilla/HangAnnotations.h" +#include "mozilla/ProfilerMarkers.h" #include "mozilla/DataMutex.h" #include "mozilla/TimeStamp.h" -#include "GeckoProfiler.h" #include "nsHashKeys.h" #include "nsContentUtils.h" #include "nsPrintfCString.h" #include "nsQueryObject.h" -#include "nsRefPtrHashtable.h" #include "nsString.h" #include "xpcpublic.h" using mozilla::DataMutex; using mozilla::dom::AutoJSAPI; #define USER_INTERACTION_VALUE_MAX_LENGTH 50 // bytes
--- a/toolkit/components/telemetry/core/TelemetryCommon.h +++ b/toolkit/components/telemetry/core/TelemetryCommon.h @@ -1,24 +1,25 @@ /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef TelemetryCommon_h__ #define TelemetryCommon_h__ -#include "jsapi.h" +#include "PLDHashTable.h" +#include "js/RootingAPI.h" +#include "js/TypeDecls.h" #include "mozilla/TypedEnumBits.h" #include "mozilla/TelemetryProcessEnums.h" #include "nsHashtablesFwd.h" -#include "nsIScriptError.h" #include "nsTHashSet.h" #include "nsTHashtable.h" -#include "nsHashKeys.h" +#include "nsIScriptError.h" #include "nsXULAppAPI.h" namespace mozilla { namespace Telemetry { namespace Common { typedef nsTHashSet<nsCString> StringHashSet;
--- a/toolkit/components/telemetry/core/TelemetryEvent.cpp +++ b/toolkit/components/telemetry/core/TelemetryEvent.cpp @@ -1,27 +1,25 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "Telemetry.h" #include "TelemetryEvent.h" -#include <prtime.h> #include <limits> #include "ipc/TelemetryIPCAccumulator.h" #include "jsapi.h" #include "js/Array.h" // JS::GetArrayLength, JS::IsArrayObject, JS::NewArrayObject #include "js/PropertyAndElement.h" // JS_DefineElement, JS_DefineProperty, JS_Enumerate, JS_GetElement, JS_GetProperty, JS_GetPropertyById, JS_HasProperty #include "mozilla/Maybe.h" #include "mozilla/Services.h" #include "mozilla/StaticMutex.h" #include "mozilla/StaticPtr.h" -#include "mozilla/Unused.h" #include "nsClassHashtable.h" #include "nsHashKeys.h" #include "nsIObserverService.h" #include "nsITelemetry.h" #include "nsJSUtils.h" #include "nsPrintfCString.h" #include "nsTArray.h" #include "nsUTF8Utils.h"
--- a/toolkit/components/telemetry/core/TelemetryEvent.h +++ b/toolkit/components/telemetry/core/TelemetryEvent.h @@ -7,17 +7,17 @@ #define TelemetryEvent_h__ #include <stdint.h> #include "js/TypeDecls.h" #include "mozilla/Maybe.h" #include "mozilla/TelemetryEventEnums.h" #include "mozilla/TelemetryProcessEnums.h" #include "nsTArray.h" -#include "nsString.h" +#include "nsStringFwd.h" namespace mozilla { namespace Telemetry { struct ChildEventData; struct EventExtraEntry; } // namespace Telemetry } // namespace mozilla
--- a/toolkit/components/telemetry/core/TelemetryOrigin.cpp +++ b/toolkit/components/telemetry/core/TelemetryOrigin.cpp @@ -1,18 +1,16 @@ /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=2 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#include "Telemetry.h" #include "TelemetryOrigin.h" -#include "nsTHashMap.h" #include "nsIObserverService.h" #include "nsPrintfCString.h" #include "nsTArray.h" #include "TelemetryCommon.h" #include "TelemetryOriginEnums.h" #include "js/Array.h" // JS::NewArrayObject #include "js/PropertyAndElement.h" // JS_DefineElement, JS_DefineProperty
--- a/toolkit/components/telemetry/core/TelemetryOrigin.h +++ b/toolkit/components/telemetry/core/TelemetryOrigin.h @@ -2,19 +2,20 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef TelemetryOrigin_h__ #define TelemetryOrigin_h__ #include "TelemetryOriginEnums.h" -#include "jsapi.h" +#include "mozilla/MemoryReporting.h" +#include "js/TypeDecls.h" #include "nsError.h" -#include "nsString.h" +#include "nsStringFwd.h" // This module is internal to Telemetry. It encapsulates Telemetry's // origin recording and storage logic. It should only be used by // Telemetry.cpp. These functions should not be used anywhere else. // For the public interface to Telemetry functionality, see Telemetry.h. namespace TelemetryOrigin {
--- a/toolkit/components/telemetry/core/TelemetryScalar.cpp +++ b/toolkit/components/telemetry/core/TelemetryScalar.cpp @@ -2,38 +2,35 @@ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "TelemetryScalar.h" #include "geckoview/streaming/GeckoViewStreamingTelemetry.h" -#include "ipc/TelemetryComms.h" #include "ipc/TelemetryIPCAccumulator.h" #include "js/Array.h" // JS::GetArrayLength, JS::IsArrayObject #include "js/PropertyAndElement.h" // JS_DefineProperty, JS_DefineUCProperty, JS_Enumerate, JS_GetElement, JS_GetProperty, JS_GetPropertyById, JS_HasProperty #include "mozilla/dom/ContentParent.h" -#include "mozilla/dom/PContent.h" #include "mozilla/JSONWriter.h" #include "mozilla/Preferences.h" #include "mozilla/StaticMutex.h" #include "mozilla/StaticPtr.h" +#include "mozilla/TelemetryComms.h" #include "mozilla/Unused.h" #include "nsBaseHashtable.h" #include "nsClassHashtable.h" #include "nsContentUtils.h" -#include "nsTHashMap.h" #include "nsHashKeys.h" #include "nsITelemetry.h" #include "nsIVariant.h" #include "nsIXPConnect.h" #include "nsJSUtils.h" #include "nsPrintfCString.h" -#include "nsThreadUtils.h" #include "nsVariant.h" #include "TelemetryScalarData.h" using mozilla::MakeUnique; using mozilla::Nothing; using mozilla::Preferences; using mozilla::Some; using mozilla::StaticAutoPtr;
--- a/toolkit/components/telemetry/core/TelemetryUserInteraction.cpp +++ b/toolkit/components/telemetry/core/TelemetryUserInteraction.cpp @@ -1,17 +1,15 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#include "nsAString.h" -#include "nsClassHashtable.h" -#include "nsITelemetry.h" +#include "nsString.h" #include "MainThreadUtils.h" #include "TelemetryUserInteraction.h" #include "TelemetryUserInteractionData.h" #include "TelemetryUserInteractionNameMap.h" #include "UserInteractionInfo.h" using mozilla::Telemetry::UserInteractionIDByNameLookup;
--- a/toolkit/components/telemetry/core/ipc/TelemetryIPC.h +++ b/toolkit/components/telemetry/core/ipc/TelemetryIPC.h @@ -1,20 +1,18 @@ /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef TelemetryIPC_h__ #define TelemetryIPC_h__ -#include <stdint.h> #include "mozilla/TelemetryProcessEnums.h" #include "nsTArray.h" -#include "nsXULAppAPI.h" // This module provides the interface to accumulate Telemetry from child // processes. Top-level actors for different child processes types // (ContentParent, GPUChild) will call this for messages from their respective // processes. namespace mozilla {
--- a/toolkit/components/telemetry/core/ipc/TelemetryIPCAccumulator.cpp +++ b/toolkit/components/telemetry/core/ipc/TelemetryIPCAccumulator.cpp @@ -1,28 +1,26 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "TelemetryIPCAccumulator.h" -#include "core/TelemetryHistogram.h" #include "core/TelemetryScalar.h" +#include "mozilla/TelemetryProcessEnums.h" #include "mozilla/dom/ContentChild.h" #include "mozilla/gfx/GPUParent.h" -#include "mozilla/gfx/GPUProcessManager.h" #include "mozilla/net/SocketProcessChild.h" #include "mozilla/SchedulerGroup.h" #include "mozilla/StaticMutex.h" #include "mozilla/StaticPrefs_toolkit.h" #include "mozilla/StaticPtr.h" #include "mozilla/Unused.h" -#include "nsComponentManagerUtils.h" #include "nsITimer.h" #include "nsThreadUtils.h" using mozilla::StaticAutoPtr; using mozilla::StaticMutex; using mozilla::StaticMutexAutoLock; using mozilla::TaskCategory; using mozilla::Telemetry::ChildEventData;
--- a/toolkit/components/telemetry/core/ipc/TelemetryIPCAccumulator.h +++ b/toolkit/components/telemetry/core/ipc/TelemetryIPCAccumulator.h @@ -4,17 +4,19 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef TelemetryIPCAccumulator_h__ #define TelemetryIPCAccumulator_h__ #include "mozilla/AlreadyAddRefed.h" #include "mozilla/Maybe.h" #include "nsStringFwd.h" -#include "TelemetryComms.h" +#include "mozilla/Telemetry.h" // for EventExtraEntry +#include "mozilla/TelemetryComms.h" // for ScalarActionType, Scala... +#include "mozilla/TelemetryHistogramEnums.h" // for HistogramID class nsIRunnable; class nsITimer; namespace mozilla { class TimeStamp;
--- a/toolkit/components/telemetry/geckoview/streaming/GeckoViewStreamingTelemetry.h +++ b/toolkit/components/telemetry/geckoview/streaming/GeckoViewStreamingTelemetry.h @@ -2,20 +2,21 @@ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef GeckoViewStreamingTelemetry_h__ #define GeckoViewStreamingTelemetry_h__ -#include "mozilla/RefCounted.h" +#include "mozilla/Assertions.h" #include "mozilla/RefPtr.h" -#include "nsISupportsImpl.h" -#include "nsString.h" +#include "nsISupports.h" +#include "nsStringFwd.h" +#include "nsTArray.h" #include <cstdint> namespace GeckoViewStreamingTelemetry { void HistogramAccumulate(const nsCString& aName, bool aIsCategorical, uint32_t aValue);
--- a/toolkit/components/telemetry/other/CombinedStacks.cpp +++ b/toolkit/components/telemetry/other/CombinedStacks.cpp @@ -5,17 +5,16 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "CombinedStacks.h" #include "jsapi.h" #include "js/Array.h" // JS::NewArrayObject #include "js/PropertyAndElement.h" // JS_DefineElement, JS_DefineProperty #include "js/String.h" -#include "mozilla/HangAnnotations.h" namespace mozilla::Telemetry { // The maximum number of chrome hangs stacks that we're keeping. const size_t kMaxChromeStacksKept = 50; CombinedStacks::CombinedStacks() : CombinedStacks(kMaxChromeStacksKept) {}
--- a/toolkit/components/telemetry/other/ProcessedStack.h +++ b/toolkit/components/telemetry/other/ProcessedStack.h @@ -1,24 +1,23 @@ /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef ProcessedStack_h__ #define ProcessedStack_h__ -#include <string> #include <vector> #include "ipc/IPCMessageUtils.h" #include "ipc/IPCMessageUtilsSpecializations.h" -#include "mozilla/ipc/ProtocolUtils.h" +#include "mozilla/ipc/MessageChannel.h" #include "mozilla/Vector.h" -#include "nsString.h" +#include "nsStringFwd.h" #if defined(MOZ_GECKO_PROFILER) # include "shared-libraries.h" #endif // MOZ_GECKO_PROFILER namespace mozilla { namespace Telemetry { // This class represents a stack trace and the modules referenced in that trace.
--- a/toolkit/components/telemetry/other/TelemetryIOInterposeObserver.h +++ b/toolkit/components/telemetry/other/TelemetryIOInterposeObserver.h @@ -8,23 +8,22 @@ * IOInterposeObserver recording statistics of main-thread I/O during execution, * aimed at consumption by TelemetryImpl */ #ifndef TelemetryIOInterposeObserver_h__ #define TelemetryIOInterposeObserver_h__ #include "core/TelemetryCommon.h" -#include "jsapi.h" +#include "js/RootingAPI.h" +#include "js/TypeDecls.h" #include "mozilla/IOInterposer.h" #include "nsBaseHashtable.h" -#include "nsClassHashtable.h" #include "nsHashKeys.h" #include "nsTArray.h" -#include "nsTHashtable.h" namespace mozilla { namespace Telemetry { class TelemetryIOInterposeObserver : public IOInterposeObserver { /** File-level statistics structure */ struct FileStats { FileStats()