Skip to content

Commit 14b9ce1

Browse files
committed
Remove vscode-common dependency and migrate to telemetry package
This PR fixes redhat-developer#2166. Signed-off-by: Denis Golovin [email protected]
1 parent ba3944b commit 14b9ce1

File tree

5 files changed

+29
-22
lines changed

5 files changed

+29
-22
lines changed

Diff for: Jenkinsfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ node('rhel8'){
2626
def packageJson = readJSON file: 'package.json'
2727

2828
stage('Package') {
29-
packageJson.extensionDependencies = ["ms-kubernetes-tools.vscode-kubernetes-tools", "redhat.vscode-commons"]
29+
packageJson.extensionDependencies = ["ms-kubernetes-tools.vscode-kubernetes-tools"]
3030
writeJSON file: 'package.json', json: packageJson, pretty: 4
3131
sh 'node ./out/build/update-readme.js'
3232
sh "vsce package -o openshift-connector-${packageJson.version}-${env.BUILD_NUMBER}.vsix"

Diff for: package-lock.json

+7-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: package.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
},
8080
"dependencies": {
8181
"@kubernetes/client-node": "^0.13.0",
82-
"@redhat-developer/vscode-redhat-telemetry": "0.0.13",
82+
"@redhat-developer/vscode-redhat-telemetry": "0.1.1",
8383
"base64-inline-loader": "^1.1.1",
8484
"binary-search": "^1.3.6",
8585
"byline": "^5.0.0",
@@ -1469,6 +1469,12 @@
14691469
"type": "object",
14701470
"title": "OpenShift Connector",
14711471
"properties": {
1472+
"redhat.telemetry.enabled": {
1473+
"type": "boolean",
1474+
"default": null,
1475+
"markdownDescription": "Enable usage data and errors to be sent to Red Hat servers. Read our [privacy statement](https://developers.redhat.com/article/tool-data-collection).",
1476+
"scope": "window"
1477+
},
14721478
"openshiftConnector.showWelcomePage": {
14731479
"title": "Show Welcome Page",
14741480
"type": "boolean",

Diff for: src/extension.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
env
1515
} from 'vscode';
1616
import path = require('path');
17-
import sendTelemetry from './telemetry';
17+
import { startTelemetry } from './telemetry';
1818
import { OpenShiftExplorer } from './explorer';
1919
import { Cluster } from './openshift/cluster';
2020
import { Component } from './openshift/component';
@@ -143,7 +143,7 @@ export async function activate(extensionContext: ExtensionContext): Promise<any>
143143

144144
OdoImpl.Instance.loadWorkspaceComponents(null);
145145

146-
sendTelemetry('activation');
146+
startTelemetry(extensionContext);
147147

148148
return {
149149
verifyBundledBinaries,

Diff for: src/telemetry.ts

+12-11
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,10 @@
33
* Licensed under the MIT License. See LICENSE file in the project root for license information.
44
*-----------------------------------------------------------------------------------------------*/
55

6-
import { getTelemetryService, TelemetryEvent, TelemetryService } from '@redhat-developer/vscode-redhat-telemetry';
7-
import { ExtenisonID } from './util/constants';
6+
import { getRedHatService, TelemetryEvent, TelemetryService } from '@redhat-developer/vscode-redhat-telemetry';
7+
import { ExtensionContext } from 'vscode';
88

9-
const telemetryService: Promise<TelemetryService> = getTelemetryService(ExtenisonID);
10-
11-
export async function getTelemetryServiceInstance(): Promise<TelemetryService> {
12-
return telemetryService;
13-
}
9+
let telemetryService: TelemetryService;
1410

1511
export function createTrackingEvent(name: string, properties: any = {}): TelemetryEvent {
1612
return {
@@ -20,12 +16,17 @@ export function createTrackingEvent(name: string, properties: any = {}): Telemet
2016
}
2117
}
2218

19+
export async function startTelemetry(context: ExtensionContext): Promise<void> {
20+
const redHatService = await getRedHatService(context);
21+
telemetryService = await redHatService.getTelemetryService();
22+
return telemetryService.sendStartupEvent();
23+
}
24+
2325
export default async function sendTelemetry(actionName: string, properties?: any): Promise<void> {
24-
const service = await getTelemetryServiceInstance();
25-
if (actionName === 'activation') {
26-
return service?.sendStartupEvent();
26+
if (!telemetryService) {
27+
throw Error('Telemetry service has not been started yet!');
2728
}
28-
return service?.send(createTrackingEvent(actionName, properties));
29+
return telemetryService.send(createTrackingEvent(actionName, properties));
2930
}
3031

3132
export interface CommonCommandProps {

0 commit comments

Comments
 (0)