Open Bug 1333026 Opened 7 years ago Updated 2 years ago

Add test coverage for the C++ Scalar API (child processes)

Categories

(Toolkit :: Telemetry, defect, P3)

defect
Points:
3

Tracking

()

Tracking Status
firefox53 --- affected

People

(Reporter: Dexter, Unassigned)

References

Details

(Whiteboard: [measurement:client])

In bug 1305648 we added the initial support for the C++ Scalar API testing framework.

However, now that child processes scalar support landed (bug 1278556) we need to extend the test coverage to cover telemetry from child processes too.
Blocks: 1278556
Points: --- → 3
Priority: -- → P2
Whiteboard: [measurement:client]
The code that tests the C++ API for the parent process lives here: http://searchfox.org/mozilla-central/source/toolkit/components/telemetry/tests/gtest/TestScalars.cpp
Jim, we would like to add test coverage for the telemetry scalar C++ API usage from a child process (possibly, the content process).

I think this probably means we should extend the code from comment 2 to spawn a content process and execute some telemetry calls in it. Do you have any idea who could point me to the right direction for that?
Flags: needinfo?(jmathies)
(In reply to Alessio Placitelli [:Dexter] from comment #2)
> Jim, we would like to add test coverage for the telemetry scalar C++ API
> usage from a child process (possibly, the content process).
> 
> I think this probably means we should extend the code from comment 2 to
> spawn a content process and execute some telemetry calls in it. Do you have
> any idea who could point me to the right direction for that?

We don't have a way to spawn arbitrary content processes for tests but feel free to poke around the code that manages them for a way to do so [1][2]. Maybe through a framework like gtests you can get something working. I'm not going to predict this attempt will go smoothly.

You could also use a higher level framework and trigger a content process under e10s by loading remote content in a test or creating a test that hosts a <browser remote=true/>. Maybe investigate observer events that trigger telemetry collection in the child as a way of triggering the use of this code, then test the results?

[1] http://searchfox.org/mozilla-central/source/ipc/glue/GeckoChildProcessHost.h
[2] http://searchfox.org/mozilla-central/search?q=symbol:T_mozilla%3A%3Aipc%3A%3AGeckoChildProcessHost&redirect=false
Flags: needinfo?(jmathies)
Priority: P2 → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.