diff --git a/src/index.js b/src/index.js index 7656f670bdbd7b3858d38460dfc33e3bbf4cb69a..ea0d235b9e27e6b10ae66f8908d442422f4842f0 100644 --- a/src/index.js +++ b/src/index.js @@ -38,6 +38,8 @@ const { const { getAccount, saveAccountData } = require('./requests/cozy') const { isLocal, isDev } = require('./helpers/env') const Sentry = require('@sentry/node') +// eslint-disable-next-line +const Tracing = require('@sentry/tracing') // Needed for tracking performance in Sentry const { version } = require('../package.json') moment.locale('fr') // set the language @@ -89,6 +91,10 @@ Sentry.init({ async function start(fields, cozyParameters) { log('info', 'Konnector configuration ...') log('info', `isManual execution: ${manualExecution}`) + const transaction = Sentry.startTransaction({ + op: 'konnector', + name: 'SGE Konnector', + }) const pointId = parseInt(fields.pointId) let baseUrl = fields.wso2BaseUrl @@ -134,7 +140,7 @@ async function start(fields, cozyParameters) { if (isFirstStart(await getAccount(ACCOUNT_ID))) { log('info', 'First start...') - Sentry.captureMessage('konnector first start') + transaction.startChild({ op: 'First start' }) const user = await verifyUserIdentity(fields, baseUrl, apiAuthKey, sgeLogin) let consent = await createBoConsent( @@ -203,7 +209,7 @@ async function start(fields, cozyParameters) { // firstStartTransaction.finish() } else { log('info', 'Alternate start...') - Sentry.captureMessage('Alternate start') + transaction.startChild({ op: 'Alternate start' }) const accountData = await getAccount(ACCOUNT_ID) const userConsent = await getBoConsent( boBaseUrl, @@ -247,6 +253,7 @@ async function start(fields, cozyParameters) { ) } } + transaction.finish() log('info', 'Successfully logged in') await gatherData(baseUrl, apiAuthKey, sgeLogin, pointId) @@ -533,11 +540,9 @@ function processData(doctype = 'com.grandlyon.enedis.day') { } } catch (e) { if (doctype === 'com.grandlyon.enedis.minute') { - Sentry.captureMessage('No half-hour activated.') - log( - 'warn', - `No half-hour activated. Issue: ${result.Envelope.Body.Fault.faultstring}` - ) + const errorMessage = `No half-hour activated. Issue: ${result.Envelope.Body.Fault.faultstring}` + Sentry.captureMessage(errorMessage) + log('warn', errorMessage) } else { log('warn', `Unknown error ${e}`) }