Skip to content

Commit

Permalink
adapt telemetry example
Browse files Browse the repository at this point in the history
  • Loading branch information
rschnekenbu committed Apr 24, 2023
1 parent f7b27a9 commit afa0454
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 19 deletions.
7 changes: 5 additions & 2 deletions telemetry-sample/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,19 @@
"displayName": "telemetry-sample",
"description": "Sample showing how to use Telemetry API",
"version": "0.0.1",
"publisher": "vscode-samples",
"publisher": "rschnekenbu",
"private": true,
"license": "MIT",
"repository": "https://github.com/Microsoft/vscode-extension-samples",
"engines": {
"vscode": "^1.76.0"
"vscode": "^1.60.0"
},
"categories": [
"Other"
],
"activationEvents": [
"*"
],
"main": "./out/extension.js",
"contributes": {
"commands": [
Expand Down
54 changes: 37 additions & 17 deletions telemetry-sample/src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,55 @@ export function activate(context: vscode.ExtensionContext) {
console.log('Congratulations, your extension "telemetry-sample" is now active!');


const appender: vscode.TelemetryAppender = {
ignoreBuiltInCommonProperties: false,
logEvent: (eventName, data) => {
console.log(`Event: ${eventName}`);
const sender: vscode.TelemetrySender = {
sendErrorData(error, data) {
console.log("===== extension ERROR sender ===== ");
console.log(`Exception: ${error}`);
console.log(`Data: ${JSON.stringify(data)}`);
},
logException: (exception, data) => {
console.log(`Exception: ${exception}`);
sendEventData(eventName, data) {
console.log("===== extension EVENT sender ===== ");
console.log(`Event: ${eventName}`);
console.log(`Data: ${JSON.stringify(data)}`);
}
};

const logger = vscode.env.createTelemetryLogger(appender);

/**
* You can use proposed API here. `vscode.` should start auto complete
* Proposed API as defined in vscode.proposed.<proposalName>.d.ts.
*/
const logger = vscode.env.createTelemetryLogger(sender);

const c1 = vscode.commands.registerCommand('extension.logEvent', () => {
vscode.window.showInformationMessage('Logged telemetry event!');
logger.logUsage('testEvent', { 'testProp': 'testValue' });
const data = {
'testProp': 'testValue',
'file path': 'file:///foo/bar',
'fake email': '[email protected]',
'secret': 'pwd: 126',
'not-secret': 'pwd126',
'tesProp2' : {
'value': undefined,
'subprop' : 'prop',
'fake email': '[email protected]'
}
};
vscode.window.showInformationMessage('Logged telemetry event!: '+JSON.stringify(data));
logger.logUsage('testEvent', data);
});

context.subscriptions.push(c1);

context.subscriptions.push(vscode.commands.registerCommand('extension.logException', () => {
vscode.window.showInformationMessage('Logged telemetry exception!');
logger.logError(new Error('Test'), { 'testProp': 'testValue' });
logger.logError('testerror', { 'testProp': 'testValue' });
const data = {
'testProp': 'testValue',
'file path': 'file:///foo/bar',
'fake email': '[email protected]',
'secret': 'pwd: 126',
'not-secret': 'pwd126',
'tesProp2' : {
'value': undefined,
'subprop' : 'prop',
'fake email': '[email protected]'
}
};
vscode.window.showInformationMessage('Logged telemetry exception!'+JSON.stringify(data));
logger.logError('testerror', data);
}));

}

0 comments on commit afa0454

Please sign in to comment.