Observability - add new counters (#15292)

closes https://github.com/twentyhq/core-team-issues/issues/1741
This commit is contained in:
Etienne
2025-10-23 16:33:45 +02:00
committed by GitHub
parent 0780380fe5
commit e23f2c9183
5 changed files with 23 additions and 2 deletions
@@ -9,6 +9,8 @@ import { WEBHOOK_RESPONSE_EVENT } from 'src/engine/core-modules/audit/utils/even
import { Process } from 'src/engine/core-modules/message-queue/decorators/process.decorator';
import { Processor } from 'src/engine/core-modules/message-queue/decorators/processor.decorator';
import { MessageQueue } from 'src/engine/core-modules/message-queue/message-queue.constants';
import { MetricsService } from 'src/engine/core-modules/metrics/metrics.service';
import { MetricsKeys } from 'src/engine/core-modules/metrics/types/metrics-keys.type';
export type CallWebhookJobData = {
targetUrl: string;
@@ -28,6 +30,7 @@ export class CallWebhookJob {
constructor(
private readonly httpService: HttpService,
private readonly auditService: AuditService,
private readonly metricsService: MetricsService,
) {}
private generateSignature(
@@ -95,6 +98,11 @@ export class CallWebhookJob {
success,
...commonPayload,
});
this.metricsService.incrementCounter({
key: MetricsKeys.JobWebhookCallCompleted,
shouldStoreInCache: false,
});
} catch (err) {
auditService.insertWorkspaceEvent(WEBHOOK_RESPONSE_EVENT, {
success: false,
@@ -2,12 +2,13 @@ import { HttpModule } from '@nestjs/axios';
import { Module } from '@nestjs/common';
import { AuditModule } from 'src/engine/core-modules/audit/audit.module';
import { WebhookModule } from 'src/engine/core-modules/webhook/webhook.module';
import { MetricsModule } from 'src/engine/core-modules/metrics/metrics.module';
import { CallWebhookJobsJob } from 'src/engine/core-modules/webhook/jobs/call-webhook-jobs.job';
import { CallWebhookJob } from 'src/engine/core-modules/webhook/jobs/call-webhook.job';
import { WebhookModule } from 'src/engine/core-modules/webhook/webhook.module';
@Module({
imports: [HttpModule, AuditModule, WebhookModule],
imports: [HttpModule, AuditModule, WebhookModule, MetricsModule],
providers: [CallWebhookJobsJob, CallWebhookJob],
})
export class WebhookJobModule {}