tencent cloud

All product documents
Tencent Cloud Observability Platform
Error Monitoring
Last updated: 2024-11-01 19:46:40
Error Monitoring
Last updated: 2024-11-01 19:46:40
 The Aegis instance of RUM automatically monitors exceptions such as JavaScript and Promise execution errors and Ajax (fetch) request exceptions. This document describes the monitoring logic of each error type and how to handle them.
Note:
The Aegis instance monitors such exceptions. If you only import the Aegis SDK but don't instantiate it, it won't report any data.

JavaScript Execution Error

Aegis listens on the onerror event in the window object to capture project errors. Then, it parses errors and analyze the heaps and stacks to automatically report the error information to the backend service. In this case, the report level is error; therefore, when the number of automatically reported errors reaches the threshold, Aegis will automatically trigger an alarm to help you find the exceptions promptly. As the report level is error, automatic reporting will also affect the project score.
If a cross-origin JavaScript script is imported on the page, you need to add the crossorigin attribute to the script tag; otherwise, Aegis cannot get the error details.
If the user uses the Vue framework, import the following code to get and actively report errors:
Vue.config.errorHandler = function(err, vm, info) {
console.log(`Error: ${err.toString()}\nStack: ${err.stack}\nInfo: ${info}`);
aegis.error(`Error: ${err.toString()}\nStack: ${err.stack}\nInfo: ${info}`);
};

Promise Execution Error

RUM listens on the unhandledrejection event to capture Promise errors that are not caught through catch. To ensure page stability, we recommend you catch all Promise errors.

Ajax (fetch) Request Exception

Aegis rewrites the XMLHttpRequest object to listen on each API request and will consider the following cases an exception:
http status is greater than or equal to 400.
A request times out or is aborted, cross-origin, or canceled.
http status is still 0 when a request ends, which usually occurs when the request fails.
Note:
When an error occurs, the Aegis SDK doesn't actively collect API request and response parameters. If you want such API information to be reported, you can use the apiDetail API parameter to enable reporting.
new Aegis({
api: {
apiDetail: true,
},
});

retcode Exception

Aegis rewrites the XMLHttpRequest object to get the API response. It also tries to get the retcode of the request in the response. If the retcode doesn't meet the expectation, the request will be considered exceptional and will be reported.
Note:
You can get retcode and judge which retcode values are normal as instructed in Configuration Guide.

Resource Loading Failure

If a request sent by a page element fails, it will be captured by the window.onerror event. Aegis uses this feature to listen on the loading failures of following resources:
CSS and font requested by the <link> tag.
Scripts requested by the <script> tag.
Multimedia resources requested by the <audio> and <video> tags.
Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 available.

7x24 Phone Support
Hong Kong, China
+852 800 906 020 (Toll Free)
United States
+1 844 606 0804 (Toll Free)
United Kingdom
+44 808 196 4551 (Toll Free)
Canada
+1 888 605 7930 (Toll Free)
Australia
+61 1300 986 386 (Toll Free)
EdgeOne hotline
+852 300 80699
More local hotlines coming soon