Skip to content

Commit ef2e863

Browse files
niieanixnanodax
authored andcommitted
feat: ConsoleTraceLogger
1 parent e9bc815 commit ef2e863

File tree

6 files changed

+494
-7
lines changed

6 files changed

+494
-7
lines changed

src/stories/mockComponentsv3/App.stories.tsx

+38-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import React from 'react'
1+
import React, { useEffect } from 'react'
22
import type { Meta, StoryObj } from '@storybook/react'
3+
import { createConsoleTraceLogger } from '../../v3/ConsoleTraceLogger'
34
import { TraceManagerDebugger } from '../../v3/TraceManagerDebugger'
45
import { App } from './App'
56
import { traceManager } from './traceManager'
@@ -19,10 +20,10 @@ export const Primary: Story = {
1920
export const WithDebugger: Story = {
2021
render: () => (
2122
<div>
22-
<App />
23-
<div style={{ marginTop: '20px' }}>
23+
<div style={{ marginBottom: '20px' }}>
2424
<TraceManagerDebugger traceManager={traceManager} />
2525
</div>
26+
<App />
2627
</div>
2728
),
2829
}
@@ -35,3 +36,37 @@ export const WithFloatingDebugger: Story = {
3536
</div>
3637
),
3738
}
39+
40+
export const WithConsoleTraceLogger: Story = {
41+
render: () => {
42+
// Initialize the console trace logger when the story renders
43+
useEffect(() => {
44+
const consoleLogger = createConsoleTraceLogger(traceManager, {
45+
verbose: true,
46+
})
47+
48+
// Log a message to explain how to use the console
49+
console.info(
50+
'ConsoleTraceLogger is active. Open your browser console to see trace events. ' +
51+
'Try clicking on tickets to see trace events logged in real-time.',
52+
)
53+
54+
// Example of custom logger function if needed
55+
// consoleLogger.setOptions({
56+
// logFn: (message) => {
57+
// console.log(`%c${message}`, 'color: blue');
58+
// }
59+
// });
60+
61+
// Clean up the logger when the component unmounts
62+
return () => {
63+
consoleLogger.cleanup()
64+
console.info(
65+
'ConsoleTraceLogger has been cleaned up and unsubscribed from all events.',
66+
)
67+
}
68+
}, [])
69+
70+
return <App />
71+
},
72+
}

src/stories/mockComponentsv3/ticketOperationTracer.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export const ticketOperationTracer = traceManager.createTracer({
66
requiredSpans: [
77
{
88
name: 'TicketView',
9-
matchingRelations: ['ticketId'],
9+
matchingRelations: true,
1010
type: 'component-render',
1111
isIdle: true,
1212
},
@@ -19,13 +19,13 @@ export const ticketOperationTracer = traceManager.createTracer({
1919
debounceOnSpans: [
2020
{
2121
name: 'TicketView',
22-
matchingRelations: ['ticketId'],
22+
matchingRelations: true,
2323
},
2424
],
2525
interruptOnSpans: [
2626
{
2727
name: 'TicketView',
28-
matchingRelations: ['ticketId'],
28+
matchingRelations: true,
2929
type: 'component-unmount',
3030
},
3131
],

0 commit comments

Comments
 (0)