@@ -34,16 +34,16 @@ import {
3434import playgroundSearchTemplate from '../templates/playgroundSearchTemplate' ;
3535import playgroundTemplate from '../templates/playgroundTemplate' ;
3636import type { StatusView } from '../views' ;
37- import type TelemetryService from '../telemetry/telemetryService' ;
38- import {
39- isPlayground ,
40- getSelectedText ,
41- getAllText ,
42- getPlaygroundExtensionForTelemetry ,
43- } from '../utils/playground' ;
37+ import type { TelemetryService } from '../telemetry' ;
38+ import { isPlayground , getSelectedText , getAllText } from '../utils/playground' ;
4439import type ExportToLanguageCodeLensProvider from './exportToLanguageCodeLensProvider' ;
4540import { playgroundFromDatabaseTreeItemTemplate } from '../templates/playgroundFromDatabaseTreeItemTemplate' ;
4641import { playgroundFromCollectionTreeItemTemplate } from '../templates/playgroundFromCollectionTreeItemTemplate' ;
42+ import {
43+ PlaygroundCreatedTelemetryEvent ,
44+ PlaygroundExecutedTelemetryEvent ,
45+ PlaygroundSavedTelemetryEvent ,
46+ } from '../telemetry' ;
4747
4848const log = createLogger ( 'playground controller' ) ;
4949
@@ -135,17 +135,15 @@ export default class PlaygroundController {
135135 if ( isPlayground ( document . uri ) ) {
136136 // TODO: re-enable with fewer 'Playground Loaded' events
137137 // https://jira.mongodb.org/browse/VSCODE-432
138- /* this._telemetryService.trackPlaygroundLoaded(
139- getPlaygroundExtensionForTelemetry(document.uri)
140- ); */
138+ // this._telemetryService.track(new PlaygroundLoadedTelemetryEvent(document.uri));
141139 await vscode . languages . setTextDocumentLanguage ( document , 'javascript' ) ;
142140 }
143141 } ) ;
144142
145143 vscode . workspace . onDidSaveTextDocument ( ( document ) => {
146144 if ( isPlayground ( document . uri ) ) {
147- this . _telemetryService . trackPlaygroundSaved (
148- getPlaygroundExtensionForTelemetry ( document . uri )
145+ this . _telemetryService . track (
146+ new PlaygroundSavedTelemetryEvent ( document . uri )
149147 ) ;
150148 }
151149 } ) ;
@@ -231,7 +229,7 @@ export default class PlaygroundController {
231229 . replace ( 'CURRENT_DATABASE' , databaseName )
232230 . replace ( 'CURRENT_COLLECTION' , collectionName ) ;
233231
234- this . _telemetryService . trackPlaygroundCreated ( 'search' ) ;
232+ this . _telemetryService . track ( new PlaygroundCreatedTelemetryEvent ( 'search' ) ) ;
235233 return this . _createPlaygroundFileWithContent ( content ) ;
236234 }
237235
@@ -246,9 +244,13 @@ export default class PlaygroundController {
246244 content = content
247245 . replace ( 'NEW_DATABASE_NAME' , element . databaseName )
248246 . replace ( 'Create a new database' , 'The current database to use' ) ;
249- this . _telemetryService . trackPlaygroundCreated ( 'createCollection' ) ;
247+ this . _telemetryService . track (
248+ new PlaygroundCreatedTelemetryEvent ( 'createCollection' )
249+ ) ;
250250 } else {
251- this . _telemetryService . trackPlaygroundCreated ( 'createDatabase' ) ;
251+ this . _telemetryService . track (
252+ new PlaygroundCreatedTelemetryEvent ( 'createDatabase' )
253+ ) ;
252254 }
253255
254256 return this . _createPlaygroundFileWithContent ( content ) ;
@@ -262,7 +264,7 @@ export default class PlaygroundController {
262264 . replace ( 'CURRENT_DATABASE' , databaseName )
263265 . replace ( 'CURRENT_COLLECTION' , collectionName ) ;
264266
265- this . _telemetryService . trackPlaygroundCreated ( 'index' ) ;
267+ this . _telemetryService . track ( new PlaygroundCreatedTelemetryEvent ( 'index' ) ) ;
266268 return this . _createPlaygroundFileWithContent ( content ) ;
267269 }
268270
@@ -277,7 +279,7 @@ export default class PlaygroundController {
277279 const content = useDefaultTemplate
278280 ? playgroundBasicTextTemplate . replace ( 'PLAYGROUND_CONTENT' , text )
279281 : text ;
280- this . _telemetryService . trackPlaygroundCreated ( 'agent' ) ;
282+ this . _telemetryService . track ( new PlaygroundCreatedTelemetryEvent ( 'agent' ) ) ;
281283 return this . _createPlaygroundFileWithContent ( content ) ;
282284 }
283285
@@ -291,7 +293,9 @@ export default class PlaygroundController {
291293 . replace ( 'CURRENT_COLLECTION' , collectionName )
292294 . replace ( 'DOCUMENT_CONTENTS' , documentContents ) ;
293295
294- this . _telemetryService . trackPlaygroundCreated ( 'cloneDocument' ) ;
296+ this . _telemetryService . track (
297+ new PlaygroundCreatedTelemetryEvent ( 'cloneDocument' )
298+ ) ;
295299 return this . _createPlaygroundFileWithContent ( content ) ;
296300 }
297301
@@ -303,7 +307,9 @@ export default class PlaygroundController {
303307 . replace ( 'CURRENT_DATABASE' , databaseName )
304308 . replace ( 'CURRENT_COLLECTION' , collectionName ) ;
305309
306- this . _telemetryService . trackPlaygroundCreated ( 'insertDocument' ) ;
310+ this . _telemetryService . track (
311+ new PlaygroundCreatedTelemetryEvent ( 'insertDocument' )
312+ ) ;
307313 return this . _createPlaygroundFileWithContent ( content ) ;
308314 }
309315
@@ -314,7 +320,9 @@ export default class PlaygroundController {
314320
315321 element . cacheIsUpToDate = false ;
316322
317- this . _telemetryService . trackPlaygroundCreated ( 'createStreamProcessor' ) ;
323+ this . _telemetryService . track (
324+ new PlaygroundCreatedTelemetryEvent ( 'createStreamProcessor' )
325+ ) ;
318326
319327 return this . _createPlaygroundFileWithContent ( content ) ;
320328 }
@@ -325,13 +333,17 @@ export default class PlaygroundController {
325333 let content = '' ;
326334 if ( treeItem instanceof DatabaseTreeItem ) {
327335 content = playgroundFromDatabaseTreeItemTemplate ( treeItem . databaseName ) ;
328- this . _telemetryService . trackPlaygroundCreated ( 'fromDatabaseTreeItem' ) ;
336+ this . _telemetryService . track (
337+ new PlaygroundCreatedTelemetryEvent ( 'fromDatabaseTreeItem' )
338+ ) ;
329339 } else if ( treeItem instanceof CollectionTreeItem ) {
330340 content = playgroundFromCollectionTreeItemTemplate (
331341 treeItem . databaseName ,
332342 treeItem . collectionName
333343 ) ;
334- this . _telemetryService . trackPlaygroundCreated ( 'fromCollectionTreeItem' ) ;
344+ this . _telemetryService . track (
345+ new PlaygroundCreatedTelemetryEvent ( 'fromCollectionTreeItem' )
346+ ) ;
335347 }
336348
337349 return this . _createPlaygroundFileWithContent ( content ) ;
@@ -350,7 +362,7 @@ export default class PlaygroundController {
350362 content = template ;
351363 }
352364
353- this . _telemetryService . trackPlaygroundCreated ( 'crud' ) ;
365+ this . _telemetryService . track ( new PlaygroundCreatedTelemetryEvent ( 'crud' ) ) ;
354366 return this . _createPlaygroundFileWithContent ( content ) ;
355367 }
356368
@@ -391,10 +403,12 @@ export default class PlaygroundController {
391403 }
392404
393405 this . _statusView . hideMessage ( ) ;
394- this . _telemetryService . trackPlaygroundCodeExecuted (
395- result ,
396- this . _isPartialRun ,
397- result ? false : true
406+ this . _telemetryService . track (
407+ new PlaygroundExecutedTelemetryEvent (
408+ result ,
409+ this . _isPartialRun ,
410+ result ? false : true
411+ )
398412 ) ;
399413
400414 return result ;
0 commit comments