Commit Graph

105 Commits

Author SHA1 Message Date
Aaron Klotz
16aa025aba Bug 1434489: Add optional certSubject field to modules ping; r=chutten, data-review=francois (via bug 1430857) 2018-03-05 18:13:28 -07:00
Alessio Placitelli
eb7a868f0c Bug 1425909 - Enable adding scalars in artifact builds without rebuilding Firefox. r=chutten,froydnj
This patch enables generating a JSON file that mirrors the scalar definitions
in Scalars.yaml. On local developer builds, this file is loaded when Firefox
starts to register all the scalars. If some change was introduced in the
definition files, the new scalar will be dynamically added.
The JSON definition file will be regenerated every time an artifact build
is performed or the build faster command is invoked.

MozReview-Commit-ID: Do3WjE38aIK
2018-01-18 18:25:01 +01:00
Narcis Beleuzu
d49844a6e2 Backed out 2 changesets (bug 1425909) for mochitest C3 failures on test_memoryReporters.xul. on a CLOSED TREE
Backed out changeset 6bcaae60c82e (bug 1425909)
Backed out changeset 0b5d96b317c3 (bug 1425909)
2018-02-01 19:45:22 +02:00
Alessio Placitelli
7f5273e816 Bug 1425909 - Enable adding scalars in artifact builds without rebuilding Firefox. r=chutten,froydnj
This patch enables generating a JSON file that mirrors the scalar definitions
in Scalars.yaml. On local developer builds, this file is loaded when Firefox
starts to register all the scalars. If some change was introduced in the
definition files, the new scalar will be dynamically added.
The JSON definition file will be regenerated every time an artifact build
is performed or the build faster command is invoked.

MozReview-Commit-ID: Do3WjE38aIK
2018-01-18 18:25:01 +01:00
Chris H-C
8a5228ab75 bug 1410907 - Add CanRecord(Pre)Release data to nsITTelemetry r=Dexter
We're starting a shift towards talking about release/prerelease data instead of
base/extended collection. For now this is just a naming change.

At the same time, we can render these attributes read-only, which is nice.

MozReview-Commit-ID: IRuKpzLYW7i
2017-11-03 12:44:23 -04:00
Sebastian Hengst
64899f66d5 Backed out changeset 58b0f65614be (bug 1410907) for build bustage at toolkit/components/telemetry/Telemetry.cpp:1591. r=backout on a CLOSED TREE 2017-11-06 16:41:51 +01:00
Chris H-C
f948c23e98 bug 1410907 - Add CanRecord(Pre)Release data to nsITTelemetry r=Dexter
We're starting a shift towards talking about release/prerelease data instead of
base/extended collection. For now this is just a naming change.

At the same time, we can render these attributes read-only, which is nice.

MozReview-Commit-ID: IRuKpzLYW7i
2017-11-03 12:44:23 -04:00
Alessio Placitelli
fdceb69955 Bug 1395835 - Rename "group" to "category" in the scalar code and docs. r=chutten
MozReview-Commit-ID: HQ3I2cfEaa
2017-09-27 10:12:13 +02:00
Alessio Placitelli
e24412e896 Bug 1393801 - Enable dynamic scalar registration. f=gfritzsche,r=billm,chutten
MozReview-Commit-ID: JlRk7hLV5QD
2017-08-29 13:05:40 +02:00
Alessio Placitelli
324089ac37 Bug 1395838 - Rename nsITelemetry.SCALAR_* to nsITelemetry.SCALAR_TYPE_*. r=chutten
MozReview-Commit-ID: 6urKlSG0I6s
2017-09-06 12:35:44 +02:00
Chris H-C
eabcba7afb bug 1376600 - Remove registered(Keyed)Histograms r=Dexter
With the removal of the old addonHistograms, all histograms are now registered.
So removing registered(Keyed)Histograms should be straightforward?

Unfortunately not, as this was how we filtered data based on dataset
(opt-in/opt-out), so a little more fiddling was needed to get C++ to only
serialize dataset-appropriate data (instead of post-facto filtering it in JS).

MozReview-Commit-ID: HDplhmzmzJl
2017-08-22 09:42:09 -04:00
Michael Layzell
c115daf948 Bug 1380081 - Part 3: Remove the ThreadHangStats object and related code, r=froydnj
MozReview-Commit-ID: EtrktVmc3vP
2017-08-15 16:34:21 -04:00
Sebastian Hengst
983d3050d2 Backed out changeset bd63a8fecf00 (bug 1380081) 2017-08-11 09:28:47 +02:00
Michael Layzell
33751c95e2 Bug 1380081 - Part 3: Remove the ThreadHangStats object and related code, r=froydnj
MozReview-Commit-ID: EtrktVmc3vP
2017-08-10 15:55:12 -04:00
Georg Fritzsche
9385f14125 Bug 1302681 - Part 1: Extend Event Telemetry core for recording from addons. r=dexter
To cut down on complexity, we don't require specifying any expiry versions.
Given that these events will be recorded non-persistently from off-train add-ons, they can be expired by shipping new add-on releases.

