From 00b8f83da50c9d5c7c013a3bfcd0d0ba1b24e488 Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Thu, 5 May 2022 01:29:47 +0200 Subject: [PATCH] feat: Implement telemetry for execution step creation --- packages/backend/src/helpers/telemetry/index.ts | 12 ++++++++++++ packages/backend/src/models/execution-step.ts | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/packages/backend/src/helpers/telemetry/index.ts b/packages/backend/src/helpers/telemetry/index.ts index 35fd4253..eacea02d 100644 --- a/packages/backend/src/helpers/telemetry/index.ts +++ b/packages/backend/src/helpers/telemetry/index.ts @@ -5,6 +5,7 @@ import appConfig from '../../config/app'; import Step from '../../models/step'; import Flow from '../../models/flow'; import Execution from '../../models/execution'; +import ExecutionStep from '../../models/execution-step'; const WRITE_KEY = '284Py4VgK2MsNYV7xlKzyrALx0v'; const DATA_PLANE_URL = 'https://telemetry.automatisch.io/v1/batch'; @@ -86,6 +87,17 @@ class Telemetry { updatedAt: execution.updatedAt, }); } + + executionStepCreated(executionStep: ExecutionStep) { + this.track('executionStepCreated', { + executionStepId: executionStep.id, + executionId: executionStep.executionId, + stepId: executionStep.stepId, + status: executionStep.status, + createdAt: executionStep.createdAt, + updatedAt: executionStep.updatedAt, + }); + } } const telemetry = new Telemetry(); diff --git a/packages/backend/src/models/execution-step.ts b/packages/backend/src/models/execution-step.ts index 9b0c701e..fb94b7ab 100644 --- a/packages/backend/src/models/execution-step.ts +++ b/packages/backend/src/models/execution-step.ts @@ -1,6 +1,8 @@ +import type { QueryContext } from 'objection'; import Base from './base'; import Execution from './execution'; import Step from './step'; +import Telemetry from '../helpers/telemetry'; class ExecutionStep extends Base { id!: string; @@ -44,6 +46,11 @@ class ExecutionStep extends Base { }, }, }); + + async $afterInsert(queryContext: QueryContext) { + await super.$afterInsert(queryContext); + Telemetry.executionStepCreated(this); + } } export default ExecutionStep;