@@ -53,19 +53,11 @@ class Profiler extends EventEmitter {
53
53
this . endpointCounts = new Map ( )
54
54
}
55
55
56
- start ( options ) {
57
- return this . _start ( options ) . catch ( ( err ) => {
58
- logError ( options . logger , 'Error starting profiler. For troubleshooting tips, see ' +
59
- '<https://dtdg.co/nodejs-profiler-troubleshooting>' , err )
60
- return false
61
- } )
62
- }
63
-
64
56
_logError ( err ) {
65
57
logError ( this . _logger , err )
66
58
}
67
59
68
- async _start ( options ) {
60
+ start ( options ) {
69
61
if ( this . _enabled ) return true
70
62
71
63
const config = this . _config = new Config ( options )
@@ -77,19 +69,34 @@ class Profiler extends EventEmitter {
77
69
// Log errors if the source map finder fails, but don't prevent the rest
78
70
// of the profiler from running without source maps.
79
71
let mapper
80
- try {
81
- const { setLogger, SourceMapper } = require ( '@datadog/pprof' )
82
- setLogger ( config . logger )
83
-
84
- mapper = await maybeSourceMap ( config . sourceMap , SourceMapper , config . debugSourceMaps )
85
- if ( config . sourceMap && config . debugSourceMaps ) {
86
- this . _logger . debug ( ( ) => {
87
- return mapper . infoMap . size === 0
88
- ? 'Found no source maps'
89
- : `Found source maps for following files: [${ [ ...mapper . infoMap . keys ( ) ] . join ( ', ' ) } ]`
72
+ if ( config . sourceMap ) {
73
+ try {
74
+ const { setLogger, SourceMapper } = require ( '@datadog/pprof' )
75
+ setLogger ( config . logger )
76
+
77
+ let loadedMapper
78
+ maybeSourceMap ( SourceMapper , config . debugSourceMaps ) . then ( ( sourceMap ) => {
79
+ loadedMapper = sourceMap
80
+ if ( config . debugSourceMaps ) {
81
+ this . _logger . debug ( ( ) => {
82
+ return sourceMap . infoMap . size === 0
83
+ ? 'Found no source maps'
84
+ : `Found source maps for following files: [${ [ ...mapper . infoMap . keys ( ) ] . join ( ', ' ) } ]`
85
+ } )
86
+ }
87
+ } ) . catch ( ( err ) => {
88
+ this . _logError ( err )
90
89
} )
90
+ mapper = {
91
+ hasMappingInfo : ( p ) => loadedMapper ?. hasMappingInfo ( p ) ?? false ,
92
+ mappingInfo : ( l ) => loadedMapper ?. mappingInfo ( l ) ?? l
93
+ }
94
+ } catch ( err ) {
95
+ this . _logError ( err )
91
96
}
97
+ }
92
98
99
+ try {
93
100
const clevel = config . uploadCompression . level
94
101
switch ( config . uploadCompression . method ) {
95
102
case 'gzip' :
0 commit comments