flow-debugger 1.9.7 → 1.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  const pkg = require('../package.json');
4
4
  // No external dependencies needed for basic CLI
@@ -2,17 +2,22 @@
2
2
  // ─────────────────────────────────────────────────────────────
3
3
  // flow-debugger — Root Cause Detection
4
4
  // Analyzes trace steps to identify the most likely failure origin
5
+ // INCLUDING SILENT FAILURES (no console error)
5
6
  // ─────────────────────────────────────────────────────────────
6
7
  Object.defineProperty(exports, "__esModule", { value: true });
7
8
  exports.detectRootCause = detectRootCause;
8
9
  /**
9
10
  * Enhanced root cause detection with suggestions and detailed analysis.
10
11
  *
11
- * Algorithm:
12
- * 1. Analyze error patterns (timeout, connection, validation, etc.)
13
- * 2. Detect slow queries and bottlenecks
14
- * 3. Identify memory/performance issues
15
- * 4. Provide actionable suggestions
12
+ * DETECTS:
13
+ * 1. Error patterns (timeout, connection, validation, etc.)
14
+ * 2. Slow queries and bottlenecks
15
+ * 3. Memory/performance issues
16
+ * 4. SILENT FAILURES (no console error but status codes indicate problems)
17
+ * 5. Empty/null database results without errors
18
+ * 6. Performance degradation trends
19
+ *
20
+ * Provides actionable suggestions for each issue type.
16
21
  */
