mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Add LogMethods helper and use it for more JSON data in logs. Reduce unhelpful logging.
Summary: - Sharing, Client, DocClients, HostingStorageManager all include available info. - In HostingStorageManager, log numSteps and maxStepTimeMs, in case that helps debug SQLITE_BUSY problem. - Replace some action-bundle logging with a JSON version aggregating some info. - Skip logging detailed list of actions in production. Test Plan: Tested manually by eyeballing log output in dev environment. Reviewers: paulfitz Reviewed By: paulfitz Differential Revision: https://phab.getgrist.com/D3086
This commit is contained in:
@@ -79,6 +79,10 @@ export function isRenameTable(act: DocAction): act is RenameTable { return act[0
|
||||
const SCHEMA_ACTIONS = new Set(['AddTable', 'RemoveTable', 'RenameTable', 'AddColumn',
|
||||
'RemoveColumn', 'RenameColumn', 'ModifyColumn']);
|
||||
|
||||
// Maps each data action to whether it's a bulk action.
|
||||
const DATA_ACTIONS = new Set(['AddRecord', 'RemoveRecord', 'UpdateRecord', 'BulkAddRecord',
|
||||
'BulkRemoveRecord', 'BulkUpdateRecord', 'ReplaceTableData', 'TableData']);
|
||||
|
||||
/**
|
||||
* Determines whether a given action is a schema action or not.
|
||||
*/
|
||||
@@ -87,6 +91,13 @@ export function isSchemaAction(action: DocAction):
|
||||
return SCHEMA_ACTIONS.has(action[0]);
|
||||
}
|
||||
|
||||
export function isDataAction(action: DocAction):
|
||||
action is AddRecord | RemoveRecord | UpdateRecord |
|
||||
BulkAddRecord | BulkRemoveRecord | BulkUpdateRecord |
|
||||
ReplaceTableData | TableDataAction {
|
||||
return DATA_ACTIONS.has(action[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the tableId from the action.
|
||||
*/
|
||||
@@ -149,6 +160,12 @@ export function getSelectionDesc(action: UserAction, optExcludeVals: boolean): s
|
||||
return `table ${table}, row${s} ${rows}; ${columns.join(", ")}`;
|
||||
}
|
||||
|
||||
export function getNumRows(action: DocAction): number {
|
||||
return !isDataAction(action) ? 0
|
||||
: Array.isArray(action[2]) ? action[2].length
|
||||
: 1;
|
||||
}
|
||||
|
||||
// Convert from TableColValues (used by DocStorage and external APIs) to TableDataAction (used
|
||||
// mainly by the sandbox).
|
||||
export function toTableDataAction(tableId: string, colValues: TableColValues): TableDataAction {
|
||||
|
||||
Reference in New Issue
Block a user