@@ -13,6 +13,7 @@ import { autorun, derived } from '../../../../../base/common/observable.js';
1313import { ThemeIcon } from '../../../../../base/common/themables.js' ;
1414import { localize } from '../../../../../nls.js' ;
1515import { ICommandService } from '../../../../../platform/commands/common/commands.js' ;
16+ import { ITelemetryService } from '../../../../../platform/telemetry/common/telemetry.js' ;
1617import { IStatusbarService , StatusbarAlignment } from '../../../../services/statusbar/browser/statusbar.js' ;
1718import { AI_STATS_SETTING_ID } from '../settingIds.js' ;
1819import type { AiStatsFeature } from './aiStatsFeature.js' ;
@@ -25,6 +26,7 @@ export class AiStatsStatusBar extends Disposable {
2526 private readonly _aiStatsFeature : AiStatsFeature ,
2627 @IStatusbarService private readonly _statusbarService : IStatusbarService ,
2728 @ICommandService private readonly _commandService : ICommandService ,
29+ @ITelemetryService private readonly _telemetryService : ITelemetryService ,
2830 ) {
2931 super ( ) ;
3032
@@ -39,6 +41,7 @@ export class AiStatsStatusBar extends Disposable {
3941 text : '' ,
4042 tooltip : {
4143 element : async ( _token ) => {
44+ this . _sendHoverTelemetry ( ) ;
4245 store . clear ( ) ;
4346 const elem = this . _createStatusBarHover ( ) ;
4447 return elem . keepUpdated ( store ) . element ;
@@ -50,6 +53,21 @@ export class AiStatsStatusBar extends Disposable {
5053 } ) ) ;
5154 }
5255
56+ private _sendHoverTelemetry ( ) : void {
57+ this . _telemetryService . publicLog2 < {
58+ aiRate : number ;
59+ } , {
60+ owner : 'hediet' ;
61+ comment : 'Fired when the AI stats status bar hover tooltip is shown' ;
62+ aiRate : { classification : 'SystemMetaData' ; purpose : 'FeatureInsight' ; comment : 'The current AI rate percentage' } ;
63+ } > (
64+ 'aiStatsStatusBar.hover' ,
65+ {
66+ aiRate : this . _aiStatsFeature . aiRate . get ( ) ,
67+ }
68+ ) ;
69+ }
70+
5371
5472 private _createStatusBar ( ) {
5573 return n . div ( {
0 commit comments