feat: count analytics

This commit is contained in:
karishmas6
2024-10-28 04:49:54 +05:30
parent a1c3ab37ef
commit 91af990ec9
3 changed files with 39 additions and 11 deletions

View File

@@ -325,6 +325,12 @@ async function executeRun(id: string) {
binaryOutput: uploadedBinaryOutput, binaryOutput: uploadedBinaryOutput,
}); });
let totalRowsExtracted = 0;
updatedRun.serializableOutput['item-0'].forEach((item: any) => {
totalRowsExtracted += Object.keys(item).length;
}
);
captureServerAnalytics.capture({ captureServerAnalytics.capture({
distinctId: id, distinctId: id,
event: 'maxun-oss-run-created-api', event: 'maxun-oss-run-created-api',
@@ -332,6 +338,9 @@ async function executeRun(id: string) {
runId: id, runId: id,
created_at: new Date().toISOString(), created_at: new Date().toISOString(),
status: 'success', status: 'success',
extractedItemsCount: updatedRun.serializableOutput['item-0'].length,
extractedRowsCount: totalRowsExtracted,
extractedScreenshotsCount: updatedRun.binaryOutput['item-0'].length,
} }
}) })

View File

@@ -253,6 +253,13 @@ router.post('/runs/run/:id', requireSignIn, async (req: AuthenticatedRequest, re
serializableOutput: interpretationInfo.serializableOutput, serializableOutput: interpretationInfo.serializableOutput,
binaryOutput: uploadedBinaryOutput, binaryOutput: uploadedBinaryOutput,
}); });
let totalRowsExtracted = 0;
run.serializableOutput['item-0'].forEach((item: any) => {
totalRowsExtracted += Object.keys(item).length;
}
);
captureServerAnalytics.capture({ captureServerAnalytics.capture({
distinctId: req.user?.id, distinctId: req.user?.id,
event: 'maxun-oss-run-created-manual', event: 'maxun-oss-run-created-manual',
@@ -261,6 +268,9 @@ router.post('/runs/run/:id', requireSignIn, async (req: AuthenticatedRequest, re
user_id: req.user?.id, user_id: req.user?.id,
created_at: new Date().toISOString(), created_at: new Date().toISOString(),
status: 'success', status: 'success',
extractedItemsCount: run.serializableOutput['item-0'].length,
extractedRowsCount: totalRowsExtracted,
extractedScreenshotsCount: run.binaryOutput['item-0'].length,
} }
}) })
try { try {
@@ -280,14 +290,14 @@ router.post('/runs/run/:id', requireSignIn, async (req: AuthenticatedRequest, re
} }
} catch (e) { } catch (e) {
const { message } = e as Error; const { message } = e as Error;
// If error occurs, set run status to failed // If error occurs, set run status to failed
const run = await Run.findOne({ where: { runId: req.params.id } }); const run = await Run.findOne({ where: { runId: req.params.id } });
if (run) { if (run) {
await run.update({ await run.update({
status: 'failed', status: 'failed',
finishedAt: new Date().toLocaleString(), finishedAt: new Date().toLocaleString(),
}); });
} }
logger.log('info', `Error while running a recording with id: ${req.params.id} - ${message}`); logger.log('info', `Error while running a recording with id: ${req.params.id} - ${message}`);
captureServerAnalytics.capture({ captureServerAnalytics.capture({
distinctId: req.user?.id, distinctId: req.user?.id,
@@ -327,10 +337,10 @@ router.put('/schedule/:id/', requireSignIn, async (req: AuthenticatedRequest, re
// Validate and parse start and end times // Validate and parse start and end times
const [startHours, startMinutes] = atTimeStart.split(':').map(Number); const [startHours, startMinutes] = atTimeStart.split(':').map(Number);
const [endHours, endMinutes] = atTimeEnd.split(':').map(Number); const [endHours, endMinutes] = atTimeEnd.split(':').map(Number);
if (isNaN(startHours) || isNaN(startMinutes) || isNaN(endHours) || isNaN(endMinutes) || if (isNaN(startHours) || isNaN(startMinutes) || isNaN(endHours) || isNaN(endMinutes) ||
startHours < 0 || startHours > 23 || startMinutes < 0 || startMinutes > 59 || startHours < 0 || startHours > 23 || startMinutes < 0 || startMinutes > 59 ||
endHours < 0 || endHours > 23 || endMinutes < 0 || endMinutes > 59) { endHours < 0 || endHours > 23 || endMinutes < 0 || endMinutes > 59) {
return res.status(400).json({ error: 'Invalid time format' }); return res.status(400).json({ error: 'Invalid time format' });
} }

View File

@@ -133,6 +133,12 @@ async function executeRun(id: string) {
binaryOutput: uploadedBinaryOutput, binaryOutput: uploadedBinaryOutput,
}); });
let totalRowsExtracted = 0;
run.serializableOutput['item-0'].forEach((item: any) => {
totalRowsExtracted += Object.keys(item).length;
}
);
captureServerAnalytics.capture({ captureServerAnalytics.capture({
distinctId: id, distinctId: id,
event: 'maxun-oss-run-created-scheduled', event: 'maxun-oss-run-created-scheduled',
@@ -140,6 +146,9 @@ async function executeRun(id: string) {
runId: id, runId: id,
created_at: new Date().toISOString(), created_at: new Date().toISOString(),
status: 'success', status: 'success',
extractedItemsCount: run.serializableOutput['item-0'].length,
extractedRowsCount: totalRowsExtracted,
extractedScreenshotsCount: run.binaryOutput['item-0'].length,
} }
}); });