Skip to content

Commit caba96e

Browse files
JonasBamitsuhiko
andauthored
ref(types): deprecate severity enum (#4280)
* fix(types): use SeverityLevel * fix(types): remove other references to the enum * fix(types): disable deprecation warning * fix(types): move fromString to utils * packages(types): fix exports * fix(rebase): fix conflicts * ref(types): deprecate status enum (#4298) * ref(types): deprecate enum and export type * ref(types): fix fromHttpCode usage to statusFromHttpCode * ref(types): remove enum usage * fix(types): fix mistake on span * fix: fmt * ref(types): do not export the status enum * ref(types): fix all imports * ref(utils): consistent naming * ref(types): deprecate span status enum (#4299) * ref(span): deprecate span status enum * ts(span): widen type * ref(span): avoid reexporting the enum * ref(types): fix all imports * fix(test): remove extra space * fix(test): import extension methods * ref(types): deprecate transactionmethod enum (#4314) * ref(types): deprecate transactionmethod enum * fix(types): drop transactionsamplingmethod * ref(types): deprecate outcome enum (#4315) * ref(types): deprecate outcome enum * fix(types): drop transportoutcome * ref(types): deprecate request status enum (#4316) * ref(types): deprecate request status * ref(types): deprecate session status * ref(types): remove unused logLevel (#4317) (#4320) Co-authored-by: Armin Ronacher <[email protected]> Co-authored-by: Armin Ronacher <[email protected]>
1 parent b8dc945 commit caba96e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+526
-514
lines changed

Diff for: packages/browser/src/backend.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { BaseBackend } from '@sentry/core';
2-
import { Event, EventHint, Options, Severity, Transport } from '@sentry/types';
2+
import { Event, EventHint, Options, SeverityLevel, Transport } from '@sentry/types';
33
import { supportsFetch } from '@sentry/utils';
44

55
import { eventFromException, eventFromMessage } from './eventbuilder';
@@ -45,7 +45,7 @@ export class BrowserBackend extends BaseBackend<BrowserOptions> {
4545
/**
4646
* @inheritDoc
4747
*/
48-
public eventFromMessage(message: string, level: Severity = Severity.Info, hint?: EventHint): PromiseLike<Event> {
48+
public eventFromMessage(message: string, level: SeverityLevel = 'info', hint?: EventHint): PromiseLike<Event> {
4949
return eventFromMessage(this._options, message, level, hint);
5050
}
5151

Diff for: packages/browser/src/eventbuilder.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Event, EventHint, Options, Severity } from '@sentry/types';
1+
import { Event, EventHint, Options, SeverityLevel } from '@sentry/types';
22
import {
33
addExceptionMechanism,
44
addExceptionTypeValue,
@@ -24,7 +24,7 @@ export function eventFromException(options: Options, exception: unknown, hint?:
2424
attachStacktrace: options.attachStacktrace,
2525
});
2626
addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }
27-
event.level = Severity.Error;
27+
event.level = 'error';
2828
if (hint && hint.event_id) {
2929
event.event_id = hint.event_id;
3030
}
@@ -38,7 +38,7 @@ export function eventFromException(options: Options, exception: unknown, hint?:
3838
export function eventFromMessage(
3939
options: Options,
4040
message: string,
41-
level: Severity = Severity.Info,
41+
level: SeverityLevel = 'info',
4242
hint?: EventHint,
4343
): PromiseLike<Event> {
4444
const syntheticException = (hint && hint.syntheticException) || undefined;

Diff for: packages/browser/src/exports.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ export {
55
SdkInfo,
66
Event,
77
EventHint,
8+
EventStatus,
89
Exception,
910
Response,
10-
Severity,
11+
SeverityLevel,
1112
StackFrame,
1213
Stacktrace,
13-
Status,
1414
Thread,
1515
User,
1616
} from '@sentry/types';

Diff for: packages/browser/src/integrations/breadcrumbs.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
22
/* eslint-disable max-lines */
33
import { getCurrentHub } from '@sentry/core';
4-
import { Event, Integration, Severity } from '@sentry/types';
4+
import { Event, Integration } from '@sentry/types';
55
import {
66
addInstrumentationHandler,
77
getEventDescription,
88
getGlobalObject,
99
htmlTreeAsString,
1010
parseUrl,
1111
safeJoin,
12+
severityFromString,
1213
} from '@sentry/utils';
1314

1415
/** JSDoc */
@@ -171,7 +172,7 @@ function _consoleBreadcrumb(handlerData: { [key: string]: any }): void {
171172
arguments: handlerData.args,
172173
logger: 'console',
173174
},
174-
level: Severity.fromString(handlerData.level),
175+
level: severityFromString(handlerData.level),
175176
message: safeJoin(handlerData.args, ' '),
176177
};
177178

@@ -244,7 +245,7 @@ function _fetchBreadcrumb(handlerData: { [key: string]: any }): void {
244245
{
245246
category: 'fetch',
246247
data: handlerData.fetchData,
247-
level: Severity.Error,
248+
level: 'error',
248249
type: 'http',
249250
},
250251
{

Diff for: packages/browser/src/integrations/globalhandlers.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
22
import { getCurrentHub } from '@sentry/core';
3-
import { Event, EventHint, Hub, Integration, Primitive, Severity } from '@sentry/types';
3+
import { Event, EventHint, Hub, Integration, Primitive } from '@sentry/types';
44
import {
55
addExceptionMechanism,
66
addInstrumentationHandler,
@@ -146,7 +146,7 @@ function _installGlobalOnUnhandledRejectionHandler(): void {
146146
rejection: true,
147147
});
148148

149-
event.level = Severity.Error;
149+
event.level = 'error';
150150

151151
addMechanismAndCapture(hub, error, event, 'onunhandledrejection');
152152
return;

Diff for: packages/browser/src/transports/base.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ import {
99
Outcome,
1010
Response as SentryResponse,
1111
SentryRequestType,
12-
Status,
1312
Transport,
1413
TransportOptions,
1514
} from '@sentry/types';
1615
import {
1716
dateTimestampInSeconds,
17+
eventStatusFromHttpCode,
1818
getGlobalObject,
1919
logger,
2020
parseRetryAfterHeader,
@@ -155,7 +155,7 @@ export abstract class BaseTransport implements Transport {
155155
resolve: (value?: SentryResponse | PromiseLike<SentryResponse> | null | undefined) => void;
156156
reject: (reason?: unknown) => void;
157157
}): void {
158-
const status = Status.fromHttpCode(response.status);
158+
const status = eventStatusFromHttpCode(response.status);
159159
/**
160160
* "The name is case-insensitive."
161161
* https://developer.mozilla.org/en-US/docs/Web/API/Headers/get
@@ -164,7 +164,7 @@ export abstract class BaseTransport implements Transport {
164164
if (limited)
165165
logger.warn(`Too many ${requestType} requests, backing off until: ${this._disabledUntil(requestType)}`);
166166

167-
if (status === Status.Success) {
167+
if (status === 'success') {
168168
resolve({ status });
169169
return;
170170
}

Diff for: packages/browser/src/transports/fetch.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { eventToSentryRequest, sessionToSentryRequest } from '@sentry/core';
2-
import { Event, Outcome, Response, SentryRequest, Session, TransportOptions } from '@sentry/types';
2+
import { Event, Response, SentryRequest, Session, TransportOptions } from '@sentry/types';
33
import { SentryError, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';
44

55
import { BaseTransport } from './base';
@@ -37,7 +37,7 @@ export class FetchTransport extends BaseTransport {
3737
*/
3838
private _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike<Response> {
3939
if (this._isRateLimited(sentryRequest.type)) {
40-
this.recordLostEvent(Outcome.RateLimitBackoff, sentryRequest.type);
40+
this.recordLostEvent('ratelimit_backoff', sentryRequest.type);
4141

4242
return Promise.reject({
4343
event: originalPayload,
@@ -89,9 +89,9 @@ export class FetchTransport extends BaseTransport {
8989
.then(undefined, reason => {
9090
// It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.
9191
if (reason instanceof SentryError) {
92-
this.recordLostEvent(Outcome.QueueOverflow, sentryRequest.type);
92+
this.recordLostEvent('queue_overflow', sentryRequest.type);
9393
} else {
94-
this.recordLostEvent(Outcome.NetworkError, sentryRequest.type);
94+
this.recordLostEvent('network_error', sentryRequest.type);
9595
}
9696
throw reason;
9797
});

Diff for: packages/browser/src/transports/xhr.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { eventToSentryRequest, sessionToSentryRequest } from '@sentry/core';
2-
import { Event, Outcome, Response, SentryRequest, Session } from '@sentry/types';
2+
import { Event, Response, SentryRequest, Session } from '@sentry/types';
33
import { SentryError, SyncPromise } from '@sentry/utils';
44

55
import { BaseTransport } from './base';
@@ -26,7 +26,7 @@ export class XHRTransport extends BaseTransport {
2626
*/
2727
private _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike<Response> {
2828
if (this._isRateLimited(sentryRequest.type)) {
29-
this.recordLostEvent(Outcome.RateLimitBackoff, sentryRequest.type);
29+
this.recordLostEvent('ratelimit_backoff', sentryRequest.type);
3030

3131
return Promise.reject({
3232
event: originalPayload,
@@ -66,9 +66,9 @@ export class XHRTransport extends BaseTransport {
6666
.then(undefined, reason => {
6767
// It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.
6868
if (reason instanceof SentryError) {
69-
this.recordLostEvent(Outcome.QueueOverflow, sentryRequest.type);
69+
this.recordLostEvent('queue_overflow', sentryRequest.type);
7070
} else {
71-
this.recordLostEvent(Outcome.NetworkError, sentryRequest.type);
71+
this.recordLostEvent('network_error', sentryRequest.type);
7272
}
7373
throw reason;
7474
});

Diff for: packages/browser/test/unit/mocks/simpletransport.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { SyncPromise } from '@sentry/utils';
1+
import { eventStatusFromHttpCode, SyncPromise } from '@sentry/utils';
22

3-
import { Event, Response, Status } from '../../../src';
3+
import { Event, Response } from '../../../src';
44
import { BaseTransport } from '../../../src/transports';
55

66
export class SimpleTransport extends BaseTransport {
77
public sendEvent(_: Event): PromiseLike<Response> {
88
return this._buffer.add(() =>
99
SyncPromise.resolve({
10-
status: Status.fromHttpCode(200),
10+
status: eventStatusFromHttpCode(200),
1111
}),
1212
);
1313
}

Diff for: packages/browser/test/unit/transports/base.test.ts

+15-17
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import { Outcome } from '@sentry/types';
2-
31
import { BaseTransport } from '../../../src/transports/base';
42

53
const testDsn = 'https://[email protected]/42';
@@ -44,12 +42,12 @@ describe('BaseTransport', () => {
4442
it('sends beacon request when there are outcomes captured and visibility changed to `hidden`', () => {
4543
const transport = new SimpleTransport({ dsn: testDsn, sendClientReports: true });
4644

47-
transport.recordLostEvent(Outcome.BeforeSend, 'event');
45+
transport.recordLostEvent('before_send', 'event');
4846

4947
visibilityState = 'hidden';
5048
document.dispatchEvent(new Event('visibilitychange'));
5149

52-
const outcomes = [{ reason: Outcome.BeforeSend, category: 'error', quantity: 1 }];
50+
const outcomes = [{ reason: 'before_send', category: 'error', quantity: 1 }];
5351

5452
expect(sendBeaconSpy).toHaveBeenCalledWith(
5553
envelopeEndpoint,
@@ -59,7 +57,7 @@ describe('BaseTransport', () => {
5957

6058
it('doesnt send beacon request when there are outcomes captured, but visibility state did not change to `hidden`', () => {
6159
const transport = new SimpleTransport({ dsn: testDsn, sendClientReports: true });
62-
transport.recordLostEvent(Outcome.BeforeSend, 'event');
60+
transport.recordLostEvent('before_send', 'event');
6361

6462
visibilityState = 'visible';
6563
document.dispatchEvent(new Event('visibilitychange'));
@@ -70,21 +68,21 @@ describe('BaseTransport', () => {
7068
it('correctly serializes request with different categories/reasons pairs', () => {
7169
const transport = new SimpleTransport({ dsn: testDsn, sendClientReports: true });
7270

73-
transport.recordLostEvent(Outcome.BeforeSend, 'event');
74-
transport.recordLostEvent(Outcome.BeforeSend, 'event');
75-
transport.recordLostEvent(Outcome.SampleRate, 'transaction');
76-
transport.recordLostEvent(Outcome.NetworkError, 'session');
77-
transport.recordLostEvent(Outcome.NetworkError, 'session');
78-
transport.recordLostEvent(Outcome.RateLimitBackoff, 'event');
71+
transport.recordLostEvent('before_send', 'event');
72+
transport.recordLostEvent('before_send', 'event');
73+
transport.recordLostEvent('sample_rate', 'transaction');
74+
transport.recordLostEvent('network_error', 'session');
75+
transport.recordLostEvent('network_error', 'session');
76+
transport.recordLostEvent('ratelimit_backoff', 'event');
7977

8078
visibilityState = 'hidden';
8179
document.dispatchEvent(new Event('visibilitychange'));
8280

8381
const outcomes = [
84-
{ reason: Outcome.BeforeSend, category: 'error', quantity: 2 },
85-
{ reason: Outcome.SampleRate, category: 'transaction', quantity: 1 },
86-
{ reason: Outcome.NetworkError, category: 'session', quantity: 2 },
87-
{ reason: Outcome.RateLimitBackoff, category: 'error', quantity: 1 },
82+
{ reason: 'before_send', category: 'error', quantity: 2 },
83+
{ reason: 'sample_rate', category: 'transaction', quantity: 1 },
84+
{ reason: 'network_error', category: 'session', quantity: 2 },
85+
{ reason: 'ratelimit_backoff', category: 'error', quantity: 1 },
8886
];
8987

9088
expect(sendBeaconSpy).toHaveBeenCalledWith(
@@ -97,12 +95,12 @@ describe('BaseTransport', () => {
9795
const tunnel = 'https://hello.com/world';
9896
const transport = new SimpleTransport({ dsn: testDsn, sendClientReports: true, tunnel });
9997

100-
transport.recordLostEvent(Outcome.BeforeSend, 'event');
98+
transport.recordLostEvent('before_send', 'event');
10199

102100
visibilityState = 'hidden';
103101
document.dispatchEvent(new Event('visibilitychange'));
104102

105-
const outcomes = [{ reason: Outcome.BeforeSend, category: 'error', quantity: 1 }];
103+
const outcomes = [{ reason: 'before_send', category: 'error', quantity: 1 }];
106104

107105
expect(sendBeaconSpy).toHaveBeenCalledWith(
108106
tunnel,

0 commit comments

Comments
 (0)