summaryrefslogtreecommitdiff
path: root/packages/core/src/telemetry/metrics.test.ts
diff options
context:
space:
mode:
authoragarwalravikant <[email protected]>2025-08-08 10:08:07 +0530
committerGitHub <[email protected]>2025-08-08 04:38:07 +0000
commit5ab184fcaf40d4e7dec9ba6a0526cac39b602ee2 (patch)
tree9534a46370f1197d4c582c652bbc91e201c0d638 /packages/core/src/telemetry/metrics.test.ts
parent86eaa03f8a0c52bbcab2cb8b6554918e30918f66 (diff)
Fix for git issue 5657 to add lines of code added/removed telemetry (#5823)
Co-authored-by: Ravikant Agarwal <[email protected]>
Diffstat (limited to 'packages/core/src/telemetry/metrics.test.ts')
-rw-r--r--packages/core/src/telemetry/metrics.test.ts82
1 files changed, 82 insertions, 0 deletions
diff --git a/packages/core/src/telemetry/metrics.test.ts b/packages/core/src/telemetry/metrics.test.ts
index 4fcdd9e1..7b430884 100644
--- a/packages/core/src/telemetry/metrics.test.ts
+++ b/packages/core/src/telemetry/metrics.test.ts
@@ -221,5 +221,87 @@ describe('Telemetry Metrics', () => {
mimetype: 'application/javascript',
});
});
+
+ it('should include diffStat when provided', () => {
+ initializeMetricsModule(mockConfig);
+ mockCounterAddFn.mockClear();
+
+ const diffStat = {
+ ai_added_lines: 5,
+ ai_removed_lines: 2,
+ user_added_lines: 3,
+ user_removed_lines: 1,
+ };
+
+ recordFileOperationMetricModule(
+ mockConfig,
+ FileOperation.UPDATE,
+ undefined,
+ undefined,
+ undefined,
+ diffStat,
+ );
+
+ expect(mockCounterAddFn).toHaveBeenCalledWith(1, {
+ 'session.id': 'test-session-id',
+ operation: FileOperation.UPDATE,
+ ai_added_lines: 5,
+ ai_removed_lines: 2,
+ user_added_lines: 3,
+ user_removed_lines: 1,
+ });
+ });
+
+ it('should not include diffStat attributes when diffStat is not provided', () => {
+ initializeMetricsModule(mockConfig);
+ mockCounterAddFn.mockClear();
+
+ recordFileOperationMetricModule(
+ mockConfig,
+ FileOperation.UPDATE,
+ 10,
+ 'text/plain',
+ 'txt',
+ undefined,
+ );
+
+ expect(mockCounterAddFn).toHaveBeenCalledWith(1, {
+ 'session.id': 'test-session-id',
+ operation: FileOperation.UPDATE,
+ lines: 10,
+ mimetype: 'text/plain',
+ extension: 'txt',
+ });
+ });
+
+ it('should handle diffStat with all zero values', () => {
+ initializeMetricsModule(mockConfig);
+ mockCounterAddFn.mockClear();
+
+ const diffStat = {
+ ai_added_lines: 0,
+ ai_removed_lines: 0,
+ user_added_lines: 0,
+ user_removed_lines: 0,
+ };
+
+ recordFileOperationMetricModule(
+ mockConfig,
+ FileOperation.UPDATE,
+ undefined,
+ undefined,
+ undefined,
+ diffStat,
+ );
+
+ expect(mockCounterAddFn).toHaveBeenCalledWith(1, {
+ 'session.id': 'test-session-id',
+ operation: FileOperation.UPDATE,
+ ai_added_lines: 0,
+ ai_removed_lines: 0,
+ user_added_lines: 0,
+ user_removed_lines: 0,
+ });
+ });
});
});