Skip to content

Commit c338b2d

Browse files
authored
chore: allow booleans and numbers in metric detail (#153)
1 parent beaa531 commit c338b2d

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/internal/base-component/__tests__/metrics.test.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,17 @@ describe('Client Metrics support', () => {
222222
});
223223
});
224224

225+
test('supports string, number and boolean details', () => {
226+
metrics.sendOpsMetricObject('awsui-ops-demo', { count: 1, value: 'a', enabled: true });
227+
expect(window.panorama).toHaveBeenCalledWith('trackCustomEvent', {
228+
eventType: 'awsui',
229+
eventContext: 'awsui-ops-demo',
230+
eventDetail: '{"o":"main","t":"default","f":"react","v":"1.0","count":1,"value":"a","enabled":true}',
231+
eventValue: '1',
232+
timestamp: expect.any(Number),
233+
});
234+
});
235+
225236
test('deduplicates metrics with same details', () => {
226237
metrics.sendOpsMetricObject('awsui-ops-demo', { foo: 'something' });
227238
metrics.sendOpsMetricObject('awsui-ops-demo', { foo: 'something' });

src/internal/base-component/metrics/metrics.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export class Metrics {
5151
this.panorama.sendMetric(metric);
5252
}
5353

54-
sendOpsMetricObject(metricName: string, detail: Record<string, string>) {
54+
sendOpsMetricObject(metricName: string, detail: Record<string, string | number | boolean>) {
5555
this.sendMetricOnce(metricName, 1, buildMetricDetail(detail, this.context));
5656
}
5757

0 commit comments

Comments
 (0)