We also start to use the new "record on release" terminology here instead of opt-in/opt-out, but are not changing the internal functionality yet.

Technically, this is implemented by keeping a separate registry for the dynamic event information.
Built-in & dynamic events are tracked with separate numeric ids, so introduce a common identifier for both, an EventKey.
For actual event storage, the events are treated the same as built-in events. They are simply bucketed into the 'dynamic' process storage.
This approach ends up duplicating code paths that use the event info, but keeps a single implementation for recording, storage & serialization.
2017-08-03 07:03:00 -04:00
Chris H-C
43ee3b33fc bug 1366294 - Part 7 - Use keyed histogram snaphots to build payloads. r=gfritzsche
TelemetrySession's getKeyedHistograms asks for each keyed histogram
individually. This is inefficient and doesn't work well with the storage
refactor.

So, plumb through a subsession keyed histogram snapshot API and convert
TelemetrySession over to using it.

MozReview-Commit-ID: Af9dTqw99UA
2017-07-24 09:52:26 -04:00
Chris H-C
1c9b6f562a bug 1366294 - Part 5 - Send appropriately-structured Telemetry data to JS r=gfritzsche
Previously we were doing bad string manipulation nonsense. Now when asked for
snapshots C++ can return a properly-formated Object tree.

MozReview-Commit-ID: HAvIbgzUvMU
2017-07-24 09:52:26 -04:00
Gabriele Svelto
b9cab3fec0 Bug 1356673 - Run the pingsender executable in a way that avoids shutdown races with mozalloc; r=Dexter
When sending the shutdown ping we launched the pingsender executable via
PR_CreateProcessDetached() which on both Linux and MacOS X would fork()
gecko's main process and then exec() the pingsender executable. On MacOS X
this seemed to trigger a race with the mozalloc shutdown procedure within the
forked process. This patch changes the telemetry logic to use nsIProcess
instead which relies on posix_spawnp() to launch the new executable making it
immune to issues related to mozalloc's shutdown.

Since we don't need C++ code anymore to run the pingsender the runPingSender()
method is also moved to TelemtrySend.

MozReview-Commit-ID: C7fZw1ZpVBO
2017-04-25 01:07:36 +02:00
Gabor Krizsanits
bb288d9a9c Bug 1352961 - P1: Exposing a timer to JS that can be used across the process boundaries. r=chutten 2017-04-25 17:11:05 +02:00
Chris H-C
a2a550854b bug 1353295 - Remove addonHistograms from Telemetry r=Dexter
addonHistograms isn't being used and has started getting in the way.
So it goes.

Leave the "Addon Histograms" section in about:telemetry for 60 days.
Remove it in bug 1355882

MozReview-Commit-ID: 4lm7ONirofl
2017-04-06 15:31:58 -04:00
Carsten "Tomcat" Book
6d5a053fe2 Backed out changeset cfe47bace342 (bug 1353295) for assertion failures 2017-04-13 09:39:17 +02:00
Chris H-C
79504a7b9d bug 1353295 - Remove addonHistograms from Telemetry r=Dexter
addonHistograms isn't being used and has started getting in the way.
So it goes.

Leave the "Addon Histograms" section in about:telemetry for 60 days.
Remove it in bug 1355882

MozReview-Commit-ID: 4lm7ONirofl
2017-04-06 15:31:58 -04:00
Gabriele Svelto
ad6e2212ea Bug 1345153 - When the pingsender fails to send a ping, persist it to disk so that it can be sent later via regular telemetry; r=chutten,ted
Currently we hand over a crash ping to the pingsender via a pipe; if the
pingsender fails to send the ping we rely on the CrashManager assembling and
sending one instead. Since the crashmanager is not aware of whether the ping
was sent or not this causes duplication on the server side. To solve this
problem we save the ping to disk instead, read it from the pingsender and
delete the file only if the ping was sent. In this scenario the CrashManager
will know that a ping was already sent and will not send a new one.

This patch removes all the code used to deal with pipes between the telemetry,
crashreporter and pingsender code and also tries to cut down the amount of
platform-specific code we have in this machinery.

MozReview-Commit-ID: ASm2jnDagCK
2017-03-27 12:38:39 +02:00
Alessio Placitelli
935681bcef Bug 1321349 - Make histogram.add check 'this' for the proper JSClass. r=gfritzsche 2017-02-21 01:55:00 +01:00
Marco Castelluccio
7a13c2898d Bug 1342034 - Fix documentation of getLoadedModules in nsITelemetry.idl. r=Dexter 2017-03-07 07:08:00 -05:00
Marco Castelluccio
2f3e68079b Bug 1330833 - Add the new "modules" (DLLs) ping type. r=Dexter,mstange,jorendorff, data-review=bsmedberg 2017-02-18 14:17:30 +00:00
Wes Kocher
3f83b41f7e Backed out 2 changesets (bug 1330833) for windows 64 xpcshell failures a=backout
Backed out changeset 466565fa382a (bug 1330833)
Backed out changeset 927194e7769d (bug 1330833)

