Skip to content

Commit 3ddbedd

Browse files
authored
[devtools] log more events + metadata (#24951)
* [devtools] log more events + metadata * better typing * consistent string type
1 parent cfb6cfa commit 3ddbedd

File tree

6 files changed

+16
-15
lines changed

6 files changed

+16
-15
lines changed

packages/react-devtools-shared/src/Logger.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ export type LogEvent =
4242
+event_name: 'profiling-start',
4343
|};
4444

45-
export type LogFunction = LogEvent => void | Promise<void>;
45+
export type LogFunction = (LogEvent, ?Object) => void | Promise<void>;
4646

4747
let logFunctions: Array<LogFunction> = [];
4848
export const logEvent: LogFunction =
4949
enableLogger === true
50-
? function logEvent(event: LogEvent): void {
50+
? function logEvent(event: LogEvent, metadata: ?Object): void {
5151
logFunctions.forEach(log => {
52-
log(event);
52+
log(event, metadata);
5353
});
5454
}
5555
: function logEvent() {};

packages/react-devtools-shared/src/devtools/views/Components/Element.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export default function Element({data, index, style}: Props) {
7777

7878
const handleClick = ({metaKey}) => {
7979
if (id !== null) {
80-
logEvent({event_name: 'select-element'});
80+
logEvent({event_name: 'select-element'}, {source: 'click-element'});
8181
dispatch({
8282
type: 'SELECT_ELEMENT_BY_ID',
8383
payload: metaKey ? null : id,

packages/react-devtools-shared/src/devtools/views/Components/InspectedElementView.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ function OwnerView({
303303
} = useHighlightNativeElement();
304304

305305
const handleClick = useCallback(() => {
306-
logEvent({event_name: 'select-element'});
306+
logEvent({event_name: 'select-element'}, {source: 'owner-view'});
307307
dispatch({
308308
type: 'SELECT_ELEMENT_BY_ID',
309309
payload: id,

packages/react-devtools-shared/src/devtools/views/Components/Tree.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ export default function Tree(props: Props) {
104104
function handleStopInspectingNative(didSelectNode) {
105105
if (didSelectNode && focusTargetRef.current !== null) {
106106
focusTargetRef.current.focus();
107-
logEvent({event_name: 'select-element'});
107+
logEvent({event_name: 'select-element'}, {source: 'inspector'});
108108
}
109109
}
110110
bridge.addListener('stopInspectingNative', handleStopInspectingNative);

packages/react-devtools-shared/src/devtools/views/Profiler/ProfilerContext.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -192,14 +192,6 @@ function ProfilerContextController({children}: Props) {
192192
});
193193
}
194194

195-
const startProfiling = useCallback(() => {
196-
logEvent({event_name: 'profiling-start'});
197-
store.profilerStore.startProfiling();
198-
}, [store]);
199-
const stopProfiling = useCallback(() => store.profilerStore.stopProfiling(), [
200-
store,
201-
]);
202-
203195
const [
204196
isCommitFilterEnabled,
205197
setIsCommitFilterEnabled,
@@ -217,6 +209,14 @@ function ProfilerContextController({children}: Props) {
217209
'flame-chart',
218210
);
219211

212+
const startProfiling = useCallback(() => {
213+
logEvent({event_name: 'profiling-start'}, {current_tab: selectedTabID});
214+
store.profilerStore.startProfiling();
215+
}, [store, selectedTabID]);
216+
const stopProfiling = useCallback(() => store.profilerStore.stopProfiling(), [
217+
store,
218+
]);
219+
220220
if (isProfiling) {
221221
batchedUpdates(() => {
222222
if (selectedCommitIndex !== null) {

packages/react-devtools-shared/src/registerDevToolsEventLogger.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export function registerDevToolsEventLogger(
2525
| LoggerContext
2626
| ?(() => Promise<LoggerContext>),
2727
): void {
28-
async function logEvent(event: LogEvent) {
28+
async function logEvent(event: LogEvent, metadata: ?Object) {
2929
if (enableLogger) {
3030
if (loggingIFrame != null) {
3131
loggingIFrame.contentWindow.postMessage(
@@ -35,6 +35,7 @@ export function registerDevToolsEventLogger(
3535
context: {
3636
surface,
3737
version: process.env.DEVTOOLS_VERSION,
38+
metadata: metadata != null ? JSON.stringify(metadata) : '',
3839
...(fetchAdditionalContext != null
3940
? await fetchAdditionalContext()
4041
: {}),

0 commit comments

Comments
 (0)