Bug 1763982 - Cleanup toolkit/components/telemetry/ includes r=sylvestre
authorSerge Guelton <sguelton@redhat.com>
Tue, 12 Apr 2022 15:52:04 +0000
changeset 614073 614282df3fc665095b5c5bad99d6d3f11391b4df
parent 614072 743ff8102fa96813c94fc158ba567ac54aa251ab
child 614074 39971d9eddfc285b21bdfa45bf932c843a4b8b10
push id39555
push userabutkovits@mozilla.com
push dateTue, 12 Apr 2022 21:36:55 +0000
treeherdermozilla-central@85290d18c6ee [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerssylvestre
bugs1763982
milestone101.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
Bug 1763982 - Cleanup toolkit/components/telemetry/ includes r=sylvestre Based on include-what-you-use output. Differential Revision: https://phabricator.services.mozilla.com/D143327
toolkit/components/telemetry/build_scripts/gen_process_enum.py
toolkit/components/telemetry/core/Stopwatch.cpp
toolkit/components/telemetry/core/TelemetryCommon.h
toolkit/components/telemetry/core/TelemetryEvent.cpp
toolkit/components/telemetry/core/TelemetryEvent.h
toolkit/components/telemetry/core/TelemetryOrigin.cpp
toolkit/components/telemetry/core/TelemetryOrigin.h
toolkit/components/telemetry/core/TelemetryScalar.cpp
toolkit/components/telemetry/core/TelemetryUserInteraction.cpp
toolkit/components/telemetry/core/ipc/TelemetryIPC.h
toolkit/components/telemetry/core/ipc/TelemetryIPCAccumulator.cpp
toolkit/components/telemetry/core/ipc/TelemetryIPCAccumulator.h
toolkit/components/telemetry/geckoview/streaming/GeckoViewStreamingTelemetry.h
toolkit/components/telemetry/other/CombinedStacks.cpp
toolkit/components/telemetry/other/ProcessedStack.h
toolkit/components/telemetry/other/TelemetryIOInterposeObserver.h
--- 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()