17
22
  function detectRootCause(steps, statusCode, config) {
18
23
  if (steps.length === 0)
@@ -27,7 +32,83 @@ function detectRootCause(steps, statusCode, config) {
27
32
  suggestions: [],
28
33
  contributingFactors: []
29
34
  };
30
- // 1. Look for timed-out steps (highest priority)
35
+ // 1. SILENT FAILURE DETECTION - No console error but status indicates problem
36
+ if (statusCode && statusCode >= 400 && statusCode < 500) {
37
+ // Client errors - might not throw but indicate problems
38
+ if (statusCode === 404) {
39
+ result.cause = 'Resource not found (silent failure - no exception thrown)';
40
+ result.step = 'Request handling';
41
+ result.service = 'internal';
42
+ result.confidence = 90;
43
+ result.suggestions = [
44
+ 'Check if the requested resource exists',
45
+ 'Verify route parameters and IDs',
46
+ 'Review database for missing records',
47
+ 'Check if file/blob exists before accessing'
48
+ ];
49
+ return result;
50
+ }
51
+ if (statusCode === 401 || statusCode === 403) {
52
+ result.cause = 'Authentication/Authorization failed (silent rejection)';
53
+ result.step = 'Auth middleware';
54
+ result.service = 'internal';
55
+ result.confidence = 95;
56
+ result.suggestions = [
57
+ 'Verify user token/credentials',
58
+ 'Check session expiration',
59
+ 'Review permission/role configuration',
60
+ 'Ensure CORS policy allows the request'
61
+ ];
62
+ return result;
63
+ }
64
+ if (statusCode === 429) {
65
+ result.cause = 'Rate limit exceeded (throttled silently)';
66
+ result.step = 'Rate limiter';
67
+ result.service = 'internal';
68
+ result.confidence = 100;
69
+ result.suggestions = [
70
+ 'Implement request throttling on client',
71
+ 'Add exponential backoff',
72
+ 'Cache frequently accessed data',
73
+ 'Consider upgrading API plan'
74
+ ];
75
+ return result;
76
+ }
77
+ }
78
+ // ✅ 2. SILENT DATABASE ISSUES - Returns empty/null without error
79
+ const dbSteps = steps.filter(s => ['mongo', 'mysql', 'postgres', 'redis'].includes(s.service));
80
+ for (const dbStep of dbSteps) {
81
+ const metadata = dbStep.metadata;
82
+ // Check for empty results (might indicate problem)
83
+ if (metadata?.resultCount === 0 && dbStep.name.toLowerCase().includes('find')) {
84
+ result.cause = 'Database query returned empty result (no error thrown)';
85
+ result.step = dbStep.name;
86
+ result.service = dbStep.service;
87
+ result.confidence = 70;
88
+ result.suggestions = [
89
+ 'Verify query conditions are correct',
90
+ 'Check if data exists in database',
91
+ 'Review filter/criteria logic',
92
+ 'Consider if empty result is expected behavior'
93
+ ];
94
+ return result;
95
+ }
96
+ // Check for null/undefined returns
97
+ if (metadata?.result === null || metadata?.result === undefined) {
98
+ result.cause = 'Database operation returned null (silent failure)';
99
+ result.step = dbStep.name;
100
+ result.service = dbStep.service;
101
+ result.confidence = 75;
102
+ result.suggestions = [
103
+ 'Check if document/record exists',
104
+ 'Verify query syntax and collection name',
105
+ 'Review connection pool status',
106
+ 'Check database logs for warnings'
107
+ ];
108
+ return result;
109
+ }
110
+ }
111
+ // 3. Look for timed-out steps (highest priority)
31
112
  const timedOut = steps.find(s => s.status === 'timeout');
32
113
  if (timedOut) {
33
114
  result.cause = `${timedOut.name} timed out`;
@@ -36,13 +117,13 @@ function detectRootCause(steps, statusCode, config) {
36
117
  result.confidence = 100;
37
118
  result.suggestions = [
38
119
  `Increase timeout for ${getServiceLabel(timedOut.service)} operations`,
39
- `Check ${getServiceLabel(timedOut.service)} server load and connection pool`,
120
+ 'Check service health and load',
40
121
  'Add retry logic with exponential backoff',
41
122
  'Consider implementing circuit breaker pattern'
42
123
  ];
43
124
  return result;
44
125
  }
45
- // 2. Analyze failed steps with detailed error detection
126
+ // 4. Analyze failed steps with detailed error detection
46
127
  const failedSteps = steps.filter(s => s.status === 'error');
47
128
  if (failedSteps.length > 0) {
48
129
  const firstFailed = failedSteps[0];
@@ -158,7 +239,7 @@ function detectRootCause(steps, statusCode, config) {
158
239
  ];
159
240
  return result;
160
241
  }
161
- // 3. Analyze slow requests
242
+ // 5. Analyze slow requests (performance degradation)
162
243
  const slowSteps = steps.filter(s => s.duration > slowThreshold);
163
244
  if (slowSteps.length > 0) {
164
245
  // Find the slowest step
@@ -233,6 +314,23 @@ function detectRootCause(steps, statusCode, config) {
233
314
  }
234
315
  return result;
235
316
  }
317
+ // ✅ 6. PERFORMANCE DEGRADATION DETECTION (no specific slow step but overall slow)
318
+ const totalDuration = steps.reduce((sum, s) => sum + s.duration, 0);
319
+ const avgDuration = totalDuration / steps.length;
320
+ if (avgDuration > slowThreshold * 0.8) {
321
+ result.cause = `Overall performance degradation (avg: ${Math.round(avgDuration)}ms per step)`;
322
+ result.step = 'Multiple steps';
323
+ result.service = 'internal';
324
+ result.confidence = 60;
325
+ result.suggestions = [
326
+ 'Review overall request flow',
327
+ 'Check server resource utilization (CPU, memory)',
328
+ 'Monitor database connection pool',
329
+ 'Consider horizontal scaling',
330
+ 'Implement caching strategy'
331
+ ];
332
+ return result;
333
+ }
236
334
  return null;
237
335
  }
238
336
  function getServiceLabel(service) {
@@ -1 +1 @@
1
- {"version":3,"file":"RootCause.js","sourceRoot":"","sources":["../../../src/core/RootCause.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RootCause.js","sourceRoot":"","sources":["../../../src/core/RootCause.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
1
  // ─────────────────────────────────────────────────────────────
2
2
  // flow-debugger — Root Cause Detection
3
3
  // Analyzes trace steps to identify the most likely failure origin
4
+ // INCLUDING SILENT FAILURES (no console error)
4
5
  // ─────────────────────────────────────────────────────────────
5
6
  /**
6
7
  * Enhanced root cause detection with suggestions and detailed analysis.
7
8
  *
8
- * Algorithm:
9
- * 1. Analyze error patterns (timeout, connection, validation, etc.)
10
- * 2. Detect slow queries and bottlenecks
11
- * 3. Identify memory/performance issues
12
- * 4. Provide actionable suggestions
9
+ * DETECTS:
10
+ * 1. Error patterns (timeout, connection, validation, etc.)
11
+ * 2. Slow queries and bottlenecks
12
+ * 3. Memory/performance issues
13
+ * 4. SILENT FAILURES (no console error but status codes indicate problems)
14
+ * 5. Empty/null database results without errors
15
+ * 6. Performance degradation trends
16
+ *
17
+ * Provides actionable suggestions for each issue type.
13
18
  */
14
19
  export function detectRootCause(steps, statusCode, config) {
15
20
  if (steps.length === 0)
@@ -24,7 +29,83 @@ export function detectRootCause(steps, statusCode, config) {
24
29
  suggestions: [],
25
30
  contributingFactors: []
26
31
  };
27
- // 1. Look for timed-out steps (highest priority)
32
+ // 1. SILENT FAILURE DETECTION - No console error but status indicates problem
33
+ if (statusCode && statusCode >= 400 && statusCode < 500) {
34
+ // Client errors - might not throw but indicate problems
35
+ if (statusCode === 404) {
36
+ result.cause = 'Resource not found (silent failure - no exception thrown)';
37
+ result.step = 'Request handling';
38
+ result.service = 'internal';
39
+ result.confidence = 90;
40
+ result.suggestions = [
41
+ 'Check if the requested resource exists',
42
+ 'Verify route parameters and IDs',
43
+ 'Review database for missing records',
44
+ 'Check if file/blob exists before accessing'
45
+ ];
46
+ return result;
47
+ }
48
+ if (statusCode === 401 || statusCode === 403) {
49
+ result.cause = 'Authentication/Authorization failed (silent rejection)';
50
+ result.step = 'Auth middleware';
51
+ result.service = 'internal';
52
+ result.confidence = 95;
53
+ result.suggestions = [
54
+ 'Verify user token/credentials',
55
+ 'Check session expiration',
56
+ 'Review permission/role configuration',
57
+ 'Ensure CORS policy allows the request'
58
+ ];
59
+ return result;
60
+ }
61
+ if (statusCode === 429) {
62
+ result.cause = 'Rate limit exceeded (throttled silently)';
63
+ result.step = 'Rate limiter';
64
+ result.service = 'internal';
65
+ result.confidence = 100;
66
+ result.suggestions = [
67
+ 'Implement request throttling on client',
68
+ 'Add exponential backoff',
69
+ 'Cache frequently accessed data',
70
+ 'Consider upgrading API plan'
71
+ ];
72
+ return result;
73
+ }
74
+ }
75
+ // ✅ 2. SILENT DATABASE ISSUES - Returns empty/null without error
76
+ const dbSteps = steps.filter(s => ['mongo', 'mysql', 'postgres', 'redis'].includes(s.service));
77
+ for (const dbStep of dbSteps) {
78
+ const metadata = dbStep.metadata;
79
+ // Check for empty results (might indicate problem)
80
+ if (metadata?.resultCount === 0 && dbStep.name.toLowerCase().includes('find')) {
81
+ result.cause = 'Database query returned empty result (no error thrown)';
82
+ result.step = dbStep.name;
83
+ result.service = dbStep.service;
84
+ result.confidence = 70;
85
+ result.suggestions = [
86
+ 'Verify query conditions are correct',
87
+ 'Check if data exists in database',
88
+ 'Review filter/criteria logic',
89
+ 'Consider if empty result is expected behavior'
90
+ ];
91
+ return result;
92
+ }
93
+ // Check for null/undefined returns
94
+ if (metadata?.result === null || metadata?.result === undefined) {
95
+ result.cause = 'Database operation returned null (silent failure)';
96
+ result.step = dbStep.name;
97
+ result.service = dbStep.service;
98
+ result.confidence = 75;
99
+ result.suggestions = [
100
+ 'Check if document/record exists',
101
+ 'Verify query syntax and collection name',
102
+ 'Review connection pool status',
103
+ 'Check database logs for warnings'
104
+ ];
105
+ return result;
106
+ }
107
+ }
108
+ // 3. Look for timed-out steps (highest priority)
28
109
  const timedOut = steps.find(s => s.status === 'timeout');
29
110
  if (timedOut) {
30
111
  result.cause = `${timedOut.name} timed out`;
@@ -33,13 +114,13 @@ export function detectRootCause(steps, statusCode, config) {
33
114
  result.confidence = 100;
34
115
  result.suggestions = [
35
116
  `Increase timeout for ${getServiceLabel(timedOut.service)} operations`,
36
- `Check ${getServiceLabel(timedOut.service)} server load and connection pool`,
117
+ 'Check service health and load',
37
118
  'Add retry logic with exponential backoff',
38
119
  'Consider implementing circuit breaker pattern'
39
120
  ];
40
121
  return result;
41
122
  }
42
- // 2. Analyze failed steps with detailed error detection
123
+ // 4. Analyze failed steps with detailed error detection
43
124
  const failedSteps = steps.filter(s => s.status === 'error');
44
125
  if (failedSteps.length > 0) {
45
126
  const firstFailed = failedSteps[0];
@@ -155,7 +236,7 @@ export function detectRootCause(steps, statusCode, config) {
155
236
  ];
156
237
  return result;
157
238
  }
158
- // 3. Analyze slow requests
239
+ // 5. Analyze slow requests (performance degradation)
159
240
  const slowSteps = steps.filter(s => s.duration > slowThreshold);
160
241
  if (slowSteps.length > 0) {
161
242
  // Find the slowest step
@@ -230,6 +311,23 @@ export function detectRootCause(steps, statusCode, config) {
230
311
  }
231
312
  return result;
232
313
  }
314
+ // ✅ 6. PERFORMANCE DEGRADATION DETECTION (no specific slow step but overall slow)
315
+ const totalDuration = steps.reduce((sum, s) => sum + s.duration, 0);
316
+ const avgDuration = totalDuration / steps.length;
317
+ if (avgDuration > slowThreshold * 0.8) {
318
+ result.cause = `Overall performance degradation (avg: ${Math.round(avgDuration)}ms per step)`;
319
+ result.step = 'Multiple steps';
320
+ result.service = 'internal';
321
+ result.confidence = 60;
322
+ result.suggestions = [
323
+ 'Review overall request flow',
324
+ 'Check server resource utilization (CPU, memory)',
325
+ 'Monitor database connection pool',
326
+ 'Consider horizontal scaling',
327
+ 'Implement caching strategy'
328
+ ];
329
+ return result;
330
+ }
233
331
  return null;
234
332
  }
235
333
  function getServiceLabel(service) {
@@ -1 +1 @@
1
- {"version":3,"file":"RootCause.js","sourceRoot":"","sources":["../../../src/core/RootCause.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RootCause.js","sourceRoot":"","sources":["../../../src/core/RootCause.ts"],"names":[],"mappings":"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"}
@@ -16,11 +16,15 @@ export interface EnhancedRootCauseResult extends RootCauseResult {
16
16
  /**
17
17
  * Enhanced root cause detection with suggestions and detailed analysis.
18
18
  *
19
- * Algorithm:
20
- * 1. Analyze error patterns (timeout, connection, validation, etc.)
21
- * 2. Detect slow queries and bottlenecks
22
- * 3. Identify memory/performance issues
23
- * 4. Provide actionable suggestions
19
+ * DETECTS:
20
+ * 1. Error patterns (timeout, connection, validation, etc.)
21
+ * 2. Slow queries and bottlenecks
22
+ * 3. Memory/performance issues
23
+ * 4. SILENT FAILURES (no console error but status codes indicate problems)
24
+ * 5. Empty/null database results without errors
25
+ * 6. Performance degradation trends
26
+ *
27
+ * Provides actionable suggestions for each issue type.
24
28
  */
25
29
  export declare function detectRootCause(steps: TraceStep[], statusCode: number | undefined, config: Pick<DebuggerConfig, 'slowThreshold' | 'slowQueryThreshold'>): EnhancedRootCauseResult | null;
26
30
  //# sourceMappingURL=RootCause.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RootCause.d.ts","sourceRoot":"","sources":["../../../src/core/RootCause.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,SAAS,EACT,eAAe,EACf,cAAc,EACd,UAAU,EAEb,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC5D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,KAAK,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,UAAU,CAAC;KACvB,CAAC,CAAC;IACH,YAAY,CAAC,EAAE;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,SAAS,EAAE,EAClB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,oBAAoB,CAAC,GACrE,uBAAuB,GAAG,IAAI,CAsOhC"}
1
+ {"version":3,"file":"RootCause.d.ts","sourceRoot":"","sources":["../../../src/core/RootCause.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,SAAS,EACT,eAAe,EACf,cAAc,EACd,UAAU,EAEb,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC5D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,KAAK,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,UAAU,CAAC;KACvB,CAAC,CAAC;IACH,YAAY,CAAC,EAAE;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,SAAS,EAAE,EAClB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,oBAAoB,CAAC,GACrE,uBAAuB,GAAG,IAAI,CA0UhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flow-debugger",
3
- "version": "1.9.7",
3
+ "version": "1.9.8",
4
4
  "description": "Production-safe flow-level debugging SDK. Traces requests, measures timing, classifies errors, detects root causes, and provides endpoint analytics with a live dashboard.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -72,9 +72,9 @@
72
72
  "type": "git",
73
73
  "url": "https://github.com/sannuk79/PROJECTS-AND-NPM-PACKAGES-"
74
74
  },
75
- "homepage": "https://github.com/sannuk79/PROJECTS-AND-NPM-PACKAGES-",
75
+ "homepage": "https://mypackagedoc.vercel.app/package/flow-debugger",
76
76
  "bugs": {
77
- "url": "https://github.com/sannuk79/debugerpackages/issues"
77
+ "url": "https://mypackagedoc.vercel.app/package/flow-debugger"
78
78
  },
79
79
  "bin": {
80
80
  "flow-debugger": "bin/cli.js"