11import { Autowired } from '@ali/common-di' ;
2- import { CommandService , Disposable , Domain , URI , Uri } from '@ali/ide-core-common' ;
2+ import {
3+ CommandService ,
4+ Disposable ,
5+ Domain ,
6+ URI ,
7+ Uri ,
8+ IReporterService ,
9+ } from '@ali/ide-core-common' ;
310import {
411 ClientAppContribution ,
512 PreferenceService ,
@@ -15,7 +22,7 @@ import { EditorComponentRegistry, ResourceService, IResource } from '@ali/ide-ed
1522
1623import * as vscode from 'vscode' ;
1724import { LSIF_PROD_API_HOST , LSIF_TEST_API_HOST , LsifClient } from '@alipay/lsif-client' ;
18- import { RuntimeConfig } from '@alipay/alex-core' ;
25+ import { RuntimeConfig , REPORT_NAME } from '@alipay/alex-core' ;
1926import {
2027 BrowserEditorContribution ,
2128 IEditorDocumentModelContentRegistry ,
@@ -57,6 +64,9 @@ export class LsifContribution
5764 @Autowired ( )
5865 labelService : LabelService ;
5966
67+ @Autowired ( IReporterService )
68+ reporterService : IReporterService ;
69+
6070 readonly schema = lsifPreferenceSchema ;
6171
6272 private async getCodeServiceProject ( ) : Promise <
@@ -133,15 +143,26 @@ export class LsifContribution
133143 const path = _rootUri . relative ( new URI ( document . uri ) ) ;
134144 if ( ! path ) return ;
135145
136- return await this . lsifClient . hover ( {
146+ const params = {
137147 repository : project ,
138148 commit,
139149 path : path . toString ( ) ,
140150 position : {
141151 character : position . character ,
142152 line : position . line ,
143153 } ,
154+ } ;
155+
156+ const ret = await this . lsifClient . hover ( params ) ;
157+
158+ setTimeout ( ( ) => {
159+ this . reporterService . point ( REPORT_NAME . LSIF_LANGUAGE_SERVICE , 'provideHover' , {
160+ params,
161+ response : ret ,
162+ } ) ;
144163 } ) ;
164+
165+ return ret ;
145166 } ,
146167 }
147168 )
@@ -163,14 +184,23 @@ export class LsifContribution
163184 const path = _rootUri . relative ( new URI ( document . uri ) ) ;
164185 if ( ! path ) return ;
165186
166- const ret = await this . lsifClient . reference ( {
187+ const params = {
167188 repository : project ,
168189 commit,
169190 path : path . toString ( ) ,
170191 position : {
171192 character : position . character ,
172193 line : position . line ,
173194 } ,
195+ } ;
196+
197+ const ret = await this . lsifClient . reference ( params ) ;
198+
199+ setTimeout ( ( ) => {
200+ this . reporterService . point ( REPORT_NAME . LSIF_LANGUAGE_SERVICE , 'provideReferences' , {
201+ params,
202+ response : ret ,
203+ } ) ;
174204 } ) ;
175205
176206 if ( ! ret ) {
@@ -234,14 +264,23 @@ export class LsifContribution
234264 const path = _rootUri . relative ( new URI ( document . uri ) ) ;
235265 if ( ! path ) return ;
236266
237- const ret = await this . lsifClient . definition ( {
267+ const params = {
238268 repository : project ,
239269 commit,
240270 path : path . toString ( ) ,
241271 position : {
242272 character : position . character ,
243273 line : position . line ,
244274 } ,
275+ } ;
276+
277+ const ret = await this . lsifClient . definition ( params ) ;
278+
279+ setTimeout ( ( ) => {
280+ this . reporterService . point ( REPORT_NAME . LSIF_LANGUAGE_SERVICE , 'provideDefinition' , {
281+ params,
282+ response : ret ,
283+ } ) ;
245284 } ) ;
246285
247286 if ( ! ret ) {
0 commit comments