Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sdk-core, browser, node: add BacktraceApi #335

Merged
merged 10 commits into from
Feb 7, 2025
Prev Previous commit
Next Next commit
sdk-core, node, browser: MR updates
perf2711 committed Feb 7, 2025
commit 67de531ac1193a7f933adea5d4b132ea263fdd8c
3 changes: 2 additions & 1 deletion packages/browser/src/BacktraceApi.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { BacktraceCoreApi, BacktraceCoreApiOptions } from '@backtrace/sdk-core';
import { BacktraceCoreApi, BacktraceCoreApiOptions, BacktraceRequestHandler } from '@backtrace/sdk-core';
import {
BacktraceBrowserRequestHandler,
BacktraceBrowserRequestHandlerOptions,
} from './BacktraceBrowserRequestHandler.js';

export interface BacktraceApiOptions extends BacktraceCoreApiOptions {
readonly requestHandlerOptions?: BacktraceBrowserRequestHandlerOptions;
readonly requestHandler?: BacktraceRequestHandler;
}

export class BacktraceApi extends BacktraceCoreApi {
3 changes: 2 additions & 1 deletion packages/node/src/BacktraceApi.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { BacktraceCoreApi, BacktraceCoreApiOptions } from '@backtrace/sdk-core';
import { BacktraceCoreApi, BacktraceCoreApiOptions, BacktraceRequestHandler } from '@backtrace/sdk-core';
import { BacktraceNodeRequestHandler, BacktraceNodeRequestHandlerOptions } from './BacktraceNodeRequestHandler.js';

export interface BacktraceApiOptions extends BacktraceCoreApiOptions {
readonly requestHandlerOptions?: BacktraceNodeRequestHandlerOptions;
readonly requestHandler?: BacktraceRequestHandler;
}

export class BacktraceApi extends BacktraceCoreApi {
9 changes: 4 additions & 5 deletions packages/sdk-core/src/BacktraceCoreApi.ts
Original file line number Diff line number Diff line change
@@ -21,18 +21,19 @@ export interface BacktraceCoreApiOptions {
readonly url?: string;
};

readonly requestHandler?: BacktraceRequestHandler;
readonly requestBacktraceReportSubmission?: RequestBacktraceReportSubmission;
}

export class BacktraceCoreApi {
private readonly _summedMetricsSubmissionUrl?: string;
private readonly _uniqueMetricsSubmissionUrl?: string;

private readonly _requestHandler: BacktraceRequestHandler;
private readonly _requestBacktraceReportSubmission: RequestBacktraceReportSubmission;

constructor(options: BacktraceCoreApiOptions, requestHandler: BacktraceRequestHandler) {
constructor(
options: BacktraceCoreApiOptions,
private readonly _requestHandler: BacktraceRequestHandler,
) {
this._summedMetricsSubmissionUrl = MetricsUrlInformation.generateSummedEventsUrl(
options.metrics?.url ?? 'https://events.backtrace.io',
options.url,
@@ -45,8 +46,6 @@ export class BacktraceCoreApi {
options.token,
);

this._requestHandler = options.requestHandler ?? requestHandler;

this._requestBacktraceReportSubmission =
options.requestBacktraceReportSubmission ??
new RequestBacktraceReportSubmission(
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export interface DataBacktraceSubmitMemory {
export interface BacktraceDataSubmitMemory {
/**
* An integer offset that this slice of memory starts at. The 64 bit integers are represented as strings.
*/
@@ -24,7 +24,7 @@ export interface DataBacktraceSubmitMemory {
};
}

export interface SizedBacktraceSubmitMemory {
export interface BacktraceSizedSubmitMemory {
/**
* An integer offset that this slice of memory starts at. The 64 bit integers are represented as strings.
*/
@@ -45,4 +45,4 @@ export interface SizedBacktraceSubmitMemory {
};
}

export type BacktraceSubmitMemory = DataBacktraceSubmitMemory | SizedBacktraceSubmitMemory;
export type BacktraceSubmitMemory = BacktraceDataSubmitMemory | BacktraceSizedSubmitMemory;