From 466ffcc6bcf005fc68191d27c74e44a9d027250f Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Thu, 5 May 2022 01:25:22 +0200 Subject: [PATCH] feat: Implement telemetry for the creation of executions --- packages/backend/src/helpers/telemetry/index.ts | 11 +++++++++++ packages/backend/src/models/execution.ts | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/packages/backend/src/helpers/telemetry/index.ts b/packages/backend/src/helpers/telemetry/index.ts index a752de79..35fd4253 100644 --- a/packages/backend/src/helpers/telemetry/index.ts +++ b/packages/backend/src/helpers/telemetry/index.ts @@ -4,6 +4,7 @@ import instanceId from './instance-id'; import appConfig from '../../config/app'; import Step from '../../models/step'; import Flow from '../../models/flow'; +import Execution from '../../models/execution'; const WRITE_KEY = '284Py4VgK2MsNYV7xlKzyrALx0v'; const DATA_PLANE_URL = 'https://telemetry.automatisch.io/v1/batch'; @@ -75,6 +76,16 @@ class Telemetry { updatedAt: flow.updatedAt, }); } + + executionCreated(execution: Execution) { + this.track('executionCreated', { + executionId: execution.id, + flowId: execution.flowId, + testRun: execution.testRun, + createdAt: execution.createdAt, + updatedAt: execution.updatedAt, + }); + } } const telemetry = new Telemetry(); diff --git a/packages/backend/src/models/execution.ts b/packages/backend/src/models/execution.ts index d08a5e83..222f1802 100644 --- a/packages/backend/src/models/execution.ts +++ b/packages/backend/src/models/execution.ts @@ -1,6 +1,8 @@ +import type { QueryContext } from 'objection'; import Base from './base'; import Flow from './flow'; import ExecutionStep from './execution-step'; +import Telemetry from '../helpers/telemetry'; class Execution extends Base { id!: string; @@ -38,6 +40,11 @@ class Execution extends Base { }, }, }); + + async $afterInsert(queryContext: QueryContext) { + await super.$afterInsert(queryContext); + Telemetry.executionCreated(this); + } } export default Execution;