Usage Insights: Fix usage insight errors being logged as [object Object] (#93502)
* join error strings instead of raw errors * add unit test
This commit is contained in:
@@ -218,6 +218,30 @@ describe('emitDataRequestEvent', () => {
|
||||
emitDataRequestEvent(datasource)(data);
|
||||
expect(reportMetaAnalytics).not.toBeCalled();
|
||||
});
|
||||
|
||||
it('Should not report errors when there are none', () => {
|
||||
const data = getTestData({
|
||||
panelId: 2,
|
||||
});
|
||||
emitDataRequestEvent(datasource)(data);
|
||||
|
||||
expect(reportMetaAnalytics).toBeCalledTimes(1);
|
||||
expect(reportMetaAnalytics).toHaveBeenCalledWith(expect.not.objectContaining({ error: expect.any(String) }));
|
||||
});
|
||||
|
||||
it('Should report errors if they exist', () => {
|
||||
const data = getTestData(
|
||||
{
|
||||
panelId: 2,
|
||||
},
|
||||
undefined,
|
||||
[{ message: 'message A' }, { message: 'message B' }]
|
||||
);
|
||||
emitDataRequestEvent(datasource)(data);
|
||||
|
||||
expect(reportMetaAnalytics).toBeCalledTimes(1);
|
||||
expect(reportMetaAnalytics).toHaveBeenCalledWith(expect.objectContaining({ error: 'message A, message B' }));
|
||||
});
|
||||
});
|
||||
|
||||
// Previously we filtered out Explore and Correlations events due to too many errors being generated while a user is building a query
|
||||
|
||||
@@ -77,7 +77,7 @@ export function emitDataRequestEvent(datasource: DataSourceApi) {
|
||||
|
||||
function enrichWithErrorData(eventData: DataRequestEventPayload, data: PanelData) {
|
||||
if (data.errors?.length) {
|
||||
eventData.error = data.errors.join(', ');
|
||||
eventData.error = data.errors.map((e) => e.message).join(', ');
|
||||
} else if (data.error) {
|
||||
eventData.error = data.error.message;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user