11import browser from "webextension-polyfill" ;
2+ import * as Sentry from "@sentry/browser" ;
23
34import { MessageType } from "src/types" ;
45import { Codecov } from "src/service" ;
@@ -9,29 +10,46 @@ import {
910
1011async function main ( ) : Promise < void > {
1112 browser . runtime . onMessage . addListener ( handleMessages ) ;
13+
14+ Sentry . init ( {
15+ // @ts -ignore SENTRY_DSN is populated by Webpack at build time
16+ dsn : SENTRY_DSN ,
17+
18+ integrations : [
19+ Sentry . browserTracingIntegration ( {
20+ // disable automatic span creation
21+ instrumentNavigation : false ,
22+ instrumentPageLoad : false ,
23+ } ) ,
24+ ] ,
25+
26+ tracesSampleRate : 1.0 ,
27+ } ) ;
1228}
1329
1430async function handleMessages ( message : {
1531 type : MessageType ;
1632 payload : any ;
1733 referrer ?: string ;
1834} ) {
19- switch ( message . type ) {
20- case MessageType . FETCH_COMMIT_REPORT :
21- return Codecov . fetchCommitReport ( message . payload , message . referrer ! ) ;
22- case MessageType . FETCH_PR_COMPARISON :
23- return Codecov . fetchPRComparison ( message . payload , message . referrer ! ) ;
24- case MessageType . FETCH_FLAGS_LIST :
25- return Codecov . listFlags ( message . payload , message . referrer ! ) ;
26- case MessageType . FETCH_COMPONENTS_LIST :
27- return Codecov . listComponents ( message . payload , message . referrer ! ) ;
28- case MessageType . CHECK_AUTH :
29- return Codecov . checkAuth ( message . payload ) ;
30- case MessageType . REGISTER_CONTENT_SCRIPTS :
31- return registerContentScript ( message . payload ) ;
32- case MessageType . UNREGISTER_CONTENT_SCRIPTS :
33- return unregisterContentScriptIfExists ( message . payload ) ;
34- }
35+ return Sentry . startSpan ( { name : message . type } , async ( ) => {
36+ switch ( message . type ) {
37+ case MessageType . FETCH_COMMIT_REPORT :
38+ return Codecov . fetchCommitReport ( message . payload , message . referrer ! ) ;
39+ case MessageType . FETCH_PR_COMPARISON :
40+ return Codecov . fetchPRComparison ( message . payload , message . referrer ! ) ;
41+ case MessageType . FETCH_FLAGS_LIST :
42+ return Codecov . listFlags ( message . payload , message . referrer ! ) ;
43+ case MessageType . FETCH_COMPONENTS_LIST :
44+ return Codecov . listComponents ( message . payload , message . referrer ! ) ;
45+ case MessageType . CHECK_AUTH :
46+ return Codecov . checkAuth ( message . payload ) ;
47+ case MessageType . REGISTER_CONTENT_SCRIPTS :
48+ return registerContentScript ( message . payload ) ;
49+ case MessageType . UNREGISTER_CONTENT_SCRIPTS :
50+ return unregisterContentScriptIfExists ( message . payload ) ;
51+ }
52+ } ) ;
3553}
3654
3755main ( ) . catch ( console . log ) ;
0 commit comments