diff --git a/src/core/core.js b/src/core/core.js index ba7b22b35a8a79b527fd4c128611188ac9d83842..df59a2927f23cd2609dac50256fdae8a7c9accf9 100644 --- a/src/core/core.js +++ b/src/core/core.js @@ -6,6 +6,7 @@ const { deleteBoConsent, createBoConsent } = require('../requests/bo') const moment = require('moment') const { isLocal } = require('../helpers/env') const { createGRDFConsent } = require('../requests/grdf') +const Sentry = require('@sentry/node') require('moment-timezone') moment.locale('fr') // set the language moment.tz.setDefault('Europe/Paris') // set the timezone @@ -86,6 +87,11 @@ async function createConsent({ boToken, boUrlGRDF }) { + const transaction = Sentry.startTransaction({ + op: 'konnector', + name: 'createConsent', + tags: { pce } + }) const startDateString = moment(startDate).format('YYYY-MM-DD') const endDateConsent = moment(endDate).add(1, 'year') const endDateString = endDateConsent.format('YYYY-MM-DD') @@ -126,6 +132,7 @@ async function createConsent({ }) throw err }) + transaction.finish() throw errors.CHALLENGE_ASKED } diff --git a/src/index.js b/src/index.js index b4c147e97f3be94ce09e128e50b386b1cf0a993c..f30f2db2d87fd9cb53513551fc722836a4428264 100755 --- a/src/index.js +++ b/src/index.js @@ -69,6 +69,11 @@ async function start(fields, cozyParameters) { const { pce, email, firstname, lastname, postalCode } = fields + const transaction = Sentry.startTransaction({ + op: 'konnector', + name: 'start', + tags: { pce } + }) let boToken = '' let boBaseUrl = '' let grdfId = '' @@ -129,9 +134,11 @@ async function start(fields, cozyParameters) { log('error', 'Start failed', error) Sentry.captureException(error, { tags: { - section: 'start' + section: 'start', + pce } }) + transaction.finish() await Sentry.flush() throw error } @@ -156,6 +163,11 @@ function buildGetDataUrl(idPCE, startDate, endDate) { * @param {string} endDate 'YYYY-MM-DD' */ async function getData(token, idPCE, startDate, endDate) { + const transaction = Sentry.startTransaction({ + op: 'konnector', + name: 'getData', + tags: { pce: idPCE } + }) log('debug', `getData from ${startDate} to ${endDate}`) const url = buildGetDataUrl(idPCE, startDate, endDate) log('debug', url) @@ -222,6 +234,7 @@ async function getData(token, idPCE, startDate, endDate) { const filteredRep = response.filter(function(el) { return el.energie != null || el.volume_brut != null }) + transaction.finish() return filteredRep }