Skip to content

Commit 3b702e8

Browse files
committed
js metrics onboarding
1 parent 3262877 commit 3b702e8

File tree

20 files changed

+425
-4
lines changed

20 files changed

+425
-4
lines changed

static/app/components/onboarding/productSelection.tsx

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,111 +116,141 @@ export const platformProductAvailability = {
116116
ProductSolution.PERFORMANCE_MONITORING,
117117
ProductSolution.SESSION_REPLAY,
118118
ProductSolution.LOGS,
119+
ProductSolution.METRICS,
119120
],
120121
'javascript-react-router': [
121122
ProductSolution.PERFORMANCE_MONITORING,
122123
ProductSolution.SESSION_REPLAY,
123124
ProductSolution.LOGS,
125+
ProductSolution.METRICS,
124126
],
125127
'javascript-vue': [
126128
ProductSolution.PERFORMANCE_MONITORING,
127129
ProductSolution.SESSION_REPLAY,
128130
ProductSolution.LOGS,
131+
ProductSolution.METRICS,
129132
],
130133
'javascript-angular': [
131134
ProductSolution.PERFORMANCE_MONITORING,
132135
ProductSolution.SESSION_REPLAY,
133136
ProductSolution.LOGS,
137+
ProductSolution.METRICS,
134138
],
135139
'javascript-ember': [
136140
ProductSolution.PERFORMANCE_MONITORING,
137141
ProductSolution.SESSION_REPLAY,
138142
ProductSolution.LOGS,
143+
ProductSolution.METRICS,
139144
],
140145
'javascript-gatsby': [
141146
ProductSolution.PERFORMANCE_MONITORING,
142147
ProductSolution.SESSION_REPLAY,
143148
ProductSolution.LOGS,
149+
ProductSolution.METRICS,
144150
],
145151
'javascript-solid': [
146152
ProductSolution.PERFORMANCE_MONITORING,
147153
ProductSolution.SESSION_REPLAY,
148154
ProductSolution.LOGS,
155+
ProductSolution.METRICS,
149156
],
150157
'javascript-solidstart': [
151158
ProductSolution.PERFORMANCE_MONITORING,
152159
ProductSolution.SESSION_REPLAY,
160+
ProductSolution.METRICS,
153161
],
154162
'javascript-svelte': [
155163
ProductSolution.PERFORMANCE_MONITORING,
156164
ProductSolution.SESSION_REPLAY,
157165
ProductSolution.LOGS,
166+
ProductSolution.METRICS,
158167
],
159168
'javascript-tanstackstart-react': [
160169
ProductSolution.PERFORMANCE_MONITORING,
161170
ProductSolution.SESSION_REPLAY,
171+
ProductSolution.METRICS,
162172
],
163173
'javascript-astro': [
164174
ProductSolution.PERFORMANCE_MONITORING,
165175
ProductSolution.SESSION_REPLAY,
166176
ProductSolution.LOGS,
177+
ProductSolution.METRICS,
167178
],
168179
node: [
169180
ProductSolution.PERFORMANCE_MONITORING,
170181
ProductSolution.PROFILING,
171182
ProductSolution.LOGS,
183+
ProductSolution.METRICS,
172184
],
173185
'node-azurefunctions': [
174186
ProductSolution.PERFORMANCE_MONITORING,
175187
ProductSolution.PROFILING,
176188
ProductSolution.LOGS,
189+
ProductSolution.METRICS,
190+
],
191+
'node-awslambda': [
192+
ProductSolution.PERFORMANCE_MONITORING,
193+
ProductSolution.PROFILING,
194+
ProductSolution.METRICS,
177195
],
178-
'node-awslambda': [ProductSolution.PERFORMANCE_MONITORING, ProductSolution.PROFILING],
179196
'node-connect': [
180197
ProductSolution.PERFORMANCE_MONITORING,
181198
ProductSolution.PROFILING,
182199
ProductSolution.LOGS,
200+
ProductSolution.METRICS,
183201
],
184202
'node-express': [
185203
ProductSolution.PERFORMANCE_MONITORING,
186204
ProductSolution.PROFILING,
187205
ProductSolution.LOGS,
206+
ProductSolution.METRICS,
188207
],
189208
'node-fastify': [
190209
ProductSolution.PERFORMANCE_MONITORING,
191210
ProductSolution.PROFILING,
192211
ProductSolution.LOGS,
212+
ProductSolution.METRICS,
193213
],
194214
'node-gcpfunctions': [
195215
ProductSolution.PERFORMANCE_MONITORING,
196216
ProductSolution.PROFILING,
197217
ProductSolution.LOGS,
218+
ProductSolution.METRICS,
198219
],
199220
'node-hapi': [
200221
ProductSolution.PERFORMANCE_MONITORING,
201222
ProductSolution.PROFILING,
202223
ProductSolution.LOGS,
224+
ProductSolution.METRICS,
203225
],
204226
'node-hono': [
205227
ProductSolution.PERFORMANCE_MONITORING,
206228
ProductSolution.PROFILING,
207229
ProductSolution.LOGS,
230+
ProductSolution.METRICS,
208231
],
209232
'node-koa': [
210233
ProductSolution.PERFORMANCE_MONITORING,
211234
ProductSolution.PROFILING,
212235
ProductSolution.LOGS,
236+
ProductSolution.METRICS,
213237
],
214238
'node-nestjs': [
215239
ProductSolution.PERFORMANCE_MONITORING,
216240
ProductSolution.PROFILING,
217241
ProductSolution.LOGS,
242+
ProductSolution.METRICS,
218243
],
219244
'node-cloudflare-workers': [
220245
ProductSolution.PERFORMANCE_MONITORING,
221246
ProductSolution.LOGS,
247+
ProductSolution.METRICS,
248+
],
249+
'node-cloudflare-pages': [
250+
ProductSolution.PERFORMANCE_MONITORING,
251+
ProductSolution.LOGS,
252+
ProductSolution.METRICS,
222253
],
223-
'node-cloudflare-pages': [ProductSolution.PERFORMANCE_MONITORING, ProductSolution.LOGS],
224254
php: [
225255
ProductSolution.PERFORMANCE_MONITORING,
226256
ProductSolution.PROFILING,
@@ -531,6 +561,18 @@ export function ProductSelection({
531561
checked={urlProducts.includes(ProductSolution.LOGS)}
532562
/>
533563
)}
564+
{products.includes(ProductSolution.METRICS) && (
565+
<Product
566+
label={t('Metrics')}
567+
description={t(
568+
'Custom metrics for tracking application performance and usage, automatically trace-connected.'
569+
)}
570+
docLink="https://docs.sentry.io/product/explore/metrics/"
571+
onClick={() => handleClickProduct(ProductSolution.METRICS)}
572+
disabled={disabledProducts[ProductSolution.METRICS]}
573+
checked={urlProducts.includes(ProductSolution.METRICS)}
574+
/>
575+
)}
534576
{products.includes(ProductSolution.SESSION_REPLAY) && (
535577
<Product
536578
label={t('Session Replay')}

static/app/data/platformCategories.tsx

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,37 @@ export const withoutLoggingSupport: Set<PlatformKey> = new Set([
391391
]);
392392

393393
// List of platforms that have metrics onboarding checklist content
394-
export const withMetricsOnboarding: Set<PlatformKey> = new Set([]);
394+
export const withMetricsOnboarding: Set<PlatformKey> = new Set([
395+
'javascript',
396+
'javascript-angular',
397+
'javascript-astro',
398+
'javascript-ember',
399+
'javascript-gatsby',
400+
'javascript-nextjs',
401+
'javascript-nuxt',
402+
'javascript-react',
403+
'javascript-react-router',
404+
'javascript-remix',
405+
'javascript-solid',
406+
'javascript-solidstart',
407+
'javascript-svelte',
408+
'javascript-sveltekit',
409+
'javascript-tanstackstart-react',
410+
'javascript-vue',
411+
'node',
412+
'node-awslambda',
413+
'node-azurefunctions',
414+
'node-cloudflare-pages',
415+
'node-cloudflare-workers',
416+
'node-connect',
417+
'node-express',
418+
'node-fastify',
419+
'node-gcpfunctions',
420+
'node-hapi',
421+
'node-hono',
422+
'node-koa',
423+
'node-nestjs',
424+
]);
395425

396426
// List of platforms that do not have metrics support. We make use of this list in the product to not provide any Metrics
397427
export const withoutMetricsSupport: Set<PlatformKey> = new Set([]);

static/app/gettingStartedDocs/javascript/angular.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import {featureFlag} from 'sentry/gettingStartedDocs/javascript/javascript/featu
2727
import {t, tct} from 'sentry/locale';
2828
import {
2929
getJavascriptLogsOnboarding,
30+
getJavascriptMetricsOnboarding,
3031
getJavascriptProfilingOnboarding,
3132
} from 'sentry/utils/gettingStartedDocs/javascript';
3233

@@ -560,6 +561,12 @@ const logsOnboarding: OnboardingConfig = getJavascriptLogsOnboarding({
560561
packageName: '@sentry/angular',
561562
});
562563

564+
const metricsOnboarding: OnboardingConfig = getJavascriptMetricsOnboarding({
565+
installSnippetBlock,
566+
docsPlatform: 'angular',
567+
packageName: '@sentry/angular',
568+
});
569+
563570
const docs: Docs<PlatformOptions> = {
564571
onboarding,
565572
feedbackOnboardingNpm: feedbackOnboarding,
@@ -569,6 +576,7 @@ const docs: Docs<PlatformOptions> = {
569576
profilingOnboarding,
570577
featureFlagOnboarding: featureFlag,
571578
logsOnboarding,
579+
metricsOnboarding,
572580
};
573581

574582
export default docs;

static/app/gettingStartedDocs/javascript/astro.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import {t, tct} from 'sentry/locale';
2727
import {
2828
getJavascriptFullStackOnboarding,
2929
getJavascriptLogsFullStackOnboarding,
30+
getJavascriptMetricsFullStackOnboarding,
3031
} from 'sentry/utils/gettingStartedDocs/javascript';
3132
import {getNodeAgentMonitoringOnboarding} from 'sentry/utils/gettingStartedDocs/node';
3233

@@ -565,6 +566,10 @@ const docs: Docs = {
565566
docsPlatform: 'astro',
566567
packageName: '@sentry/astro',
567568
}),
569+
metricsOnboarding: getJavascriptMetricsFullStackOnboarding({
570+
docsPlatform: 'astro',
571+
packageName: '@sentry/astro',
572+
}),
568573
profilingOnboarding,
569574
agentMonitoringOnboarding: getNodeAgentMonitoringOnboarding({
570575
packageName: '@sentry/astro',

static/app/gettingStartedDocs/javascript/ember.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import {featureFlag} from 'sentry/gettingStartedDocs/javascript/javascript/featu
2626
import {t, tct} from 'sentry/locale';
2727
import {
2828
getJavascriptLogsOnboarding,
29+
getJavascriptMetricsOnboarding,
2930
getJavascriptProfilingOnboarding,
3031
} from 'sentry/utils/gettingStartedDocs/javascript';
3132

@@ -387,6 +388,12 @@ const logsOnboarding: OnboardingConfig = getJavascriptLogsOnboarding({
387388
packageName: '@sentry/ember',
388389
});
389390

391+
const metricsOnboarding: OnboardingConfig = getJavascriptMetricsOnboarding({
392+
installSnippetBlock,
393+
docsPlatform: 'ember',
394+
packageName: '@sentry/ember',
395+
});
396+
390397
const docs: Docs = {
391398
onboarding,
392399
feedbackOnboardingNpm: feedbackOnboarding,
@@ -395,6 +402,7 @@ const docs: Docs = {
395402
profilingOnboarding,
396403
featureFlagOnboarding: featureFlag,
397404
logsOnboarding,
405+
metricsOnboarding,
398406
};
399407

400408
export default docs;

static/app/gettingStartedDocs/javascript/gatsby.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import {featureFlag} from 'sentry/gettingStartedDocs/javascript/javascript/featu
2727
import {t, tct} from 'sentry/locale';
2828
import {
2929
getJavascriptLogsOnboarding,
30+
getJavascriptMetricsOnboarding,
3031
getJavascriptProfilingOnboarding,
3132
} from 'sentry/utils/gettingStartedDocs/javascript';
3233

@@ -402,6 +403,12 @@ const logsOnboarding: OnboardingConfig = getJavascriptLogsOnboarding({
402403
packageName: '@sentry/gatsby',
403404
});
404405

406+
const metricsOnboarding: OnboardingConfig = getJavascriptMetricsOnboarding({
407+
installSnippetBlock,
408+
docsPlatform: 'gatsby',
409+
packageName: '@sentry/gatsby',
410+
});
411+
405412
const docs: Docs = {
406413
onboarding,
407414
feedbackOnboardingNpm: feedbackOnboarding,
@@ -410,6 +417,7 @@ const docs: Docs = {
410417
profilingOnboarding,
411418
featureFlagOnboarding: featureFlag,
412419
logsOnboarding,
420+
metricsOnboarding,
413421
};
414422

415423
export default docs;

static/app/gettingStartedDocs/javascript/javascript/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {crashReport} from './crashReport';
88
import {featureFlag} from './featureFlag';
99
import {feedback} from './feedback';
1010
import {logs} from './logs';
11+
import {metrics} from './metrics';
1112
import {onboarding} from './onboarding';
1213
import {performance} from './performance';
1314
import {profiling} from './profiling';
@@ -26,6 +27,7 @@ const docs: Docs<PlatformOptions> = {
2627
profilingOnboarding: profiling,
2728
featureFlagOnboarding: featureFlag,
2829
logsOnboarding: logs,
30+
metricsOnboarding: metrics,
2931
};
3032

3133
export default docs;
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import {getJavascriptMetricsOnboarding} from 'sentry/utils/gettingStartedDocs/javascript';
2+
3+
import {installSnippetBlock} from './utils';
4+
5+
export const metrics = getJavascriptMetricsOnboarding({
6+
installSnippetBlock,
7+
docsPlatform: 'javascript',
8+
packageName: '@sentry/browser',
9+
});

static/app/gettingStartedDocs/javascript/nextjs.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import {t, tct} from 'sentry/locale';
2727
import {
2828
getJavascriptFullStackOnboarding,
2929
getJavascriptLogsFullStackOnboarding,
30+
getJavascriptMetricsFullStackOnboarding,
3031
} from 'sentry/utils/gettingStartedDocs/javascript';
3132
import {getNodeAgentMonitoringOnboarding} from 'sentry/utils/gettingStartedDocs/node';
3233

@@ -614,6 +615,10 @@ const docs: Docs = {
614615
docsPlatform: 'nextjs',
615616
packageName: '@sentry/nextjs',
616617
}),
618+
metricsOnboarding: getJavascriptMetricsFullStackOnboarding({
619+
docsPlatform: 'nextjs',
620+
packageName: '@sentry/nextjs',
621+
}),
617622
agentMonitoringOnboarding: getNodeAgentMonitoringOnboarding({
618623
packageName: '@sentry/nextjs',
619624
configFileName: 'sentry.server.config.ts',

static/app/gettingStartedDocs/javascript/nuxt.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import {featureFlag} from 'sentry/gettingStartedDocs/javascript/javascript/featu
2626
import {t, tct, tctCode} from 'sentry/locale';
2727
import {
2828
getJavascriptLogsFullStackOnboarding,
29+
getJavascriptMetricsFullStackOnboarding,
2930
getJavascriptProfilingOnboarding,
3031
} from 'sentry/utils/gettingStartedDocs/javascript';
3132
import {getNodeAgentMonitoringOnboarding} from 'sentry/utils/gettingStartedDocs/node';
@@ -292,6 +293,10 @@ const docs: Docs = {
292293
docsPlatform: 'nuxt',
293294
packageName: '@sentry/nuxt',
294295
}),
296+
metricsOnboarding: getJavascriptMetricsFullStackOnboarding({
297+
docsPlatform: 'nuxt',
298+
packageName: '@sentry/nuxt',
299+
}),
295300
agentMonitoringOnboarding: getNodeAgentMonitoringOnboarding({
296301
packageName: '@sentry/nuxt',
297302
configFileName: 'sentry.server.config.ts',

0 commit comments

Comments
 (0)