Open Bug 1316088 Opened 8 years ago Updated 2 years ago

Avoid running tests for capturing stacks if profiler is unavailable

Categories

(Toolkit :: Telemetry, defect, P4)

defect

Tracking

()

People

(Reporter: yarik.sheptykin, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [measurement:client])

Functionality for capturing stacks with telemetry requires profiler to be enabled. Thus testing build without profiler does not make much sense. The single tests in test_TelemetryCaptureStack.js will not execute on build without profiler but we would like to exclude the whole file from tests completely by placing right configuration in xpcshell.ini. Currently it is no flag for checking profiler availability, so we need to add it to: https://dxr.mozilla.org/mozilla-central/source/testing/mozbase/mozinfo/mozinfo/mozinfo.py
Depends on: 1225851
Priority: -- → P4
Whiteboard: [measurement:client]
(In reply to Iaroslav Sheptykin from comment #0) > Functionality for capturing stacks with telemetry requires profiler to be > enabled. Thus testing build without profiler does not make much sense. The > single tests in test_TelemetryCaptureStack.js will not execute on build > without profiler but we would like to exclude the whole file from tests > completely by placing right configuration in xpcshell.ini. Currently it is > no flag for checking profiler availability, so we need to add it to: > https://dxr.mozilla.org/mozilla-central/source/testing/mozbase/mozinfo/ > mozinfo/mozinfo.py Can you elaborate on why the profiler being enabled is required to capture stacks? |MozStackWalk| is available regardless of whether |MOZ_ENABLE_PROFILER_SPS| is set. Additionally now that bug 1322735 has landed the |MOZ_STACKWALK| define has been completely removed. I'm curious if there are other limitations.
Flags: needinfo?(yarik.sheptykin)
Hi :erahm! (In reply to Eric Rahm [:erahm] from comment #1) > Can you elaborate on why the profiler being enabled is required to capture > stacks? |MozStackWalk| is available regardless of whether > |MOZ_ENABLE_PROFILER_SPS| is set. Additionally now that bug 1322735 has > landed the |MOZ_STACKWALK| define has been completely removed. I'm curious > if there are other limitations. Sure, :erahm, but only as far my understanding goes. :gfritzsche, , can fill the rest. You are right about capturing raw stacks. We only need |MozStackWalk|. But to make captured stacks more readable on about:telemetry we symbolicate them with the snappy server. To get the right symbols from Snappy we build a memory map using |SharedLibraryInfo| (https://dxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/Telemetry.cpp#2872), which profiler provides (https://dxr.mozilla.org/mozilla-central/source/tools/profiler/public/shared-libraries.h#92). We currently do this for on-demand keyed stack capture and for collecting stats on browser and thread hangs. These are the dependencies on the profiler that I am aware about. I you want to have the complete list needinfo :gfritzsche or :gsvelto. Does this answer you question?
Flags: needinfo?(yarik.sheptykin) → needinfo?(erahm)
Taking the discussion on expanding stack capture availability to bug 1335444.
Flags: needinfo?(erahm)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.