datadog-frontend-toolkit 1.0.49 → 1.0.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/resources/templates/monitors.js +10 -10
- package/dist/cjs/resources/templates/monitors.js.map +1 -1
- package/dist/cli/commands/setup.js +2 -2
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/esm/resources/templates/monitors.js +10 -10
- package/dist/esm/resources/templates/monitors.js.map +1 -1
- package/dist/resources/templates/monitors.js +10 -10
- package/dist/resources/templates/monitors.js.map +1 -1
- package/package.json +1 -1
|
@@ -55,11 +55,11 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
55
55
|
{
|
|
56
56
|
name: `${service} (${env}) - High Frontend Error Rate`,
|
|
57
57
|
type: 'rum alert',
|
|
58
|
-
query: `rum("service:${service} env:${env} @type:error").rollup("count").last("
|
|
59
|
-
message: `## High Frontend Error Rate\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe frontend error rate has exceeded the threshold of
|
|
58
|
+
query: `rum("service:${service} env:${env} @type:error").rollup("count").last("15m") > 10`,
|
|
59
|
+
message: `## High Frontend Error Rate\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe frontend error rate has exceeded the threshold of 10 errors in 15 minutes.\n\n### Common Causes\n- **Failed API calls** — backend returning 4xx/5xx responses that the frontend doesn't handle gracefully\n- **Broken deployment** — a recent release introduced a regression (check recent deploys)\n- **Third-party script failure** — analytics, ads, or chat widgets throwing uncaught errors\n- **Network issues** — users on unstable connections causing fetch/XHR failures\n- **Missing resources** — 404s on assets (JS, CSS, images) after a deployment or CDN purge\n\nPlease investigate the error source in the [RUM Error Tracking](https://app.datadoghq.com/rum/error-tracking?query=service%3A${service}%20env%3A${env}).${notify}`,
|
|
60
60
|
tags,
|
|
61
61
|
options: {
|
|
62
|
-
thresholds: { critical:
|
|
62
|
+
thresholds: { critical: 10, warning: 5 },
|
|
63
63
|
notify_no_data: false,
|
|
64
64
|
renotify_interval: 30,
|
|
65
65
|
escalation_message: `Error rate still elevated for ${service} (${env})`,
|
|
@@ -71,7 +71,7 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
71
71
|
name: `${service} (${env}) - Poor LCP Performance`,
|
|
72
72
|
type: 'rum alert',
|
|
73
73
|
query: `rum("service:${service} env:${env} @type:view").rollup("avg", "@view.largest_contentful_paint").last("4h") > 3000000000`,
|
|
74
|
-
message: `## Poor LCP Performance\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average Largest Contentful Paint has exceeded 3 seconds.\n\nThis directly impacts user experience and Core Web Vitals scores.${notify}`,
|
|
74
|
+
message: `## Poor LCP Performance\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average Largest Contentful Paint has exceeded 3 seconds.\n\n### Common Causes\n- **Slow server response time (TTFB)** — backend or CDN taking too long to deliver the initial HTML\n- **Render-blocking resources** — large CSS/JS bundles that delay rendering\n- **Unoptimized images** — the largest visible element (hero image, banner) is too heavy or not lazy-loaded\n- **Web font loading** — custom fonts blocking text rendering until downloaded\n- **Client-side rendering** — heavy JS frameworks that delay meaningful paint until hydration completes\n- **Slow API calls** — if the largest element depends on data fetched after page load\n\nThis directly impacts user experience and Core Web Vitals scores.${notify}`,
|
|
75
75
|
tags,
|
|
76
76
|
options: {
|
|
77
77
|
thresholds: { critical: 3000000000, warning: 2000000000 },
|
|
@@ -85,7 +85,7 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
85
85
|
name: `${service} (${env}) - High CLS Score`,
|
|
86
86
|
type: 'rum alert',
|
|
87
87
|
query: `rum("service:${service} env:${env} @type:view").rollup("avg", "@view.cumulative_layout_shift").last("4h") > 0.2`,
|
|
88
|
-
message: `## High Cumulative Layout Shift\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average CLS has exceeded 0.2.\n\nLayout shifts are causing a poor user experience.${notify}`,
|
|
88
|
+
message: `## High Cumulative Layout Shift\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average CLS has exceeded 0.2.\n\n### Common Causes\n- **Images/videos without dimensions** — missing \`width\`/\`height\` or \`aspect-ratio\` causes content to shift when media loads\n- **Dynamically injected content** — banners, alerts, or toasts inserted above visible content push everything down\n- **Web fonts (FOUT/FOIT)** — text resizes when a custom font replaces the fallback font\n- **Late-loading components** — async data that inserts UI elements (tables, lists, cards) after the initial render\n- **Ads or third-party embeds** — iframes that resize after loading\n- **CSS animations** — transitions that change element size or position affecting layout flow\n\nLayout shifts are causing a poor user experience.${notify}`,
|
|
89
89
|
tags,
|
|
90
90
|
options: {
|
|
91
91
|
thresholds: { critical: 0.2, warning: 0.1 },
|
|
@@ -98,11 +98,11 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
98
98
|
{
|
|
99
99
|
name: `${service} (${env}) - JS Error Spike`,
|
|
100
100
|
type: 'rum alert',
|
|
101
|
-
query: `rum("service:${service} env:${env} @type:error @error.source:source").rollup("count").last("
|
|
102
|
-
message: `## JavaScript Error Spike\n\n**Service:** ${service}\n**Environment:** ${env}\n\nA spike in JavaScript errors has been detected (>
|
|
101
|
+
query: `rum("service:${service} env:${env} @type:error @error.source:source").rollup("count").last("15m") > 25`,
|
|
102
|
+
message: `## JavaScript Error Spike\n\n**Service:** ${service}\n**Environment:** ${env}\n\nA spike in JavaScript errors has been detected (>25 in 15 minutes).\n\n### Common Causes\n- **Bad deployment** — a new release introduced a bug (check the latest deploy timestamp)\n- **Third-party script failure** — an external SDK (analytics, chat, payments) broke or is unreachable\n- **API contract change** — backend response shape changed and frontend code throws on unexpected data\n- **Browser compatibility** — new code uses an API not supported in older browsers\n- **CSP violations** — Content Security Policy blocking inline scripts or external resources\n- **Null/undefined references** — missing data guards in component rendering\n\nThis may indicate a deployment issue or third-party script failure.${notify}`,
|
|
103
103
|
tags,
|
|
104
104
|
options: {
|
|
105
|
-
thresholds: { critical:
|
|
105
|
+
thresholds: { critical: 25, warning: 10 },
|
|
106
106
|
notify_no_data: false,
|
|
107
107
|
renotify_interval: 15,
|
|
108
108
|
include_tags: true,
|
|
@@ -113,7 +113,7 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
113
113
|
name: `${service} (${env}) - Error Log Anomaly`,
|
|
114
114
|
type: 'log alert',
|
|
115
115
|
query: `logs("service:${service} env:${env} status:error").index("*").rollup("count").last("15m") > 200`,
|
|
116
|
-
message: `## Error Log Anomaly\n\n**Service:** ${service}\n**Environment:** ${env}\n\nAn unusual number of error logs have been detected.\n\nCheck [Log Explorer](https://app.datadoghq.com/logs?query=service%3A${service}%20env%3A${env}%20status%3Aerror) for details.${notify}`,
|
|
116
|
+
message: `## Error Log Anomaly\n\n**Service:** ${service}\n**Environment:** ${env}\n\nAn unusual number of error logs have been detected.\n\n### Common Causes\n- **Upstream service failure** — a backend dependency is down or returning errors\n- **Configuration change** — environment variables, feature flags, or config files changed incorrectly\n- **Database issues** — connection pool exhaustion, query timeouts, or migration failures\n- **Infrastructure problems** — container restarts, memory pressure, or disk space exhaustion\n- **Authentication/authorization failures** — expired tokens, revoked keys, or permission changes\n- **Rate limiting** — hitting API rate limits from third-party services\n\nCheck [Log Explorer](https://app.datadoghq.com/logs?query=service%3A${service}%20env%3A${env}%20status%3Aerror) for details.${notify}`,
|
|
117
117
|
tags,
|
|
118
118
|
options: {
|
|
119
119
|
thresholds: { critical: 200, warning: 100 },
|
|
@@ -127,7 +127,7 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
127
127
|
name: `${service} (${env}) - Slow Page Load`,
|
|
128
128
|
type: 'rum alert',
|
|
129
129
|
query: `rum("service:${service} env:${env} @type:view").rollup("avg", "@view.loading_time").last("4h") > 5000000000`,
|
|
130
|
-
message: `## Slow Page Load Time\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average page loading time has exceeded 5 seconds.\n\nThis impacts user experience and may indicate backend latency or heavy frontend rendering.${notify}`,
|
|
130
|
+
message: `## Slow Page Load Time\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average page loading time has exceeded 5 seconds.\n\n### Common Causes\n- **Slow API responses** — backend endpoints taking too long, blocking the view from being considered loaded\n- **Heavy JavaScript bundles** — large unoptimized bundles delaying parsing and execution\n- **Excessive API calls on mount** — too many parallel or sequential requests during component initialization\n- **Unoptimized database queries** — N+1 queries or missing indexes on the backend\n- **Missing code splitting** — loading the entire app bundle instead of lazy-loading routes\n- **Large DOM size** — rendering thousands of elements (e.g., long lists without virtualization)\n\nThis impacts user experience and may indicate backend latency or heavy frontend rendering.${notify}`,
|
|
131
131
|
tags,
|
|
132
132
|
options: {
|
|
133
133
|
thresholds: { critical: 5000000000, warning: 3000000000 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitors.js","sourceRoot":"","sources":["../../../../src/resources/templates/monitors.ts"],"names":[],"mappings":";;AAwDA,sDA0GC;AAhKD;;;GAGG;AAEH,SAAS,uBAAuB,CAAC,QAA+B;IAC9D,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,OAAO;gBACV,OAAO,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACzB,KAAK,OAAO;gBACV,OAAO,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/B,KAAK,WAAW;gBACd,OAAO,cAAc,EAAE,CAAC,MAAM,EAAE,CAAC;YACnC,KAAK,UAAU;gBACb,OAAO,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,SAAS;gBACZ,OAAO,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;YACjC;gBACE,OAAO,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAWD,MAAM,WAAW,GAA2B;IAC1C,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,aAAa;IAClB,OAAO,EAAE,aAAa;IACtB,GAAG,EAAE,SAAS;IACd,EAAE,EAAE,SAAS;IACb,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,gBAAgB;CACzB,CAAC;AAEF,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AACrC,CAAC;AAED,SAAgB,qBAAqB,CACnC,OAAe,EACf,GAAW,EACX,WAAkC,EAAE,EACpC,IAAa;IAEb,MAAM,IAAI,GAAG;QACX,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE;QAC3B,kBAAkB;QAClB,kCAAkC;QAClC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7F,OAAO;QACL,0BAA0B;QAC1B;YACE,IAAI,EAAE,GAAG,OAAO,KAAK,GAAG,8BAA8B;YACtD,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,gBAAgB,OAAO,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"monitors.js","sourceRoot":"","sources":["../../../../src/resources/templates/monitors.ts"],"names":[],"mappings":"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"}
|
|
@@ -305,10 +305,10 @@ async function setup(options) {
|
|
|
305
305
|
}
|
|
306
306
|
// Monitor descriptions keyed by pattern found in monitor name
|
|
307
307
|
const monitorDescriptions = {
|
|
308
|
-
'High Frontend Error Rate': 'Tracks the total number of RUM errors in a
|
|
308
|
+
'High Frontend Error Rate': 'Tracks the total number of RUM errors in a 15-minute window. Fires when errors exceed 10, indicating a potential regression or outage.',
|
|
309
309
|
'Poor LCP Performance': '**Largest Contentful Paint (LCP)** measures how long it takes for the largest visible element to render. Values above 3 seconds indicate a poor loading experience (Core Web Vital).',
|
|
310
310
|
'High CLS Score': '**Cumulative Layout Shift (CLS)** measures unexpected layout movements during page load. Values above 0.2 indicate visual instability that frustrates users (Core Web Vital).',
|
|
311
|
-
'JS Error Spike': 'Detects sudden spikes in JavaScript source errors (>
|
|
311
|
+
'JS Error Spike': 'Detects sudden spikes in JavaScript source errors (>25 in 15 min). Often signals a bad deployment, broken third-party script, or infrastructure issue.',
|
|
312
312
|
'Error Log Anomaly': 'Monitors backend/frontend error logs volume. A sudden increase (>200 in 15 min) may indicate an upstream service failure or configuration problem.',
|
|
313
313
|
'Slow Page Load': '**Page Load Time** measures how long a view takes to be considered loaded. Values above 5 seconds indicate slow rendering or backend latency affecting user experience.',
|
|
314
314
|
'High Burn Rate': '🔥 **High Burn Rate Alert** — The error budget is being consumed ~14× faster than sustainable. At this rate the entire 30-day budget will be exhausted in ~2 days. Requires immediate investigation.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,11 +52,11 @@ export function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
52
52
|
{
|
|
53
53
|
name: `${service} (${env}) - High Frontend Error Rate`,
|
|
54
54
|
type: 'rum alert',
|
|
55
|
-
query: `rum("service:${service} env:${env} @type:error").rollup("count").last("
|
|
56
|
-
message: `## High Frontend Error Rate\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe frontend error rate has exceeded the threshold of
|
|
55
|
+
query: `rum("service:${service} env:${env} @type:error").rollup("count").last("15m") > 10`,
|
|
56
|
+
message: `## High Frontend Error Rate\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe frontend error rate has exceeded the threshold of 10 errors in 15 minutes.\n\n### Common Causes\n- **Failed API calls** — backend returning 4xx/5xx responses that the frontend doesn't handle gracefully\n- **Broken deployment** — a recent release introduced a regression (check recent deploys)\n- **Third-party script failure** — analytics, ads, or chat widgets throwing uncaught errors\n- **Network issues** — users on unstable connections causing fetch/XHR failures\n- **Missing resources** — 404s on assets (JS, CSS, images) after a deployment or CDN purge\n\nPlease investigate the error source in the [RUM Error Tracking](https://app.datadoghq.com/rum/error-tracking?query=service%3A${service}%20env%3A${env}).${notify}`,
|
|
57
57
|
tags,
|
|
58
58
|
options: {
|
|
59
|
-
thresholds: { critical:
|
|
59
|
+
thresholds: { critical: 10, warning: 5 },
|
|
60
60
|
notify_no_data: false,
|
|
61
61
|
renotify_interval: 30,
|
|
62
62
|
escalation_message: `Error rate still elevated for ${service} (${env})`,
|
|
@@ -68,7 +68,7 @@ export function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
68
68
|
name: `${service} (${env}) - Poor LCP Performance`,
|
|
69
69
|
type: 'rum alert',
|
|
70
70
|
query: `rum("service:${service} env:${env} @type:view").rollup("avg", "@view.largest_contentful_paint").last("4h") > 3000000000`,
|
|
71
|
-
message: `## Poor LCP Performance\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average Largest Contentful Paint has exceeded 3 seconds.\n\nThis directly impacts user experience and Core Web Vitals scores.${notify}`,
|
|
71
|
+
message: `## Poor LCP Performance\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average Largest Contentful Paint has exceeded 3 seconds.\n\n### Common Causes\n- **Slow server response time (TTFB)** — backend or CDN taking too long to deliver the initial HTML\n- **Render-blocking resources** — large CSS/JS bundles that delay rendering\n- **Unoptimized images** — the largest visible element (hero image, banner) is too heavy or not lazy-loaded\n- **Web font loading** — custom fonts blocking text rendering until downloaded\n- **Client-side rendering** — heavy JS frameworks that delay meaningful paint until hydration completes\n- **Slow API calls** — if the largest element depends on data fetched after page load\n\nThis directly impacts user experience and Core Web Vitals scores.${notify}`,
|
|
72
72
|
tags,
|
|
73
73
|
options: {
|
|
74
74
|
thresholds: { critical: 3000000000, warning: 2000000000 },
|
|
@@ -82,7 +82,7 @@ export function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
82
82
|
name: `${service} (${env}) - High CLS Score`,
|
|
83
83
|
type: 'rum alert',
|
|
84
84
|
query: `rum("service:${service} env:${env} @type:view").rollup("avg", "@view.cumulative_layout_shift").last("4h") > 0.2`,
|
|
85
|
-
message: `## High Cumulative Layout Shift\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average CLS has exceeded 0.2.\n\nLayout shifts are causing a poor user experience.${notify}`,
|
|
85
|
+
message: `## High Cumulative Layout Shift\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average CLS has exceeded 0.2.\n\n### Common Causes\n- **Images/videos without dimensions** — missing \`width\`/\`height\` or \`aspect-ratio\` causes content to shift when media loads\n- **Dynamically injected content** — banners, alerts, or toasts inserted above visible content push everything down\n- **Web fonts (FOUT/FOIT)** — text resizes when a custom font replaces the fallback font\n- **Late-loading components** — async data that inserts UI elements (tables, lists, cards) after the initial render\n- **Ads or third-party embeds** — iframes that resize after loading\n- **CSS animations** — transitions that change element size or position affecting layout flow\n\nLayout shifts are causing a poor user experience.${notify}`,
|
|
86
86
|
tags,
|
|
87
87
|
options: {
|
|
88
88
|
thresholds: { critical: 0.2, warning: 0.1 },
|
|
@@ -95,11 +95,11 @@ export function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
95
95
|
{
|
|
96
96
|
name: `${service} (${env}) - JS Error Spike`,
|
|
97
97
|
type: 'rum alert',
|
|
98
|
-
query: `rum("service:${service} env:${env} @type:error @error.source:source").rollup("count").last("
|
|
99
|
-
message: `## JavaScript Error Spike\n\n**Service:** ${service}\n**Environment:** ${env}\n\nA spike in JavaScript errors has been detected (>
|
|
98
|
+
query: `rum("service:${service} env:${env} @type:error @error.source:source").rollup("count").last("15m") > 25`,
|
|
99
|
+
message: `## JavaScript Error Spike\n\n**Service:** ${service}\n**Environment:** ${env}\n\nA spike in JavaScript errors has been detected (>25 in 15 minutes).\n\n### Common Causes\n- **Bad deployment** — a new release introduced a bug (check the latest deploy timestamp)\n- **Third-party script failure** — an external SDK (analytics, chat, payments) broke or is unreachable\n- **API contract change** — backend response shape changed and frontend code throws on unexpected data\n- **Browser compatibility** — new code uses an API not supported in older browsers\n- **CSP violations** — Content Security Policy blocking inline scripts or external resources\n- **Null/undefined references** — missing data guards in component rendering\n\nThis may indicate a deployment issue or third-party script failure.${notify}`,
|
|
100
100
|
tags,
|
|
101
101
|
options: {
|
|
102
|
-
thresholds: { critical:
|
|
102
|
+
thresholds: { critical: 25, warning: 10 },
|
|
103
103
|
notify_no_data: false,
|
|
104
104
|
renotify_interval: 15,
|
|
105
105
|
include_tags: true,
|
|
@@ -110,7 +110,7 @@ export function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
110
110
|
name: `${service} (${env}) - Error Log Anomaly`,
|
|
111
111
|
type: 'log alert',
|
|
112
112
|
query: `logs("service:${service} env:${env} status:error").index("*").rollup("count").last("15m") > 200`,
|
|
113
|
-
message: `## Error Log Anomaly\n\n**Service:** ${service}\n**Environment:** ${env}\n\nAn unusual number of error logs have been detected.\n\nCheck [Log Explorer](https://app.datadoghq.com/logs?query=service%3A${service}%20env%3A${env}%20status%3Aerror) for details.${notify}`,
|
|
113
|
+
message: `## Error Log Anomaly\n\n**Service:** ${service}\n**Environment:** ${env}\n\nAn unusual number of error logs have been detected.\n\n### Common Causes\n- **Upstream service failure** — a backend dependency is down or returning errors\n- **Configuration change** — environment variables, feature flags, or config files changed incorrectly\n- **Database issues** — connection pool exhaustion, query timeouts, or migration failures\n- **Infrastructure problems** — container restarts, memory pressure, or disk space exhaustion\n- **Authentication/authorization failures** — expired tokens, revoked keys, or permission changes\n- **Rate limiting** — hitting API rate limits from third-party services\n\nCheck [Log Explorer](https://app.datadoghq.com/logs?query=service%3A${service}%20env%3A${env}%20status%3Aerror) for details.${notify}`,
|
|
114
114
|
tags,
|
|
115
115
|
options: {
|
|
116
116
|
thresholds: { critical: 200, warning: 100 },
|
|
@@ -124,7 +124,7 @@ export function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
124
124
|
name: `${service} (${env}) - Slow Page Load`,
|
|
125
125
|
type: 'rum alert',
|
|
126
126
|
query: `rum("service:${service} env:${env} @type:view").rollup("avg", "@view.loading_time").last("4h") > 5000000000`,
|
|
127
|
-
message: `## Slow Page Load Time\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average page loading time has exceeded 5 seconds.\n\nThis impacts user experience and may indicate backend latency or heavy frontend rendering.${notify}`,
|
|
127
|
+
message: `## Slow Page Load Time\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average page loading time has exceeded 5 seconds.\n\n### Common Causes\n- **Slow API responses** — backend endpoints taking too long, blocking the view from being considered loaded\n- **Heavy JavaScript bundles** — large unoptimized bundles delaying parsing and execution\n- **Excessive API calls on mount** — too many parallel or sequential requests during component initialization\n- **Unoptimized database queries** — N+1 queries or missing indexes on the backend\n- **Missing code splitting** — loading the entire app bundle instead of lazy-loading routes\n- **Large DOM size** — rendering thousands of elements (e.g., long lists without virtualization)\n\nThis impacts user experience and may indicate backend latency or heavy frontend rendering.${notify}`,
|
|
128
128
|
tags,
|
|
129
129
|
options: {
|
|
130
130
|
thresholds: { critical: 5000000000, warning: 3000000000 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitors.js","sourceRoot":"","sources":["../../../../src/resources/templates/monitors.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,SAAS,uBAAuB,CAAC,QAA+B;IAC9D,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,OAAO;gBACV,OAAO,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACzB,KAAK,OAAO;gBACV,OAAO,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/B,KAAK,WAAW;gBACd,OAAO,cAAc,EAAE,CAAC,MAAM,EAAE,CAAC;YACnC,KAAK,UAAU;gBACb,OAAO,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,SAAS;gBACZ,OAAO,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;YACjC;gBACE,OAAO,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAWD,MAAM,WAAW,GAA2B;IAC1C,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,aAAa;IAClB,OAAO,EAAE,aAAa;IACtB,GAAG,EAAE,SAAS;IACd,EAAE,EAAE,SAAS;IACb,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,gBAAgB;CACzB,CAAC;AAEF,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,GAAW,EACX,WAAkC,EAAE,EACpC,IAAa;IAEb,MAAM,IAAI,GAAG;QACX,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE;QAC3B,kBAAkB;QAClB,kCAAkC;QAClC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7F,OAAO;QACL,0BAA0B;QAC1B;YACE,IAAI,EAAE,GAAG,OAAO,KAAK,GAAG,8BAA8B;YACtD,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,gBAAgB,OAAO,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"monitors.js","sourceRoot":"","sources":["../../../../src/resources/templates/monitors.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,11 +55,11 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
55
55
|
{
|
|
56
56
|
name: `${service} (${env}) - High Frontend Error Rate`,
|
|
57
57
|
type: 'rum alert',
|
|
58
|
-
query: `rum("service:${service} env:${env} @type:error").rollup("count").last("
|
|
59
|
-
message: `## High Frontend Error Rate\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe frontend error rate has exceeded the threshold of
|
|
58
|
+
query: `rum("service:${service} env:${env} @type:error").rollup("count").last("15m") > 10`,
|
|
59
|
+
message: `## High Frontend Error Rate\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe frontend error rate has exceeded the threshold of 10 errors in 15 minutes.\n\n### Common Causes\n- **Failed API calls** — backend returning 4xx/5xx responses that the frontend doesn't handle gracefully\n- **Broken deployment** — a recent release introduced a regression (check recent deploys)\n- **Third-party script failure** — analytics, ads, or chat widgets throwing uncaught errors\n- **Network issues** — users on unstable connections causing fetch/XHR failures\n- **Missing resources** — 404s on assets (JS, CSS, images) after a deployment or CDN purge\n\nPlease investigate the error source in the [RUM Error Tracking](https://app.datadoghq.com/rum/error-tracking?query=service%3A${service}%20env%3A${env}).${notify}`,
|
|
60
60
|
tags,
|
|
61
61
|
options: {
|
|
62
|
-
thresholds: { critical:
|
|
62
|
+
thresholds: { critical: 10, warning: 5 },
|
|
63
63
|
notify_no_data: false,
|
|
64
64
|
renotify_interval: 30,
|
|
65
65
|
escalation_message: `Error rate still elevated for ${service} (${env})`,
|
|
@@ -71,7 +71,7 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
71
71
|
name: `${service} (${env}) - Poor LCP Performance`,
|
|
72
72
|
type: 'rum alert',
|
|
73
73
|
query: `rum("service:${service} env:${env} @type:view").rollup("avg", "@view.largest_contentful_paint").last("4h") > 3000000000`,
|
|
74
|
-
message: `## Poor LCP Performance\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average Largest Contentful Paint has exceeded 3 seconds.\n\nThis directly impacts user experience and Core Web Vitals scores.${notify}`,
|
|
74
|
+
message: `## Poor LCP Performance\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average Largest Contentful Paint has exceeded 3 seconds.\n\n### Common Causes\n- **Slow server response time (TTFB)** — backend or CDN taking too long to deliver the initial HTML\n- **Render-blocking resources** — large CSS/JS bundles that delay rendering\n- **Unoptimized images** — the largest visible element (hero image, banner) is too heavy or not lazy-loaded\n- **Web font loading** — custom fonts blocking text rendering until downloaded\n- **Client-side rendering** — heavy JS frameworks that delay meaningful paint until hydration completes\n- **Slow API calls** — if the largest element depends on data fetched after page load\n\nThis directly impacts user experience and Core Web Vitals scores.${notify}`,
|
|
75
75
|
tags,
|
|
76
76
|
options: {
|
|
77
77
|
thresholds: { critical: 3000000000, warning: 2000000000 },
|
|
@@ -85,7 +85,7 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
85
85
|
name: `${service} (${env}) - High CLS Score`,
|
|
86
86
|
type: 'rum alert',
|
|
87
87
|
query: `rum("service:${service} env:${env} @type:view").rollup("avg", "@view.cumulative_layout_shift").last("4h") > 0.2`,
|
|
88
|
-
message: `## High Cumulative Layout Shift\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average CLS has exceeded 0.2.\n\nLayout shifts are causing a poor user experience.${notify}`,
|
|
88
|
+
message: `## High Cumulative Layout Shift\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average CLS has exceeded 0.2.\n\n### Common Causes\n- **Images/videos without dimensions** — missing \`width\`/\`height\` or \`aspect-ratio\` causes content to shift when media loads\n- **Dynamically injected content** — banners, alerts, or toasts inserted above visible content push everything down\n- **Web fonts (FOUT/FOIT)** — text resizes when a custom font replaces the fallback font\n- **Late-loading components** — async data that inserts UI elements (tables, lists, cards) after the initial render\n- **Ads or third-party embeds** — iframes that resize after loading\n- **CSS animations** — transitions that change element size or position affecting layout flow\n\nLayout shifts are causing a poor user experience.${notify}`,
|
|
89
89
|
tags,
|
|
90
90
|
options: {
|
|
91
91
|
thresholds: { critical: 0.2, warning: 0.1 },
|
|
@@ -98,11 +98,11 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
98
98
|
{
|
|
99
99
|
name: `${service} (${env}) - JS Error Spike`,
|
|
100
100
|
type: 'rum alert',
|
|
101
|
-
query: `rum("service:${service} env:${env} @type:error @error.source:source").rollup("count").last("
|
|
102
|
-
message: `## JavaScript Error Spike\n\n**Service:** ${service}\n**Environment:** ${env}\n\nA spike in JavaScript errors has been detected (>
|
|
101
|
+
query: `rum("service:${service} env:${env} @type:error @error.source:source").rollup("count").last("15m") > 25`,
|
|
102
|
+
message: `## JavaScript Error Spike\n\n**Service:** ${service}\n**Environment:** ${env}\n\nA spike in JavaScript errors has been detected (>25 in 15 minutes).\n\n### Common Causes\n- **Bad deployment** — a new release introduced a bug (check the latest deploy timestamp)\n- **Third-party script failure** — an external SDK (analytics, chat, payments) broke or is unreachable\n- **API contract change** — backend response shape changed and frontend code throws on unexpected data\n- **Browser compatibility** — new code uses an API not supported in older browsers\n- **CSP violations** — Content Security Policy blocking inline scripts or external resources\n- **Null/undefined references** — missing data guards in component rendering\n\nThis may indicate a deployment issue or third-party script failure.${notify}`,
|
|
103
103
|
tags,
|
|
104
104
|
options: {
|
|
105
|
-
thresholds: { critical:
|
|
105
|
+
thresholds: { critical: 25, warning: 10 },
|
|
106
106
|
notify_no_data: false,
|
|
107
107
|
renotify_interval: 15,
|
|
108
108
|
include_tags: true,
|
|
@@ -113,7 +113,7 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
113
113
|
name: `${service} (${env}) - Error Log Anomaly`,
|
|
114
114
|
type: 'log alert',
|
|
115
115
|
query: `logs("service:${service} env:${env} status:error").index("*").rollup("count").last("15m") > 200`,
|
|
116
|
-
message: `## Error Log Anomaly\n\n**Service:** ${service}\n**Environment:** ${env}\n\nAn unusual number of error logs have been detected.\n\nCheck [Log Explorer](https://app.datadoghq.com/logs?query=service%3A${service}%20env%3A${env}%20status%3Aerror) for details.${notify}`,
|
|
116
|
+
message: `## Error Log Anomaly\n\n**Service:** ${service}\n**Environment:** ${env}\n\nAn unusual number of error logs have been detected.\n\n### Common Causes\n- **Upstream service failure** — a backend dependency is down or returning errors\n- **Configuration change** — environment variables, feature flags, or config files changed incorrectly\n- **Database issues** — connection pool exhaustion, query timeouts, or migration failures\n- **Infrastructure problems** — container restarts, memory pressure, or disk space exhaustion\n- **Authentication/authorization failures** — expired tokens, revoked keys, or permission changes\n- **Rate limiting** — hitting API rate limits from third-party services\n\nCheck [Log Explorer](https://app.datadoghq.com/logs?query=service%3A${service}%20env%3A${env}%20status%3Aerror) for details.${notify}`,
|
|
117
117
|
tags,
|
|
118
118
|
options: {
|
|
119
119
|
thresholds: { critical: 200, warning: 100 },
|
|
@@ -127,7 +127,7 @@ function buildMonitorTemplates(service, env, channels = [], team) {
|
|
|
127
127
|
name: `${service} (${env}) - Slow Page Load`,
|
|
128
128
|
type: 'rum alert',
|
|
129
129
|
query: `rum("service:${service} env:${env} @type:view").rollup("avg", "@view.loading_time").last("4h") > 5000000000`,
|
|
130
|
-
message: `## Slow Page Load Time\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average page loading time has exceeded 5 seconds.\n\nThis impacts user experience and may indicate backend latency or heavy frontend rendering.${notify}`,
|
|
130
|
+
message: `## Slow Page Load Time\n\n**Service:** ${service}\n**Environment:** ${env}\n\nThe average page loading time has exceeded 5 seconds.\n\n### Common Causes\n- **Slow API responses** — backend endpoints taking too long, blocking the view from being considered loaded\n- **Heavy JavaScript bundles** — large unoptimized bundles delaying parsing and execution\n- **Excessive API calls on mount** — too many parallel or sequential requests during component initialization\n- **Unoptimized database queries** — N+1 queries or missing indexes on the backend\n- **Missing code splitting** — loading the entire app bundle instead of lazy-loading routes\n- **Large DOM size** — rendering thousands of elements (e.g., long lists without virtualization)\n\nThis impacts user experience and may indicate backend latency or heavy frontend rendering.${notify}`,
|
|
131
131
|
tags,
|
|
132
132
|
options: {
|
|
133
133
|
thresholds: { critical: 5000000000, warning: 3000000000 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitors.js","sourceRoot":"","sources":["../../../src/resources/templates/monitors.ts"],"names":[],"mappings":";;AAwDA,sDA0GC;AAhKD;;;GAGG;AAEH,SAAS,uBAAuB,CAAC,QAA+B;IAC9D,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,OAAO;gBACV,OAAO,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACzB,KAAK,OAAO;gBACV,OAAO,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/B,KAAK,WAAW;gBACd,OAAO,cAAc,EAAE,CAAC,MAAM,EAAE,CAAC;YACnC,KAAK,UAAU;gBACb,OAAO,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,SAAS;gBACZ,OAAO,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;YACjC;gBACE,OAAO,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAWD,MAAM,WAAW,GAA2B;IAC1C,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,aAAa;IAClB,OAAO,EAAE,aAAa;IACtB,GAAG,EAAE,SAAS;IACd,EAAE,EAAE,SAAS;IACb,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,gBAAgB;CACzB,CAAC;AAEF,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AACrC,CAAC;AAED,SAAgB,qBAAqB,CACnC,OAAe,EACf,GAAW,EACX,WAAkC,EAAE,EACpC,IAAa;IAEb,MAAM,IAAI,GAAG;QACX,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE;QAC3B,kBAAkB;QAClB,kCAAkC;QAClC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7F,OAAO;QACL,0BAA0B;QAC1B;YACE,IAAI,EAAE,GAAG,OAAO,KAAK,GAAG,8BAA8B;YACtD,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,gBAAgB,OAAO,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"monitors.js","sourceRoot":"","sources":["../../../src/resources/templates/monitors.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "datadog-frontend-toolkit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.51",
|
|
4
4
|
"description": "Enterprise-grade, framework-agnostic frontend observability toolkit for Datadog. Auto-instruments RUM, Logs, Error Tracking, Performance Monitoring, and provisions Dashboards, Monitors & SLOs.",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|