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}`)
       }