[Telemetry] Add usage counter to timeline task. (#134925)

This commit is contained in:
Pete Hampton 2022-06-30 18:09:12 +01:00 committed by GitHub
parent fe5bee41f1
commit c3327e4fad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 23 additions and 0 deletions

View file

@ -22,6 +22,7 @@ export const createMockTelemetryEventsSender = (
start: jest.fn(),
stop: jest.fn(),
getClusterID: jest.fn(),
getTelemetryUsageCluster: jest.fn(),
fetchTelemetryUrl: jest.fn(),
queueTelemetryEvents: jest.fn(),
processEvents: jest.fn(),

View file

@ -115,6 +115,10 @@ export class PreviewTelemetryEventsSender implements ITelemetryEventsSender {
return result;
}
public getTelemetryUsageCluster(): UsageCounter | undefined {
return this.composite.getTelemetryUsageCluster();
}
public isTelemetryOptedIn(): Promise<boolean> {
return this.composite.isTelemetryOptedIn();
}

View file

@ -35,6 +35,7 @@ export interface ITelemetryEventsSender {
telemetryUsageCounter?: UsageCounter
): void;
getTelemetryUsageCluster(): UsageCounter | undefined;
getClusterID(): string | undefined;
start(
@ -96,6 +97,10 @@ export class TelemetryEventsSender implements ITelemetryEventsSender {
}
}
public getTelemetryUsageCluster(): UsageCounter | undefined {
return this.telemetryUsageCounter;
}
public getClusterID(): string | undefined {
return this.receiver?.getClusterInfo()?.cluster_uuid;
}

View file

@ -36,6 +36,7 @@ describe('timeline telemetry task test', () => {
expect(mockTelemetryReceiver.buildProcessTree).toHaveBeenCalled();
expect(mockTelemetryReceiver.fetchTimelineEvents).toHaveBeenCalled();
expect(mockTelemetryReceiver.fetchTimelineEndpointAlerts).toHaveBeenCalled();
expect(mockTelemetryEventsSender.getTelemetryUsageCluster).toHaveBeenCalled();
expect(mockTelemetryEventsSender.sendOnDemand).toHaveBeenCalled();
});

View file

@ -101,6 +101,12 @@ export function createTelemetryTimelineTaskConfig() {
nodeIds.push(nodeId);
}
sender.getTelemetryUsageCluster()?.incrementCounter({
counterName: 'telemetry_timeline',
counterType: 'timeline_node_count',
incrementBy: nodeIds.length,
});
// Fetch event lineage
const timelineEvents = await receiver.fetchTimelineEvents(nodeIds);
@ -115,6 +121,12 @@ export function createTelemetryTimelineTaskConfig() {
}
}
sender.getTelemetryUsageCluster()?.incrementCounter({
counterName: 'telemetry_timeline',
counterType: 'timeline_event_count',
incrementBy: eventsStore.size,
});
// Create telemetry record
const telemetryTimeline: TimelineTelemetryEvent[] = [];