Remove error-prone wall time
This commit is contained in:
parent
4bdd625d04
commit
50c6ea3aaf
|
|
@ -27,10 +27,9 @@ import type { ActionTraceEventInContext } from './modelUtil';
|
||||||
|
|
||||||
export const CallTab: React.FunctionComponent<{
|
export const CallTab: React.FunctionComponent<{
|
||||||
action: ActionTraceEventInContext | undefined,
|
action: ActionTraceEventInContext | undefined,
|
||||||
executionStartTime: number,
|
startTimeOffset: number,
|
||||||
executionStartWallTime: number,
|
|
||||||
sdkLanguage: Language | undefined,
|
sdkLanguage: Language | undefined,
|
||||||
}> = ({ action, executionStartTime, executionStartWallTime, sdkLanguage }) => {
|
}> = ({ action, startTimeOffset, sdkLanguage }) => {
|
||||||
// We never need the waitForEventInfo (`info`).
|
// We never need the waitForEventInfo (`info`).
|
||||||
const paramKeys = React.useMemo(() => Object.keys(action?.params ?? {}).filter(name => name !== 'info'), [action]);
|
const paramKeys = React.useMemo(() => Object.keys(action?.params ?? {}).filter(name => name !== 'info'), [action]);
|
||||||
|
|
||||||
|
|
@ -38,12 +37,9 @@ export const CallTab: React.FunctionComponent<{
|
||||||
return <PlaceholderPanel text='No action selected' />;
|
return <PlaceholderPanel text='No action selected' />;
|
||||||
|
|
||||||
// Calculate execution time relative to the test runner's start time
|
// Calculate execution time relative to the test runner's start time
|
||||||
const startTimeMillis = action.startTime - executionStartTime;
|
const startTimeMillis = action.startTime - startTimeOffset;
|
||||||
const startTime = msToString(startTimeMillis);
|
const startTime = msToString(startTimeMillis);
|
||||||
|
|
||||||
const wallTimeMillis = startTimeMillis + executionStartWallTime;
|
|
||||||
const wallTime = new Date(wallTimeMillis).toLocaleString(undefined, { timeZoneName: 'short' });
|
|
||||||
|
|
||||||
const duration = action.endTime ? msToString(action.endTime - action.startTime) : 'Timed Out';
|
const duration = action.endTime ? msToString(action.endTime - action.startTime) : 'Timed Out';
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
@ -52,7 +48,6 @@ export const CallTab: React.FunctionComponent<{
|
||||||
{
|
{
|
||||||
<>
|
<>
|
||||||
<div className='call-section'>Time</div>
|
<div className='call-section'>Time</div>
|
||||||
<DateTimeCallLine name='wall time:' value={wallTime} />
|
|
||||||
<DateTimeCallLine name='start:' value={startTime} />
|
<DateTimeCallLine name='start:' value={startTime} />
|
||||||
<DateTimeCallLine name='duration:' value={duration} />
|
<DateTimeCallLine name='duration:' value={duration} />
|
||||||
</>
|
</>
|
||||||
|
|
|
||||||
|
|
@ -65,8 +65,6 @@ const RequestTab: React.FunctionComponent<{
|
||||||
}> = ({ resource, sdkLanguage, startTimeOffset }) => {
|
}> = ({ resource, sdkLanguage, startTimeOffset }) => {
|
||||||
const [requestBody, setRequestBody] = React.useState<{ text: string, mimeType?: string } | null>(null);
|
const [requestBody, setRequestBody] = React.useState<{ text: string, mimeType?: string } | null>(null);
|
||||||
|
|
||||||
const wallTimeString = React.useMemo(() => resource.startedDateTime.length > 0 ? new Date(resource.startedDateTime).toLocaleString(undefined, { timeZoneName: 'short' }) : '-', [resource.startedDateTime]);
|
|
||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
const readResources = async () => {
|
const readResources = async () => {
|
||||||
if (resource.request.postData) {
|
if (resource.request.postData) {
|
||||||
|
|
@ -102,7 +100,6 @@ const RequestTab: React.FunctionComponent<{
|
||||||
<div className='network-request-details-header'>Request Headers</div>
|
<div className='network-request-details-header'>Request Headers</div>
|
||||||
<div className='network-request-details-headers'>{resource.request.headers.map(pair => `${pair.name}: ${pair.value}`).join('\n')}</div>
|
<div className='network-request-details-headers'>{resource.request.headers.map(pair => `${pair.name}: ${pair.value}`).join('\n')}</div>
|
||||||
<div className='network-request-details-header'>Time</div>
|
<div className='network-request-details-header'>Time</div>
|
||||||
<div className='network-request-details-general'>{`Wall Time: ${wallTimeString}`}</div>
|
|
||||||
<div className='network-request-details-general'>{`Start: ${msToString(startTimeOffset)}`}</div>
|
<div className='network-request-details-general'>{`Start: ${msToString(startTimeOffset)}`}</div>
|
||||||
<div className='network-request-details-general'>{`Duration: ${msToString(resource.time)}`}</div>
|
<div className='network-request-details-general'>{`Duration: ${msToString(resource.time)}`}</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -176,7 +176,7 @@ export const Workbench: React.FunctionComponent<{
|
||||||
const callTab: TabbedPaneTabModel = {
|
const callTab: TabbedPaneTabModel = {
|
||||||
id: 'call',
|
id: 'call',
|
||||||
title: 'Call',
|
title: 'Call',
|
||||||
render: () => <CallTab action={activeAction} executionStartTime={model?.startTime ?? 0} executionStartWallTime={model?.wallTime ?? 0} sdkLanguage={sdkLanguage} />
|
render: () => <CallTab action={activeAction} startTimeOffset={model?.startTime ?? 0} sdkLanguage={sdkLanguage} />
|
||||||
};
|
};
|
||||||
const logTab: TabbedPaneTabModel = {
|
const logTab: TabbedPaneTabModel = {
|
||||||
id: 'log',
|
id: 'log',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue