Skip to content

Commit eb33aa6

Browse files
committed
Merge branch 'master' of github.com:codex-team/hawk.workers into new-diff
2 parents 7dc142c + ceda97b commit eb33aa6

2 files changed

Lines changed: 33 additions & 5 deletions

File tree

workers/javascript/src/index.ts

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,18 @@ export default class JavascriptEventWorker extends EventWorker {
6565
*/
6666
public async handle(event: JavaScriptEventWorkerTask): Promise<void> {
6767
if (event.payload.release && event.payload.backtrace) {
68-
event.payload.backtrace = await this.beautifyBacktrace(event);
68+
this.logger.info('beautifyBacktrace called');
69+
70+
try {
71+
event.payload.backtrace = await this.beautifyBacktrace(event);
72+
} catch (err) {
73+
this.logger.error('Error while beautifing backtrace', err)
74+
}
75+
6976
}
7077

78+
this.logger.info(`beautifyBacktrace passed with release: ${event.payload.release}, backtrace: ${JSON.stringify(event.payload.backtrace)}`);
79+
7180
if (event.payload.addons?.userAgent) {
7281
event.payload.addons.beautifiedUserAgent = beautifyUserAgent(event.payload.addons.userAgent.toString());
7382
}
@@ -98,17 +107,20 @@ export default class JavascriptEventWorker extends EventWorker {
98107
);
99108

100109
if (!releaseRecord) {
110+
this.logger.info('beautifyBacktrace: no releaseRecord found');
101111
return event.payload.backtrace;
102112
}
103113

114+
this.logger.info(`beautifyBacktrace: release record found: ${JSON.stringify(releaseRecord)}`);
115+
104116
/**
105117
* If we have a source map associated with passed release, override some values in backtrace with original line/file
106118
*/
107119
return Promise.all(event.payload.backtrace.map(async (frame: BacktraceFrame, index: number) => {
108120
/**
109121
* Get cached (or set if the value is missing) real backtrace frame
110122
*/
111-
return this.cache.get(
123+
const result = await this.cache.get(
112124
`consumeBacktraceFrame:${event.payload.release.toString()}:${Crypto.hash(frame)}:${index}`,
113125
() => {
114126
return this.consumeBacktraceFrame(frame, releaseRecord)
@@ -126,6 +138,10 @@ export default class JavascriptEventWorker extends EventWorker {
126138
});
127139
}
128140
);
141+
142+
this.logger.info(`beautifyBacktrace: result of beatify: \n${JSON.stringify(result)}`);
143+
144+
return result;
129145
}));
130146
}
131147

@@ -141,12 +157,13 @@ export default class JavascriptEventWorker extends EventWorker {
141157
* Sometimes catcher can't extract file from the backtrace
142158
*/
143159
if (!stackFrame.file) {
160+
this.logger.info(`consumeBacktraceFrame: No stack frame file found`)
144161
return stackFrame;
145162
}
146163

147164
/**
148165
* One releaseRecord can contain several source maps for different chunks,
149-
* so find a map by for current stack-frame file
166+
* so find a map for current stack-frame file
150167
*/
151168
const mapForFrame: SourceMapDataExtended = releaseRecord.files.find((mapFileName: SourceMapDataExtended) => {
152169
/**
@@ -165,6 +182,7 @@ export default class JavascriptEventWorker extends EventWorker {
165182
});
166183

167184
if (!mapForFrame) {
185+
this.logger.info(`consumeBacktraceFrame: No map file found for the frame: ${JSON.stringify(stackFrame)}`)
168186
return stackFrame;
169187
}
170188

@@ -174,6 +192,7 @@ export default class JavascriptEventWorker extends EventWorker {
174192
const mapContent = await this.loadSourceMapFile(mapForFrame);
175193

176194
if (!mapContent) {
195+
this.logger.info(`consumeBacktraceFrame: Can't load map content for ${JSON.stringify(mapForFrame)}`)
177196
return stackFrame;
178197
}
179198

@@ -190,6 +209,8 @@ export default class JavascriptEventWorker extends EventWorker {
190209
column: stackFrame.column,
191210
});
192211

212+
this.logger.info(`consumeBacktraceFrame: ${JSON.stringify(originalLocation)}`)
213+
193214
/**
194215
* Source code lines
195216
*/
@@ -286,7 +307,7 @@ export default class JavascriptEventWorker extends EventWorker {
286307
*/
287308
private async getReleaseRecord(projectId: string, release: string): Promise<SourceMapsRecord> {
288309
try {
289-
return await this.releasesDbCollection
310+
const releaseRecord = await this.releasesDbCollection
290311
.findOne({
291312
projectId,
292313
release,
@@ -295,7 +316,12 @@ export default class JavascriptEventWorker extends EventWorker {
295316
_id: -1,
296317
},
297318
});
319+
320+
this.logger.info(`Got release record: \n${JSON.stringify(releaseRecord)}`);
321+
322+
return releaseRecord;
298323
} catch (err) {
324+
this.logger.error('Error while getting release record', err);
299325
throw new DatabaseReadWriteError(err);
300326
}
301327
}

workers/release/src/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ export default class ReleaseWorker extends Worker {
7272
* @param payload - release payload
7373
*/
7474
private async saveRelease(projectId: string, payload: ReleaseWorkerAddReleasePayload): Promise<void> {
75+
this.logger.info(`saveRelease: save release for project: ${projectId}, release: ${payload.release}`);
7576
try {
7677
const commits = payload.commits;
7778

@@ -169,7 +170,7 @@ export default class ReleaseWorker extends Worker {
169170

170171
return map;
171172
} catch (error) {
172-
console.log(`Map ${map.mapFileName} was not saved: `, error);
173+
this.logger.error(`Map ${map.mapFileName} was not saved: ${error}`);
173174
}
174175
}));
175176

@@ -191,6 +192,7 @@ export default class ReleaseWorker extends Worker {
191192
* - update previous record with adding new saved maps
192193
*/
193194
if (!existedRelease) {
195+
this.logger.info('inserted new release')
194196
await this.releasesCollection.insertOne({
195197
projectId: projectId,
196198
release: payload.release,

0 commit comments

Comments
 (0)