Commit Graph

412 Commits

Author SHA1 Message Date
Wes Kocher
07f40c2e55 Backed out 3 changesets (bug 1302681) for build failures in TelemetryEvent.cpp a=backout
Backed out changeset 9c0bdff48a0a (bug 1302681)
Backed out changeset 8e79158a7a1c (bug 1302681)
Backed out changeset 7068c8d4448c (bug 1302681)

MozReview-Commit-ID: Y7pfsOJRqe
2017-07-27 12:53:32 -07:00
Georg Fritzsche
0b899d6c40 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-07-26 07:49:00 -04:00
Avikalpa Kundu
1b356cea57 Bug 1370489 - Factor out TelemetryIOInterposeObserver from Telemetry.cpp. r=gfritzsche 2017-06-15 17:42: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
Georg Fritzsche
bccaccd801 Bug 1366294 - Part 1 - Remove base::StatisticsRecorder. r=chutten
The Chromium IPC histogram code used the StatisticsRecorder object for storage.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.
Consequently we need to rewrite this storage, which means StatisticsRecorder is not used anymore.

MozReview-Commit-ID: 1LC7YubpKaD
2017-07-24 09:52:26 -04:00
Carsten "Tomcat" Book
372571d466 merge mozilla-inbound to mozilla-central a=merge 2017-06-27 10:56:41 +02:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Iaroslav (yarik) Sheptykin
5b0d858815 Bug 1373900: Factor ThreadHangStats implementation out of Telemetry.cpp. r=chutten
MozReview-Commit-ID: C106sVX04s
2017-06-22 09:54:05 +02:00
Nicholas Nethercote
55c693e8f9 Bug 1375299 (part 1) - Reduce usage of MOZ_GECKO_PROFILER. r=mstange.
This patch reduces the differences between builds where the profiler is enabled
and those where the profiler is disabled. It does this by removing numerous
MOZ_GECKO_PROFILER checks.

These changes have the following consequences.

- Various functions and classes are now defined in all builds, and so can be
  used unconditionally: profiler_add_marker(), profiler_set_js_context(),
  profiler_clear_js_context(), profiler_get_pseudo_stack(), AutoProfilerLabel.
  (They are effectively no-ops in non-profiler builds, of course.)

- The no-op versions of PROFILER_* are now gone. The remaining versions are
  almost no-ops when the profiler isn't built.
2017-06-22 06:26:16 +10:00
Iaroslav (yarik) Sheptykin
04e8b98ba9 Bug 1371900: Factored ProcessedStack out of Telemetry.cpp. r=gfritzsche
MozReview-Commit-ID: IKe8btKJ028
2017-06-10 19:34:44 +02:00
Carsten "Tomcat" Book
bbe9441993 Backed out changeset 9846de3bd954 (bug 1372405) 2017-06-20 08:27:02 +02:00
Bill McCloskey
f69608368b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Bevis Tseng
e6dc9e02bc Bug 1372453 - Part 2: Name the caller of ProxyReleaseEvent. r=billm
MozReview-Commit-ID: LYhSWnZkq0i
2017-06-14 09:27:17 +08:00
Michael Layzell
956290a1de Bug 1369594 - Get module information for BHR off main thread, r=froydnj
MozReview-Commit-ID: L0ANHNKKAkY
2017-06-16 14:55:15 -04:00
Iaroslav (yarik) Sheptykin
6f8ac1bdef Bug 1371927: Build KeyedStackCapture only if profiler enabled. r=gfritzsche
MozReview-Commit-ID: 9IoVY2K5hXc
2017-06-10 19:59:16 +02:00
Carsten "Tomcat" Book
f255f33b09 Backed out changeset 86bec347e28b (bug 1371927) on request from gfritsche 2017-06-13 11:11:14 +02:00
Iaroslav (yarik) Sheptykin
2383299032 Bug 1371927: Build KeyedStackCapture only if profiler enabled. r=gfritzsche
MozReview-Commit-ID: 9IoVY2K5hXc
2017-06-10 19:59:16 +02:00
Iaroslav (yarik) Sheptykin
d0c385e8c6 Bug 1335461: Pulling out stack capturing into standalone files. r=gfritzsche
MozReview-Commit-ID: APuclfFyJri
2017-06-01 09:36:51 +02:00
Georg Fritzsche
d6aa4893d1 Bug 1367281 - Wait on member Mutexes in TelemetryImpl destructor. r=chutten 2017-05-24 16:53:01 +07:00
Michael Layzell
b9d964735a Bug 1363883 - Share memory maps between BHR native stacks, dr=bsmedberg, r=froydnj
MozReview-Commit-ID: IQ1fMXUD0ch
2017-05-23 13:41:52 -04:00
Paolo Amadini
9887430efa Bug 1362384 - Remove code to import data from "downloads.sqlite". r=mak
When upgrading an old profile that still uses "downloads.sqlite", information about in-progress and paused downloads will be lost. The history of completed downloads will be preserved because it is stored in the Places database, although it may be affected by history expiration.

