Commit Graph

465 Commits

Author SHA1 Message Date
Chris H-C
58b3bd47df bug 1218576 - Ensure remaining batched telemetry is flushed on content process shutdown r=gfritzsche
On content process shutdown we send a content process ping to ensure we have
up-to-date data from the content process before it goes away. Now we need to
also flush the batched telemetry accumulations to the parent so that it can be
present in the ping.

No attempt is made to synchronize access to IPCTimerFired. It is safe to
re-enter.

No attempt is made to cancel the timer as its firing is benign.

MozReview-Commit-ID: 1gjNH9IPhKf
2016-08-16 12:41:00 +07:00
Chris H-C
0cd544be3b bug 1218576 - Accumulate child histograms in the parent process r=froydnj
Batch the accumulations to only transmit every so often, so we don't incur
too much in the way of IPC overhead penalties.

What this doesn't do:
* remove or restructure child telemetry code to adapt to the new way
* send the telemetry anywhere
* allow for the child process to clear child histograms
* support anything but histograms (but this is expected and okay)

MozReview-Commit-ID: JnUkcmN3Ya7
2016-08-23 08:35:00 +07:00
Nicholas Nethercote
1009bf0056 Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.

The patch also does some associated clean-up.

- Replaces some uses of nsIMemoryReporterCallback with the preferred
  nsIHandleReportCallback typedef.

- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
  parameter names, for consistency.

- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.

- Uses the MOZ_COLLECT_REPORT macro in all suitable places.

Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.
2016-08-24 15:23:45 +10:00
Kan-Ru Chen
a9b19d0584 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES
2016-08-24 14:47:04 +08:00
Nicholas Nethercote
1f65390cc9 Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.
2016-08-08 12:18:10 +10:00
Georg Fritzsche
e54db4e599 Bug 1188888 - Part 6 - Implement C++ API for categorical histograms. r=chutten,r=froyndj 2016-07-20 17:10:24 +02:00
Chris Peterson
c35faf4632 Bug 1277775 - Replace MOZ_CONSTEXPR{_VAR,_TMPL} with constexpr. r=froydnj 2016-07-08 14:39:53 -07:00
Alessio Placitelli
b63d53634e Bug 1276195 - Add scalar measurements API & storage in Telemetry C++ core. r=gfritzsche
MozReview-Commit-ID: K27PoMxWRMp
2016-06-25 01:01:00 +02:00
Julian Seward
0e2d48e6dc Bug 1258183 - TSan: data race toolkit/components/telemetry/Telemetry.cpp in CanRecordBase (part 2, derace). r=chutten. 2016-06-08 17:46:24 +02:00
Julian Seward
b76db88686 Bug 1258183 - TSan: data race toolkit/components/telemetry/Telemetry.cpp in CanRecordBase (part 1, tidying). r=gfritzsche. 2016-06-08 17:45:36 +02:00
Julian Seward
64b3a1608f Bug 1261052 - Move C++ histogram implementation code into a separate module. r=gfritzsche. 2016-05-17 15:05:19 +02:00
Carsten "Tomcat" Book
7efeacf304 Backed out changeset 6bf8922cd1b7 (bug 1261052) for windows pgo bustage 2016-05-13 14:26:12 +02:00
Julian Seward
57ccf65321 Bug 1261052 - Move C++ histogram implementation code into a separate module. r=gfritzsche. 2016-05-13 11:29:49 +02:00
Kyle Huey
b972c94d0f Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Georg Fritzsche
ca2f02619b Bug 1261063 - Part 2 - Expose C++ function to clear Telemetry histograms. r=chutten 2016-05-03 18:07:45 +02:00
Georg Fritzsche
8849451803 Bug 1261063 - Part 1 - Remove public Telemetry functions that return raw histogram instances. r=chutten
Note that GetKeyedHistogramById(ID, const nsAString&) was declared, but never had an implementation.
2016-05-03 18:07:44 +02:00
Kyle Huey
a9cf047227 Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Bill McCloskey
66fd294827 Bug 1260908 - Allow keyed histograms to accumulate early in startup (r=gfritzsche) 2016-04-01 11:21:39 -07:00
Wes Kocher
a1f94ce495 Backed out 2 changesets (bug 1260908) for build bustage
Backed out changeset 5582a25d289d (bug 1260908)
Backed out changeset 9612cef48d43 (bug 1260908)

