Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit10b509b

Browse files
authored
Merge pull request#394 from coderoad/telemetry
Telemetry
2 parents7652ee6 +f457a01 commit10b509b

File tree

24 files changed

+156
-1000
lines changed

24 files changed

+156
-1000
lines changed

‎package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
"watch":"tsc -watch -p ./"
3535
},
3636
"dependencies": {
37-
"@sentry/node":"^5.19.2",
3837
"@types/assert":"^1.5.1",
3938
"@types/jest":"^26.0.4",
4039
"@types/jsdom":"^16.2.3",
@@ -52,7 +51,8 @@
5251
"node-fetch":"^2.6.0",
5352
"semver":"^7.3.2",
5453
"ts-jest":"^26.1.3",
55-
"typescript":"^3.9.7"
54+
"typescript":"^3.9.7",
55+
"vscode-extension-telemetry":"^0.1.6"
5656
},
5757
"devDependencies": {
5858
"eslint-config-prettier":"^6.11.0",

‎src/actions/setupActions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as git from '../services/git'
44
importloadWatchersfrom'./utils/loadWatchers'
55
importopenFilesfrom'./utils/openFiles'
66
importrunCommandsfrom'./utils/runCommands'
7-
importonErrorfrom'../services/sentry/onError'
7+
import{onError}from'../services/telemetry'
88
importloggerfrom'../services/logger'
99

1010
interfaceSetupActions{

‎src/channel/index.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { exec } from '../services/node'
2020
import{WORKSPACE_ROOT,TUTORIAL_URL}from'../environment'
2121
importresetfrom'../services/reset'
2222
importgetLastCommitHashfrom'../services/reset/lastHash'
23+
import{onEvent}from'../services/telemetry'
2324

2425
constreadFileAsync=promisify(readFile)
2526

@@ -128,6 +129,12 @@ class Channel implements Channel {
128129
try{
129130
constdata:TT.Tutorial=action.payload.tutorial
130131

132+
onEvent('tutorial_start',{
133+
tutorial_id:data.id,
134+
tutorial_version:data.version,
135+
tutorial_title:data.summary.title,
136+
})
137+
131138
// validate extension version
132139
constexpectedAppVersion=data.config?.appVersions?.vscode
133140
if(expectedAppVersion){

‎src/editor/index.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import*asvscodefrom'vscode'
22
import{createCommands}from'./commands'
3+
import*astelemetryfrom'../services/telemetry'
34

45
classEditor{
56
// extension context set on activation
@@ -22,17 +23,25 @@ class Editor {
2223
workspaceState:this.vscodeExt.workspaceState,
2324
})
2425

26+
constsubscribe=(sub:any)=>{
27+
this.vscodeExt.subscriptions.push(sub)
28+
}
29+
2530
// register commands
2631
for(constcmdincommands){
2732
constcommand:vscode.Disposable=vscode.commands.registerCommand(cmd,commands[cmd])
28-
this.vscodeExt.subscriptions.push(command)
33+
subscribe(command)
2934
}
35+
36+
telemetry.activate(subscribe)
3037
}
3138
publicdeactivate=():void=>{
3239
// cleanup subscriptions/tasks
3340
for(constdisposableofthis.vscodeExt.subscriptions){
3441
disposable.dispose()
3542
}
43+
44+
telemetry.deactivate()
3645
}
3746
}
3847

‎src/environment.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
import{getWorkspaceRoot}from'./services/workspace'
22
import*asosfrom'os'
33

4-
// CodeRoad version
5-
exportconstVERSION='unknown'
4+
exportconstVERSION=require('../package.json').version
5+
6+
exportconstEXTENSION_ID='coderoad'
67

78
// Node env
89
exporttypeEnv='test'|'local'|'development'|'production'
910
//@ts-ignore
10-
exportconstNODE_ENV:Env=process.env.NODE_ENV||'production'
11+
exportconstNODE_ENV:Env=process.env.NODE_ENV||'development'
1112

1213
// toggle logging in development
1314
exportconstLOG=false
1415

1516
// error logging tool
16-
exportconstSENTRY_DSN:string|null=null
17+
exportconstINSTRUMENTATION_KEY='6ff37c76-72f3-48e3-a1b9-d5636f519b7b'
1718

1819
// uri path to the users project workspace
1920
exportconstWORKSPACE_ROOT:string=getWorkspaceRoot()

‎src/extension.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
// init error logging
2-
import'./services/sentry/init'
3-
41
importEditorfrom'./editor'
52

63
// vscode editor

‎src/services/sentry/init.ts

Lines changed: 0 additions & 11 deletions
This file was deleted.

‎src/services/sentry/onError.ts

Lines changed: 0 additions & 21 deletions
This file was deleted.

‎src/services/telemetry/index.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
importTelemetryReporterfrom'vscode-extension-telemetry'
2+
import{EXTENSION_ID,VERSION,INSTRUMENTATION_KEY,NODE_ENV}from'../../environment'
3+
4+
/**
5+
* Telemetry
6+
* https://github.com/microsoft/vscode-extension-telemetry
7+
*
8+
*/
9+
10+
interfaceProperties{
11+
[key:string]:string
12+
}
13+
14+
interfaceMeasurements{
15+
[key:string]:number
16+
}
17+
18+
letreporter:any
19+
20+
exportconstactivate=(subscribeFn:(reporter:any)=>void):void=>{
21+
if(NODE_ENV==='production'){
22+
reporter=newTelemetryReporter(EXTENSION_ID,VERSION,INSTRUMENTATION_KEY)
23+
subscribeFn(reporter)
24+
}
25+
}
26+
27+
exportconstdeactivate=():void=>{
28+
if(reporter){
29+
reporter.dispose()
30+
}
31+
}
32+
33+
exportconstonError=(error:Error,properties?:Properties,measurements?:Measurements):void=>{
34+
if(reporter){
35+
reporter.sendTelemetryException(error,properties,measurements)
36+
}
37+
}
38+
39+
exportconstonEvent=(eventName:string,properties?:Properties,measurements?:Measurements):void=>{
40+
if(reporter){
41+
reporter.sendTelemetryEvent(eventName,properties,measurements)
42+
}
43+
}

‎src/services/testRunner/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import logger from '../logger'
55
importparser,{ParserOutput}from'./parser'
66
importparseSubtasksfrom'./subtasks'
77
import{debounce,throttle}from'./throttle'
8-
importonErrorfrom'../sentry/onError'
8+
import{onError}from'../telemetry'
99
import{clearOutput,addOutput}from'./output'
1010
import{formatFailOutput}from'./formatOutput'
1111

‎src/services/webview/render.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import{JSDOM}from'jsdom'
22
import*aspathfrom'path'
33
import*asvscodefrom'vscode'
4-
importonErrorfrom'../sentry/onError'
4+
import{onError}from'../telemetry'
55

66
constgetNonce=():string=>{
77
lettext=''

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp