Skip to content

Commit c9472a7

Browse files
authored
Track CCAPI usage based on get resource types (#341)
* Track CCAPI usage based on get resource types * update tracker metrics with getResourceType
1 parent 5c1908f commit c9472a7

File tree

4 files changed

+14
-3
lines changed

4 files changed

+14
-3
lines changed

src/handlers/ResourceHandler.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ export function getResourceTypesHandler(
3232
components: ServerComponents,
3333
): ServerRequestHandler<void, ResourceTypesResult, never, void> {
3434
return (): ResourceTypesResult => {
35+
components.usageTracker.track(EventType.DidGetResourceTypes);
3536
try {
3637
const resourceTypes = components.resourceStateManager.getResourceTypes();
3738
return { resourceTypes };

src/usageTracker/UsageTracker.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export enum EventType {
44
DidImportResources = 'DidImportResources',
55
MeaningfulHover = 'MeaningfulHover',
66
MeaningfulCompletion = 'MeaningfulCompletion',
7+
DidGetResourceTypes = 'DidGetResourceTypes',
78
}
89

910
export class UsageTracker {

src/usageTracker/UsageTrackerMetrics.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export class UsageTrackerMetrics {
1717
EventType.DidImportResources,
1818
EventType.MeaningfulHover,
1919
EventType.MeaningfulCompletion,
20+
EventType.DidGetResourceTypes,
2021
)
2122
? 1
2223
: 0,

tst/unit/server/UsageTracker.test.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ describe('UsageTracker', () => {
1717
test('tracks multiple events', () => {
1818
tracker.track(EventType.DidDeployment);
1919
tracker.track(EventType.DidValidation);
20-
expect(tracker.allUsed(EventType.DidDeployment, EventType.DidValidation)).toBe(true);
20+
tracker.track(EventType.DidGetResourceTypes);
21+
expect(
22+
tracker.allUsed(EventType.DidDeployment, EventType.DidValidation, EventType.DidGetResourceTypes),
23+
).toBe(true);
2124
});
2225

2326
test('does not duplicate events', () => {
@@ -51,7 +54,9 @@ describe('UsageTracker', () => {
5154
describe('someUsed', () => {
5255
test('returns true when at least one event tracked', () => {
5356
tracker.track(EventType.DidDeployment);
54-
expect(tracker.someUsed(EventType.DidDeployment, EventType.DidValidation)).toBe(true);
57+
expect(
58+
tracker.someUsed(EventType.DidDeployment, EventType.DidValidation, EventType.DidGetResourceTypes),
59+
).toBe(true);
5560
});
5661

5762
test('returns false when no events tracked', () => {
@@ -61,7 +66,10 @@ describe('UsageTracker', () => {
6166
test('returns true when all events tracked', () => {
6267
tracker.track(EventType.DidDeployment);
6368
tracker.track(EventType.DidValidation);
64-
expect(tracker.someUsed(EventType.DidDeployment, EventType.DidValidation)).toBe(true);
69+
tracker.track(EventType.DidGetResourceTypes);
70+
expect(
71+
tracker.someUsed(EventType.DidDeployment, EventType.DidValidation, EventType.DidGetResourceTypes),
72+
).toBe(true);
6573
});
6674

6775
test('returns false for empty list', () => {

0 commit comments

Comments
 (0)