MozReview-Commit-ID: BKeDiGZ8Z8B
2016-04-01 10:44:27 -07:00
Bill McCloskey
77837a8f8a Bug 1260908 - Allow keyed histograms to accumulate early in startup (r=gfritzsche) 2016-04-01 09:58:26 -07:00
Alessio Placitelli
7ce286d1c9 Bug 1254550 - Make Telemetry configuration consistent across builds. r=gfritzsche 2016-03-11 06:31:00 +01:00
malayaleecoder
90b08f4703 Bug 1252481 - Remove sum_squares_lo and sum_squares_hi from Histogram serialization. r=gfritzsche 2016-03-12 01:34:59 +05:30
Eric Hu
5f967add49 Bug 920169 - Remove references to C++ constants in Histograms.json. r=gfritzsche 2016-02-12 20:23:25 +07:00
Phil Ringnalda
d770e09301 Merge f-t to m-c, a=merge 2016-01-23 18:11:37 -08:00
Sylvestre Ledru
1f07806bda Bug 1218816 - Remove useless semicolons. Found by coccinelle. r=Ehsan 2016-01-22 16:58:49 +01:00
Tyler Steiman
72142f4beb Bug 1241508 - Have TelemetryImpl::RecordIceCandidates check for mCanRecordExtended. r=drno 2016-01-21 12:44:00 -05:00
Julian Seward
29fb27ab7b Bug 1141565 - TSan: data race ipc/chromium/src/base/histogram.cc:730 Accumulate. r=gfritzsche. 2016-01-18 17:15:19 +01:00
Jan de Mooij
71d37a198e Bug 1237201 part 7 - Handle Vector OOM in nsPerformanceStats, telemetry. r=Yoric 2016-01-14 15:19:37 +01:00
Alessio Placitelli
9d992db5e3 Bug 1234526 - Don't track healthreport.sqlite statements from Telemetry. r=gfritzsche 2016-01-07 03:02:00 +01:00
Anup Kumar
af825059ba Bug 1201492 - Remove extended_statistics_ok from Telemetry histograms. r=dexter 2015-12-21 08:31:00 +01:00
Avi Halachmi
cb31fcea50 Bug 1228147: part 2: Add telemetry probe for synchronous scroll. r=kats 2015-12-16 20:06:40 +02:00
Avi Halachmi
da11ded321 Bug 1228147: part 1: Add telemetry RecordingEnabled support. r=gfritzsche f=froydnj 2015-12-16 20:06:40 +02:00
Wes Kocher
c09cb3b32b Backed out 2 changesets (bug 1228147) for build failures in histogram.h on a CLOSED TREE
Backed out changeset 35b4ba91e093 (bug 1228147)
Backed out changeset 8a2f45c8d25d (bug 1228147)
2015-12-16 09:27:37 -08:00
Avi Halachmi
8c9734035f Bug 1228147: part 2: Add telemetry probe for synchronous scroll. r=kats 2015-12-16 17:18:45 +02:00
Avi Halachmi
1774be6cd8 Bug 1228147: part 1: Add telemetry RecordingEnabled support. r=gfritzsche f=froydnj 2015-12-16 16:39:57 +02:00
Nicholas Nethercote
5182e8eba6 Bug 1187138 (part 1) - Replace nsBaseHashtable::Enumerate() calls in toolkit/ with iterators. r=froydnj. 2015-11-01 18:54:48 -08:00
Alessio Placitelli
d1aeeaf2c3 Bug 896740 - Limit the number of chrome-hangs reported to Telemetry. r=vladan 2015-10-30 00:34:00 +01:00
Wes Kocher
40e9d943aa Merge fx-team to central, a=merge 2015-10-27 12:35:17 -07:00
Alessio Placitelli
fb89c2b0f3 Bug 1215540 - Fix Telemetry reporting repeated hang annotations for Thread hangs. r=aklotz 2015-10-27 04:35:00 +01:00
Nils Ohlmeier [:drno]
94c784b880 Bug 1198883 - Part 2: Added WebRTC ICE candidates to Telemetry. r+vladan 2015-10-08 14:44:50 -07:00
Alessio Placitelli
117a010a74 Bug 1213780 - Fix Telemetry reporting repeated hang annotations for Chrome hangs. r=aklotz 2015-10-22 08:07:00 +02:00
Carsten "Tomcat" Book
83cacb38c4 Backed out changeset 712073c4f0b4 (bug 1213780) for causing rooting hazard failures on a CLOSED TREE 2015-10-23 14:38:29 +02:00
Carsten "Tomcat" Book
2cf2ab9d12 Backed out changeset a655cd7082e9 (bug 1215540) 2015-10-23 14:38:07 +02:00
Alessio Placitelli
df89c15acb Bug 1215540 - Fix Telemetry reporting repeated hang annotations in Thread hangs. r=aklotz 2015-10-22 09:56:00 +02:00
Alessio Placitelli
39ca971f73 Bug 1213780 - Fix Telemetry reporting repeated hang annotations for Chrome hangs. r=aklotz 2015-10-22 08:07:00 +02:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Ahmed Khalil
1472ef1029 Bug 1201926 - Add support for keyed histograms to Fennec's Telemetry module, r=nalexander 2015-10-08 11:32:52 +05:30
Nicholas Nethercote
e7068e5429 Bug 1209351 (part 6) - Optimize nsTHashTable::RemoveEntry() usage in toolkit/. r=froydnj. 2015-09-24 21:38:04 -07:00
Nathan Froyd
2153af8dcc Bug 968923 - part 3c - miscellaneous telemetry changes for use counters; r=gfritzsche
This patch teaches gen-histogram-enum.py how to correctly deal with the
situation where there are no use counters.  It also adds
mozilla::Telemetry::GetHistogramName for debugging purposes.
2015-06-03 14:38:15 -04:00
Nicholas Nethercote
62022ea522 Bug 1189156 (part 2) - Don't use enumeration style for nsTHashtable::SizeOf{In,Ex}cludingThis(). r=erahm.
After this change, we have ShallowSizeOf{In,Ex}cludingThis(), which don't do
anything to measure children. (They can be combined with iteration to measure
children.)

And we still have the existing single-arg SizeOf{In,Ex}cluding() functions,
which work if the entry type itself defines SizeOfExcludingThis().
2015-07-29 01:50:52 -07:00