Export client logs for the active client as a part of the universal export

Summary:
Design doc: https://docs.google.com/document/d/1HLCFl46RfqG0o1mSt8SWrwf_HMfOCRg_oENioc1rkvQ/edit#

Introduce a command rto fetch debug data from the devices

Reviewed By: passy

Differential Revision: D40470838

fbshipit-source-id: 40a7ec66b1266ceff1b31b5b4f19b93765b78615
This commit is contained in:
Andrey Goncharov
2022-10-25 05:31:48 -07:00
committed by Facebook GitHub Bot
parent ef0d9fb77e
commit 2db9bccf75
4 changed files with 24 additions and 5 deletions

View File

@@ -605,13 +605,21 @@ export function canFileExport() {
return !!getRenderHostInstance().showSaveDialog;
}
export async function startLogsExport() {
export async function startFlipperLogsExport() {
const serializedLogs = exportLogs
.map((item) => JSON.stringify(item))
.join('\n');
await getRenderHostInstance().exportFile?.(serializedLogs);
}
export async function startClientLogsExport() {
const _clientLogs = await getRenderHostInstance().flipperServer.exec(
'fetch-debug-data',
);
// TODO: Save all log files
}
export async function exportEverythingEverywhereAllAtOnce(
store: MiddlewareAPI,
) {
@@ -619,10 +627,10 @@ export async function exportEverythingEverywhereAllAtOnce(
// TODO: Pack all files in a single archive
// Step 1: Export Flipper logs
await startLogsExport();
await startFlipperLogsExport();
// Step 2: Export device logs
// TODO: Implement me
await startClientLogsExport();
// Step 3: Export Flipper State
// TODO: Export all plugins automatically