@@ -5,7 +5,7 @@ import { Event, EventEmitter } from 'vscode';
5
5
import '../../../../common/extensions' ;
6
6
import { createDeferred , Deferred } from '../../../../common/utils/async' ;
7
7
import { StopWatch } from '../../../../common/utils/stopWatch' ;
8
- import { traceError , traceVerbose } from '../../../../logging' ;
8
+ import { traceError , traceInfo , traceVerbose } from '../../../../logging' ;
9
9
import { sendTelemetryEvent } from '../../../../telemetry' ;
10
10
import { EventName } from '../../../../telemetry/constants' ;
11
11
import { normalizePath } from '../../../common/externalDependencies' ;
@@ -107,14 +107,18 @@ export class EnvsCollectionService extends PythonEnvsWatcher<PythonEnvCollection
107
107
}
108
108
109
109
public triggerRefresh ( query ?: PythonLocatorQuery , options ?: TriggerRefreshOptions ) : Promise < void > {
110
- const stopWatch = new StopWatch ( ) ;
111
110
let refreshPromise = this . getRefreshPromiseForQuery ( query ) ;
112
111
if ( ! refreshPromise ) {
113
112
if ( options ?. ifNotTriggerredAlready && this . hasRefreshFinished ( query ) ) {
114
113
// Do not trigger another refresh if a refresh has previously finished.
115
114
return Promise . resolve ( ) ;
116
115
}
117
- refreshPromise = this . startRefresh ( query ) . then ( ( ) => this . sendTelemetry ( query , stopWatch ) ) ;
116
+ const stopWatch = new StopWatch ( ) ;
117
+ traceInfo ( `Starting Environment refresh` ) ;
118
+ refreshPromise = this . startRefresh ( query ) . then ( ( ) => {
119
+ this . sendTelemetry ( query , stopWatch ) ;
120
+ traceInfo ( `Environment refresh took ${ stopWatch . elapsedTime } milliseconds` ) ;
121
+ } ) ;
118
122
}
119
123
return refreshPromise ;
120
124
}
@@ -139,17 +143,21 @@ export class EnvsCollectionService extends PythonEnvsWatcher<PythonEnvCollection
139
143
pending : 0 ,
140
144
} ;
141
145
const updatesDone = createDeferred < void > ( ) ;
142
-
146
+ const stopWatch = new StopWatch ( ) ;
143
147
if ( iterator . onUpdated !== undefined ) {
144
148
const listener = iterator . onUpdated ( async ( event ) => {
145
149
if ( isProgressEvent ( event ) ) {
146
150
switch ( event . stage ) {
147
151
case ProgressReportStage . discoveryFinished :
148
152
state . done = true ;
149
153
listener . dispose ( ) ;
154
+ traceInfo ( `Environments refresh finished (event): ${ stopWatch . elapsedTime } milliseconds` ) ;
150
155
break ;
151
156
case ProgressReportStage . allPathsDiscovered :
152
157
if ( ! query ) {
158
+ traceInfo (
159
+ `Environments refresh paths discovered (event): ${ stopWatch . elapsedTime } milliseconds` ,
160
+ ) ;
153
161
// Only mark as all paths discovered when querying for all envs.
154
162
this . progress . fire ( event ) ;
155
163
}
@@ -178,6 +186,7 @@ export class EnvsCollectionService extends PythonEnvsWatcher<PythonEnvCollection
178
186
seen . push ( env ) ;
179
187
this . cache . addEnv ( env ) ;
180
188
}
189
+ traceInfo ( `Environments refresh paths discovered: ${ stopWatch . elapsedTime } milliseconds` ) ;
181
190
await updatesDone . promise ;
182
191
// If query for all envs is done, `seen` should contain the list of all envs.
183
192
await this . cache . validateCache ( seen , query === undefined ) ;
0 commit comments