MozReview-Commit-ID: GFqvACKC4E1
2017-05-15 10:48:04 +01:00
Michael Layzell
7d3fc6981d Bug 1358619 - Fetch the stack and native stack within the same pause of the target thread, r=froydnj 2017-05-01 13:40:37 -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
Marco Bonardo
aea9513618 Bug 977177 - Add favicons.sqlite to profile related lists. r=adw,jmaher
MozReview-Commit-ID: HkYpXQ0UFmd
2017-03-30 13:08:05 +02:00
Gregory Moore
7ef3821068 Bug 1271991 - Store recording state locally in Telemetry.cpp to avoid excessive locking in CanRecord{Base, Extended}().
MozReview-Commit-ID: FHin1oKEmCn
2017-04-11 10:52:54 -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
Jan Beich
9e07c8157e Bug 1347661 - Unbreak --enable-warnings-as-errors on platforms without Gecko Profiler. r=gfritzsche
MozReview-Commit-ID: Jp2HsYItboc
2017-03-15 19:05:33 +00:00
Markus Stange
17d77cd42e Bug 1329111 - Rename SharedLibraryInfo::mName to mModuleName, and consistently cut off the path on all platforms. r=marco
MozReview-Commit-ID: 8gqqVjTjy1Z
2017-03-14 17:07:43 -04:00
Sebastian Hengst
cbd672f1b0 Backed out changeset ff2306d8e07f (bug 1329111) for lacking a semicolon in devtools/server/performance/profiler.js. r=backout 2017-03-16 20:00:34 +01:00
Markus Stange
e4e7fce9d5 Bug 1329111 - Rename SharedLibraryInfo::mName to mModuleName, and consistently cut off the path on all platforms. r=marco
MozReview-Commit-ID: 8gqqVjTjy1Z
2017-03-14 17:07:43 -04:00
clinton
4213fb3b39 Bug 1346208 - Remove B2G-specific code from Telemetry C++ modules r=gfritzsche
MozReview-Commit-ID: 3iU7OcHePno
2017-03-12 10:38:22 +11:00
Marco Castelluccio
7a13c2898d Bug 1342034 - Fix documentation of getLoadedModules in nsITelemetry.idl. r=Dexter 2017-03-07 07:08:00 -05:00
Mike Conley
6b1b0329c3 Bug 1312883 - Use MozStackWalk to gather native stacks on Windows. r=gfritzsche,jchen,liuche
MozReview-Commit-ID: A2aZAL03FG2
2017-02-16 12:05:46 -05:00
Sebastian Hengst
08f2233e92 Backed out changeset fddfc0739043 (bug 1312883) 2017-02-24 14:25:15 +01:00
Mike Conley
a194e7116b Bug 1312883 - Use MozStackWalk to gather native stacks on Windows. r=gfritzsche,jchen,liuche
MozReview-Commit-ID: A2aZAL03FG2
2017-02-16 12:05:46 -05:00
Marco Castelluccio
04e83173db Bug 1341023 - Take module name encoding into account for late writes and hangs. r=Dexter 2017-02-21 22:44:42 +00: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
Vedant Sareen
a85a2ad339 Bug 1330907 - Rename Telemetry::ID to Telemetry::HistogramID. r=dexter
Changed |print("enum ID : uint32_t {", file=output)| to |print("enum HistogramID : uint32_t {", file=output)| at line 53 of the file |toolkit/components/telemetry/gen-histogram-enum.py|, and then replaced all the textual occurrences of |Telemetry::ID| to |Telemetry::HistogramID| and |ID| to |HistogramID| in 43 other files.
2017-02-16 00:45:15 +05:30
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
Georg Fritzsche
2011d0ae0c Bug 1339749 - Refactor Telemetry IPC code. r=chutten 2017-02-15 16:25:40 +01:00
Carsten "Tomcat" Book
2d818c882e Backed out changeset 3a90f1f64d8d (bug 1339749) for bustage on a CLOSED TREE 2017-02-15 16:10:29 +01:00
Georg Fritzsche
c3f2c42868 Bug 1339749 - Refactor Telemetry IPC code. r=chutten 2017-02-15 10:37:17 +01: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
Iaroslav (yarik) Sheptykin
2b4478e2b0 Bug 1307746: Make capturing stacks thread safe. r=gfritzsche
MozReview-Commit-ID: B7p1bDdlk6k
2017-02-03 19:20:35 +01:00
Nicholas Nethercote
d2434a7cc6 Bug 1333296 (part 1) - Rename MOZ_ENABLE_PROFILER_SPS as MOZ_GECKO_PROFILER. r=mstange,glandium. 2017-01-24 14:15:12 +11:00