The log marker payload field for the message text is named "message" rather than "name". The front-end searches payload fields using their key as the field-specific filter, so a field named "name" would be matched by "name:" searches alongside marker.name (the log module name). Keeping the two distinct avoids ambiguity: "name:" searches match the module name only, while "message:" searches the log text. Differential Revision: https://phabricator.services.mozilla.com/D287122
44 lines
1.5 KiB
JavaScript
44 lines
1.5 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
const kPrefName = "logging.prof";
|
|
const kPrefValue = 5;
|
|
add_task(async () => {
|
|
Services.prefs.setIntPref(kPrefName, kPrefValue);
|
|
registerCleanupFunction(() => {
|
|
Services.prefs.clearUserPref(kPrefName);
|
|
});
|
|
|
|
const entries = 10000;
|
|
const interval = 1;
|
|
const threads = ["GeckoMain"];
|
|
const features = ["nostacksampling"];
|
|
await Services.profiler.StartProfiler(entries, interval, features, threads);
|
|
// We need to pause the profiler here, otherwise we get crashes.
|
|
// This seems to be a combination of json streaming + markers from Rust.
|
|
// See Bug 1920704 for more details.
|
|
await Services.profiler.Pause();
|
|
const profileData = await Services.profiler.getProfileDataAsync();
|
|
await Services.profiler.StopProfiler();
|
|
const { markers, stringTable } = profileData.threads[0];
|
|
// The "prof" log module is enabled via kPrefName = "logging.prof". Profiler
|
|
// operations (e.g. profiler_pause) emit MOZ_LOG calls to this module while
|
|
// the profiler is active, which should appear as markers named "prof".
|
|
const stringIndexForProf = stringTable.indexOf("prof");
|
|
Assert.greaterOrEqual(
|
|
stringIndexForProf,
|
|
0,
|
|
"A string index for the string 'prof' have been found."
|
|
);
|
|
|
|
const logMessageMarkers = markers.data.filter(
|
|
tuple => tuple[markers.schema.name] === stringIndexForProf
|
|
);
|
|
|
|
Assert.greater(
|
|
logMessageMarkers.length,
|
|
0,
|
|
"At least one log message have been found."
|
|
);
|
|
});
|