MozReview-Commit-ID: GB4KsH29xYC
2017-02-16 17:20:54 -08:00
Marco Castelluccio
a7e3f95164 Bug 1330833 - Add the new "modules" (DLLs) ping type. r=Dexter,mstange,jorendorff, data-review=bsmedberg 2017-02-16 17:09:32 +00:00
Gabriele Svelto
7157a7973d Bug 1310703 - Add support for the pingsender to the Telemetry code; r=Dexter
MozReview-Commit-ID: 24I9wrJuFhN
2017-01-17 14:53:00 +01:00
Alessio Placitelli
1a9102ac62 Bug 1278556 - Enable child process scalar recording. r=chutten, f=gfritzsche,froydnj
MozReview-Commit-ID: IddrszBX0f5
2017-01-16 05:12:00 +01:00
Georg Fritzsche
2dacbb77e9 Bug 1329139 - Default event recording to disabled. r=dexter 2017-01-13 14:21:56 +07:00
Iaroslav (yarik) Sheptykin
7c3e98fde8 Bug 1225851: Capturing keyed call stacks on demand inside Telemetry. r=chutten,r=gfritzsche
MozReview-Commit-ID: XSs5MeQ1Bs
2016-11-17 20:52:53 +01:00
Georg Fritzsche
ee8fa595c6 Bug 1302663 - Part 2 - Implement Event Telemetry recording. r=froydnj,dexter
This implements the API, storage and serialization for Telemetry event recording.
2016-11-18 15:51:58 +01:00
Carsten "Tomcat" Book
6ee0c0ae44 Backed out changeset 64b95c8f9f12 (bug 1302663) 2016-11-18 14:27:50 +01:00
Georg Fritzsche
07339c0184 Bug 1302663 - Part 2 - Implement Event Telemetry recording. r=froydnj,dexter
This implements the API, storage and serialization for Telemetry event recording.
2016-11-18 13:03:58 +01:00
Sebastian Hengst
280534d947 Backed out changeset ab64c55508aa (bug 1302663) 2016-11-12 21:17:36 +01:00
Georg Fritzsche
41f4db552f Bug 1302663 - Part 2 - Implement Event Telemetry recording. r=froydnj,dexter
This implements the API, storage and serialization for Telemetry event recording.
2016-11-13 01:52:28 +07:00
AdamG2
fa1c11cef7 Bug 1300491 - Removed histogramFrom and resulting unused functions, all STARTUP_* histograms, and any tests using these. r=chutten
MozReview-Commit-ID: EnVYxGIOWgs
2016-11-07 15:13:01 -05:00
Alessio Placitelli
75704c0bb9 Bug 1277806 - Implement keyed scalar measurements in Telemetry. r=gfritzsche,nfroyd
MozReview-Commit-ID: 9kkjpLAIQUX
2016-09-16 03:43:00 +02:00
Chris H-C
00251d488b 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-09-19 13:30:25 -04:00
AdamG2
43b3c47b39 Bug 1299144 - Replace TelemetryHistogram::NewKeyedHistogram and replace with predefined histograms. r=chutten
MozReview-Commit-ID: FLRyEswR6r7
2016-09-13 01:04:39 -04:00
AdamG2
2a8c78eaf2 Bug 1299143 - Remove outdated comment about Telemetry.snapshot.static. r=gfritzsche
MozReview-Commit-ID: KxW3jTaPjHX
2016-09-07 00:48:03 -04:00
AdamG2
ba4b44c12c Bug 1288745 - Remove TelemetryHistogram::NewHistogram and replace with predefined histograms. r=chutten
MozReview-Commit-ID: 6v270MnquqT
2016-09-03 15:26:40 -04:00
Georg Fritzsche
75a2db27c3 Bug 1188888 - Part 4 - Implement categorical histograms with JS API. r=chutten 2016-07-20 17:10:24 +02:00
Alessio Placitelli
fe57b3a92a Bug 1281214 - Implement the boolean scalar type. r=gfritzsche 2016-07-11 08:28:00 +02: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
Alessio Placitelli
7ce286d1c9 Bug 1254550 - Make Telemetry configuration consistent across builds. r=gfritzsche 2016-03-11 06:31:00 +01: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
1774be6cd8 Bug 1228147: part 1: Add telemetry RecordingEnabled support. r=gfritzsche f=froydnj 2015-12-16 16:39:57 +02:00