mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-22 04:10:01 +00:00
fix(core): Do not track errored workflow executions for automated executions (no-changelog) (#6322)
* fix(core): Do not track errored workflow executions for automated executions * fix test * fix test * fix test * do not track 'Workflow execution count' event when all counts are 0 * fix test * fix test * fix test * fix test * fix test * fix test * fix test * fix test * fix test
This commit is contained in:
committed by
GitHub
parent
d94c20ada5
commit
0e4c615d0d
@@ -79,7 +79,17 @@ export class Telemetry {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const allPromises = Object.keys(this.executionCountsBuffer).map(async (workflowId) => {
|
const allPromises = Object.keys(this.executionCountsBuffer)
|
||||||
|
.filter((workflowId) => {
|
||||||
|
const data = this.executionCountsBuffer[workflowId];
|
||||||
|
const sum =
|
||||||
|
(data.manual_error?.count ?? 0) +
|
||||||
|
(data.manual_success?.count ?? 0) +
|
||||||
|
(data.prod_error?.count ?? 0) +
|
||||||
|
(data.prod_success?.count ?? 0);
|
||||||
|
return sum > 0;
|
||||||
|
})
|
||||||
|
.map(async (workflowId) => {
|
||||||
const promise = this.track(
|
const promise = this.track(
|
||||||
'Workflow execution count',
|
'Workflow execution count',
|
||||||
{
|
{
|
||||||
@@ -128,7 +138,11 @@ export class Telemetry {
|
|||||||
this.executionCountsBuffer[workflowId][key]!.count++;
|
this.executionCountsBuffer[workflowId][key]!.count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!properties.success && properties.error_node_type?.startsWith('n8n-nodes-base')) {
|
if (
|
||||||
|
!properties.success &&
|
||||||
|
properties.is_manual &&
|
||||||
|
properties.error_node_type?.startsWith('n8n-nodes-base')
|
||||||
|
) {
|
||||||
void this.track('Workflow execution errored', properties);
|
void this.track('Workflow execution errored', properties);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -211,7 +211,6 @@ describe('Telemetry', () => {
|
|||||||
await telemetry.trackWorkflowExecution(payload);
|
await telemetry.trackWorkflowExecution(payload);
|
||||||
|
|
||||||
expect(spyTrack).toHaveBeenCalledTimes(0);
|
expect(spyTrack).toHaveBeenCalledTimes(0);
|
||||||
|
|
||||||
execBuffer = telemetry.getCountsBuffer();
|
execBuffer = telemetry.getCountsBuffer();
|
||||||
|
|
||||||
expect(execBuffer['1'].manual_error).toBeUndefined();
|
expect(execBuffer['1'].manual_error).toBeUndefined();
|
||||||
@@ -254,19 +253,20 @@ describe('Telemetry', () => {
|
|||||||
// failed execution n8n node
|
// failed execution n8n node
|
||||||
payload.success = false;
|
payload.success = false;
|
||||||
payload.error_node_type = 'n8n-nodes-base.merge';
|
payload.error_node_type = 'n8n-nodes-base.merge';
|
||||||
|
payload.is_manual = true;
|
||||||
await telemetry.trackWorkflowExecution(payload);
|
await telemetry.trackWorkflowExecution(payload);
|
||||||
|
|
||||||
expect(spyTrack).toHaveBeenCalledTimes(1);
|
expect(spyTrack).toHaveBeenCalledTimes(1);
|
||||||
|
|
||||||
execBuffer = telemetry.getCountsBuffer();
|
execBuffer = telemetry.getCountsBuffer();
|
||||||
|
|
||||||
expect(execBuffer['1'].manual_error).toBeUndefined();
|
expect(execBuffer['1'].manual_error?.count).toBe(1);
|
||||||
expect(execBuffer['1'].manual_success).toBeUndefined();
|
expect(execBuffer['1'].manual_success).toBeUndefined();
|
||||||
expect(execBuffer['2'].manual_error).toBeUndefined();
|
expect(execBuffer['2'].manual_error).toBeUndefined();
|
||||||
expect(execBuffer['2'].manual_success).toBeUndefined();
|
expect(execBuffer['2'].manual_success).toBeUndefined();
|
||||||
expect(execBuffer['2'].prod_error).toBeUndefined();
|
expect(execBuffer['2'].prod_error).toBeUndefined();
|
||||||
expect(execBuffer['1'].prod_success?.count).toBe(2);
|
expect(execBuffer['1'].prod_success?.count).toBe(2);
|
||||||
expect(execBuffer['1'].prod_error?.count).toBe(2);
|
expect(execBuffer['1'].prod_error?.count).toBe(1);
|
||||||
expect(execBuffer['2'].prod_success?.count).toBe(2);
|
expect(execBuffer['2'].prod_success?.count).toBe(2);
|
||||||
|
|
||||||
expect(execBuffer['1'].prod_error?.first).toEqual(execTime2);
|
expect(execBuffer['1'].prod_error?.first).toEqual(execTime2);
|
||||||
|
|||||||
Reference in New Issue
Block a user