Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@sentry/serverless

Package Overview
Dependencies
Maintainers
11
Versions
306
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sentry/serverless - npm Package Compare versions

Comparing version 7.98.0 to 7.99.0

6

cjs/awslambda.js

@@ -27,3 +27,3 @@ var {

...node.defaultIntegrations,
new awsservices.AWSServices({ optional: true }),
awsservices.awsServicesIntegration({ optional: true }),
];

@@ -33,3 +33,3 @@

function getDefaultIntegrations(options) {
return [...node.getDefaultIntegrations(options), new awsservices.AWSServices({ optional: true })];
return [...node.getDefaultIntegrations(options), awsservices.awsServicesIntegration({ optional: true })];
}

@@ -304,6 +304,6 @@

op: 'function.aws.lambda',
origin: 'auto.function.serverless',
...continueTraceContext,
attributes: {
[core.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component',
[core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.serverless',
},

@@ -310,0 +310,0 @@ },

Object.defineProperty(exports, '__esModule', { value: true });
const core = require('@sentry/core');
const node = require('@sentry/node');
const utils = require('@sentry/utils');
/** AWS service requests tracking */
class AWSServices {
/**
* @inheritDoc
*/
static __initStatic() {this.id = 'AWSServices';}
const INTEGRATION_NAME = 'AWSServices';
/**
* @inheritDoc
*/
const SETUP_CLIENTS = new WeakMap();
constructor(options = {}) {
this.name = AWSServices.id;
const _awsServicesIntegration = ((options = {}) => {
const optional = options.optional || false;
return {
name: INTEGRATION_NAME,
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const awsModule = require('aws-sdk/global') ;
utils.fill(awsModule.Service.prototype, 'makeRequest', wrapMakeRequest);
} catch (e) {
if (!optional) {
throw e;
}
}
},
setup(client) {
SETUP_CLIENTS.set(client, true);
},
};
}) ;
this._optional = options.optional || false;
}
const awsServicesIntegration = core.defineIntegration(_awsServicesIntegration);
/**
* @inheritDoc
*/
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const awsModule = require('aws-sdk/global') ;
utils.fill(awsModule.Service.prototype, 'makeRequest', wrapMakeRequest);
} catch (e) {
if (!this._optional) {
throw e;
}
}
}
} AWSServices.__initStatic();
/**
* AWS Service Request Tracking.
*
* @deprecated Use `awsServicesIntegration()` instead.
*/
// eslint-disable-next-line deprecation/deprecation
const AWSServices = core.convertIntegrationFnToClass(
INTEGRATION_NAME,
awsServicesIntegration,
) ;
/** */
// eslint-disable-next-line deprecation/deprecation
/**
* Patches AWS SDK request to create `http.client` spans.
*/
function wrapMakeRequest(

@@ -46,14 +56,20 @@ orig,

const req = orig.call(this, operation, params);
req.on('afterBuild', () => {
span = node.startInactiveSpan({
name: describe(this, operation, params),
op: 'http.client',
origin: 'auto.http.serverless',
if (SETUP_CLIENTS.has(node.getClient() )) {
req.on('afterBuild', () => {
span = node.startInactiveSpan({
name: describe(this, operation, params),
onlyIfParent: true,
op: 'http.client',
attributes: {
[core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.serverless',
},
});
});
});
req.on('complete', () => {
if (span) {
span.end();
}
});
req.on('complete', () => {
if (span) {
span.end();
}
});
}

@@ -103,2 +119,3 @@ if (callback) {

exports.AWSServices = AWSServices;
exports.awsServicesIntegration = awsServicesIntegration;
//# sourceMappingURL=awsservices.js.map

@@ -40,4 +40,6 @@ var {

op: 'function.gcp.cloud_event',
origin: 'auto.function.serverless.gcp_cloud_event',
attributes: { [core.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component' },
attributes: {
[core.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component',
[core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.serverless.gcp_cloud_event',
},
},

@@ -44,0 +46,0 @@ span => {

@@ -43,4 +43,6 @@ var {

op: 'function.gcp.event',
origin: 'auto.function.serverless.gcp_event',
attributes: { [core.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component' },
attributes: {
[core.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component',
[core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.serverless.gcp_event',
},
},

@@ -47,0 +49,0 @@ span => {

@@ -66,5 +66,5 @@ var {

op: 'function.gcp.http',
origin: 'auto.function.serverless.gcp_http',
attributes: {
[core.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'route',
[core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.serverless.gcp_http',
},

@@ -90,4 +90,6 @@ },

res.end = function (chunk, encoding, cb) {
_optionalChain([span, 'optionalAccess', _3 => _3.setHttpStatus, 'call', _4 => _4(res.statusCode)]);
_optionalChain([span, 'optionalAccess', _5 => _5.end, 'call', _6 => _6()]);
if (span) {
core.setHttpStatus(span, res.statusCode);
span.end();
}

@@ -94,0 +96,0 @@ // eslint-disable-next-line @typescript-eslint/no-floating-promises

@@ -14,4 +14,4 @@ Object.defineProperty(exports, '__esModule', { value: true });

...node.defaultIntegrations,
new googleCloudHttp.GoogleCloudHttp({ optional: true }), // We mark this integration optional since '@google-cloud/common' module could be missing.
new googleCloudGrpc.GoogleCloudGrpc({ optional: true }), // We mark this integration optional since 'google-gax' module could be missing.
googleCloudHttp.googleCloudHttpIntegration({ optional: true }), // We mark this integration optional since '@google-cloud/common' module could be missing.
googleCloudGrpc.googleCloudGrpcIntegration({ optional: true }), // We mark this integration optional since 'google-gax' module could be missing.
];

@@ -23,4 +23,4 @@

...node.getDefaultIntegrations(options),
new googleCloudHttp.GoogleCloudHttp({ optional: true }), // We mark this integration optional since '@google-cloud/common' module could be missing.
new googleCloudGrpc.GoogleCloudGrpc({ optional: true }), // We mark this integration optional since 'google-gax' module could be missing.
googleCloudHttp.googleCloudHttpIntegration({ optional: true }), // We mark this integration optional since '@google-cloud/common' module could be missing.
googleCloudGrpc.googleCloudGrpcIntegration({ optional: true }), // We mark this integration optional since 'google-gax' module could be missing.
];

@@ -27,0 +27,0 @@ }

@@ -7,42 +7,52 @@ var {

const core = require('@sentry/core');
const node = require('@sentry/node');
const utils = require('@sentry/utils');
/** Google Cloud Platform service requests tracking for GRPC APIs */
class GoogleCloudGrpc {
/**
* @inheritDoc
*/
static __initStatic() {this.id = 'GoogleCloudGrpc';}
const SERVICE_PATH_REGEX = /^(\w+)\.googleapis.com$/;
/**
* @inheritDoc
*/
const INTEGRATION_NAME = 'GoogleCloudGrpc';
constructor(options = {}) {
this.name = GoogleCloudGrpc.id;
const SETUP_CLIENTS = new WeakMap();
this._optional = options.optional || false;
}
/**
* @inheritDoc
*/
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const gaxModule = require('google-gax');
utils.fill(
gaxModule.GrpcClient.prototype, // eslint-disable-line @typescript-eslint/no-unsafe-member-access
'createStub',
wrapCreateStub,
);
} catch (e) {
if (!this._optional) {
throw e;
const _googleCloudGrpcIntegration = ((options = {}) => {
const optional = options.optional || false;
return {
name: INTEGRATION_NAME,
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const gaxModule = require('google-gax');
utils.fill(
gaxModule.GrpcClient.prototype, // eslint-disable-line @typescript-eslint/no-unsafe-member-access
'createStub',
wrapCreateStub,
);
} catch (e) {
if (!optional) {
throw e;
}
}
}
}
}GoogleCloudGrpc.__initStatic();
},
setup(client) {
SETUP_CLIENTS.set(client, true);
},
};
}) ;
const googleCloudGrpcIntegration = core.defineIntegration(_googleCloudGrpcIntegration);
/**
* Google Cloud Platform service requests tracking for GRPC APIs.
*
* @deprecated Use `googleCloudGrpcIntegration()` instead.
*/
// eslint-disable-next-line deprecation/deprecation
core.convertIntegrationFnToClass(
INTEGRATION_NAME,
googleCloudGrpcIntegration,
) ;
// eslint-disable-next-line deprecation/deprecation
/** Returns a wrapped function that returns a stub with tracing enabled */

@@ -87,3 +97,3 @@ function wrapCreateStub(origCreate) {

const ret = orig.apply(stub, args);
if (typeof _optionalChain([ret, 'optionalAccess', _3 => _3.on]) !== 'function') {
if (typeof _optionalChain([ret, 'optionalAccess', _3 => _3.on]) !== 'function' || !SETUP_CLIENTS.has(core.getClient() )) {
return ret;

@@ -93,4 +103,7 @@ }

name: `${callType} ${methodName}`,
onlyIfParent: true,
op: `grpc.${serviceIdentifier}`,
origin: 'auto.grpc.serverless',
attributes: {
[core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.grpc.serverless',
},
});

@@ -109,7 +122,7 @@ ret.on('status', () => {

function identifyService(servicePath) {
const match = servicePath.match(/^(\w+)\.googleapis.com$/);
const match = servicePath.match(SERVICE_PATH_REGEX);
return match ? match[1] : servicePath;
}
exports.GoogleCloudGrpc = GoogleCloudGrpc;
exports.googleCloudGrpcIntegration = googleCloudGrpcIntegration;
//# sourceMappingURL=google-cloud-grpc.js.map
Object.defineProperty(exports, '__esModule', { value: true });
const core = require('@sentry/core');
const node = require('@sentry/node');
const utils = require('@sentry/utils');
/** Google Cloud Platform service requests tracking for RESTful APIs */
class GoogleCloudHttp {
/**
* @inheritDoc
*/
static __initStatic() {this.id = 'GoogleCloudHttp';}
const INTEGRATION_NAME = 'GoogleCloudHttp';
/**
* @inheritDoc
*/
const SETUP_CLIENTS = new WeakMap();
constructor(options = {}) {
this.name = GoogleCloudHttp.id;
const _googleCloudHttpIntegration = ((options = {}) => {
const optional = options.optional || false;
return {
name: INTEGRATION_NAME,
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const commonModule = require('@google-cloud/common') ;
utils.fill(commonModule.Service.prototype, 'request', wrapRequestFunction);
} catch (e) {
if (!optional) {
throw e;
}
}
},
setup(client) {
SETUP_CLIENTS.set(client, true);
},
};
}) ;
this._optional = options.optional || false;
}
const googleCloudHttpIntegration = core.defineIntegration(_googleCloudHttpIntegration);
/**
* @inheritDoc
*/
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const commonModule = require('@google-cloud/common') ;
utils.fill(commonModule.Service.prototype, 'request', wrapRequestFunction);
} catch (e) {
if (!this._optional) {
throw e;
}
}
}
} GoogleCloudHttp.__initStatic();
/**
* Google Cloud Platform service requests tracking for RESTful APIs.
*
* @deprecated Use `googleCloudHttpIntegration()` instead.
*/
// eslint-disable-next-line deprecation/deprecation
core.convertIntegrationFnToClass(
INTEGRATION_NAME,
googleCloudHttpIntegration,
) ;
// eslint-disable-next-line deprecation/deprecation
/** Returns a wrapped function that makes a request with tracing enabled */

@@ -43,7 +51,12 @@ function wrapRequestFunction(orig) {

const httpMethod = reqOpts.method || 'GET';
const span = node.startInactiveSpan({
name: `${httpMethod} ${reqOpts.uri}`,
op: `http.client.${identifyService(this.apiEndpoint)}`,
origin: 'auto.http.serverless',
});
const span = SETUP_CLIENTS.has(core.getClient() )
? node.startInactiveSpan({
name: `${httpMethod} ${reqOpts.uri}`,
onlyIfParent: true,
op: `http.client.${identifyService(this.apiEndpoint)}`,
attributes: {
[core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.serverless',
},
})
: undefined;
orig.call(this, reqOpts, (...args) => {

@@ -64,3 +77,3 @@ if (span) {

exports.GoogleCloudHttp = GoogleCloudHttp;
exports.googleCloudHttpIntegration = googleCloudHttpIntegration;
//# sourceMappingURL=google-cloud-http.js.map

@@ -13,2 +13,3 @@ Object.defineProperty(exports, '__esModule', { value: true });

exports.AWSServices = awsservices.AWSServices;
exports.awsServicesIntegration = awsservices.awsServicesIntegration;
exports.DEFAULT_USER_INCLUDES = node.DEFAULT_USER_INCLUDES;

@@ -34,2 +35,3 @@ exports.Handlers = node.Handlers;

exports.continueTrace = node.continueTrace;
exports.createGetModuleFromFilename = node.createGetModuleFromFilename;
exports.createTransport = node.createTransport;

@@ -40,3 +42,5 @@ exports.deepReadDirSync = node.deepReadDirSync;

exports.extractRequestData = node.extractRequestData;
exports.extractTraceparentData = node.extractTraceparentData;
exports.flush = node.flush;
exports.functionToStringIntegration = node.functionToStringIntegration;
exports.getActiveSpan = node.getActiveSpan;

@@ -51,9 +55,16 @@ exports.getActiveTransaction = node.getActiveTransaction;

exports.getIsolationScope = node.getIsolationScope;
exports.getModuleFromFilename = node.getModuleFromFilename;
exports.getSentryRelease = node.getSentryRelease;
exports.getSpanStatusFromHttpCode = node.getSpanStatusFromHttpCode;
exports.inboundFiltersIntegration = node.inboundFiltersIntegration;
exports.init = node.init;
exports.isInitialized = node.isInitialized;
exports.lastEventId = node.lastEventId;
exports.linkedErrorsIntegration = node.linkedErrorsIntegration;
exports.makeMain = node.makeMain;
exports.makeNodeTransport = node.makeNodeTransport;
exports.metrics = node.metrics;
exports.parameterize = node.parameterize;
exports.requestDataIntegration = node.requestDataIntegration;
exports.runWithAsyncContext = node.runWithAsyncContext;
exports.setContext = node.setContext;

@@ -67,2 +78,3 @@ exports.setCurrentClient = node.setCurrentClient;

exports.setUser = node.setUser;
exports.spanStatusfromHttpCode = node.spanStatusfromHttpCode;
exports.startActiveSpan = node.startActiveSpan;

@@ -69,0 +81,0 @@ exports.startInactiveSpan = node.startInactiveSpan;

@@ -11,4 +11,4 @@ import { _optionalChain } from '@sentry/utils';

import { performance } from 'perf_hooks';
import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '@sentry/core';
import { AWSServices } from './awsservices.js';
import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';
import { awsServicesIntegration } from './awsservices.js';
import { DEBUG_BUILD } from './debug-build.js';

@@ -25,3 +25,3 @@ import { markEventUnhandled } from './utils.js';

...defaultIntegrations$1,
new AWSServices({ optional: true }),
awsServicesIntegration({ optional: true }),
];

@@ -31,3 +31,3 @@

function getDefaultIntegrations(options) {
return [...getDefaultIntegrations$1(options), new AWSServices({ optional: true })];
return [...getDefaultIntegrations$1(options), awsServicesIntegration({ optional: true })];
}

@@ -302,6 +302,6 @@

op: 'function.aws.lambda',
origin: 'auto.function.serverless',
...continueTraceContext,
attributes: {
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component',
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.serverless',
},

@@ -308,0 +308,0 @@ },

@@ -1,38 +0,48 @@

import { startInactiveSpan } from '@sentry/node';
import { defineIntegration, convertIntegrationFnToClass, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';
import { getClient, startInactiveSpan } from '@sentry/node';
import { fill } from '@sentry/utils';
/** AWS service requests tracking */
class AWSServices {
/**
* @inheritDoc
*/
static __initStatic() {this.id = 'AWSServices';}
const INTEGRATION_NAME = 'AWSServices';
/**
* @inheritDoc
*/
const SETUP_CLIENTS = new WeakMap();
constructor(options = {}) {
this.name = AWSServices.id;
const _awsServicesIntegration = ((options = {}) => {
const optional = options.optional || false;
return {
name: INTEGRATION_NAME,
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const awsModule = require('aws-sdk/global') ;
fill(awsModule.Service.prototype, 'makeRequest', wrapMakeRequest);
} catch (e) {
if (!optional) {
throw e;
}
}
},
setup(client) {
SETUP_CLIENTS.set(client, true);
},
};
}) ;
this._optional = options.optional || false;
}
const awsServicesIntegration = defineIntegration(_awsServicesIntegration);
/**
* @inheritDoc
*/
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const awsModule = require('aws-sdk/global') ;
fill(awsModule.Service.prototype, 'makeRequest', wrapMakeRequest);
} catch (e) {
if (!this._optional) {
throw e;
}
}
}
} AWSServices.__initStatic();
/**
* AWS Service Request Tracking.
*
* @deprecated Use `awsServicesIntegration()` instead.
*/
// eslint-disable-next-line deprecation/deprecation
const AWSServices = convertIntegrationFnToClass(
INTEGRATION_NAME,
awsServicesIntegration,
) ;
/** */
// eslint-disable-next-line deprecation/deprecation
/**
* Patches AWS SDK request to create `http.client` spans.
*/
function wrapMakeRequest(

@@ -44,14 +54,20 @@ orig,

const req = orig.call(this, operation, params);
req.on('afterBuild', () => {
span = startInactiveSpan({
name: describe(this, operation, params),
op: 'http.client',
origin: 'auto.http.serverless',
if (SETUP_CLIENTS.has(getClient() )) {
req.on('afterBuild', () => {
span = startInactiveSpan({
name: describe(this, operation, params),
onlyIfParent: true,
op: 'http.client',
attributes: {
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.serverless',
},
});
});
});
req.on('complete', () => {
if (span) {
span.end();
}
});
req.on('complete', () => {
if (span) {
span.end();
}
});
}

@@ -100,3 +116,3 @@ if (callback) {

export { AWSServices };
export { AWSServices, awsServicesIntegration };
//# sourceMappingURL=awsservices.js.map
import { _optionalChain } from '@sentry/utils';
import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, handleCallbackErrors } from '@sentry/core';
import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, handleCallbackErrors } from '@sentry/core';
import { startSpanManual, getCurrentScope, captureException, flush } from '@sentry/node';

@@ -35,4 +35,6 @@ import { logger } from '@sentry/utils';

op: 'function.gcp.cloud_event',
origin: 'auto.function.serverless.gcp_cloud_event',
attributes: { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component' },
attributes: {
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component',
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.serverless.gcp_cloud_event',
},
},

@@ -39,0 +41,0 @@ span => {

import { _optionalChain } from '@sentry/utils';
import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, handleCallbackErrors } from '@sentry/core';
import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, handleCallbackErrors } from '@sentry/core';
import { startSpanManual, getCurrentScope, captureException, flush } from '@sentry/node';

@@ -38,4 +38,6 @@ import { logger } from '@sentry/utils';

op: 'function.gcp.event',
origin: 'auto.function.serverless.gcp_event',
attributes: { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component' },
attributes: {
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component',
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.serverless.gcp_event',
},
},

@@ -42,0 +44,0 @@ span => {

import { _optionalChain } from '@sentry/utils';
import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, Transaction, handleCallbackErrors } from '@sentry/core';
import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, Transaction, setHttpStatus, handleCallbackErrors } from '@sentry/core';
import { continueTrace, startSpanManual, getCurrentScope, flush, captureException } from '@sentry/node';

@@ -61,5 +61,5 @@ import { stripUrlQueryAndFragment, isString, logger } from '@sentry/utils';

op: 'function.gcp.http',
origin: 'auto.function.serverless.gcp_http',
attributes: {
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'route',
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.serverless.gcp_http',
},

@@ -85,4 +85,6 @@ },

res.end = function (chunk, encoding, cb) {
_optionalChain([span, 'optionalAccess', _3 => _3.setHttpStatus, 'call', _4 => _4(res.statusCode)]);
_optionalChain([span, 'optionalAccess', _5 => _5.end, 'call', _6 => _6()]);
if (span) {
setHttpStatus(span, res.statusCode);
span.end();
}

@@ -89,0 +91,0 @@ // eslint-disable-next-line @typescript-eslint/no-floating-promises

import { defaultIntegrations as defaultIntegrations$1, getDefaultIntegrations as getDefaultIntegrations$1, SDK_VERSION, init as init$1 } from '@sentry/node';
import { GoogleCloudGrpc } from '../google-cloud-grpc.js';
import { GoogleCloudHttp } from '../google-cloud-http.js';
import { googleCloudGrpcIntegration } from '../google-cloud-grpc.js';
import { googleCloudHttpIntegration } from '../google-cloud-http.js';
export { wrapHttpFunction } from './http.js';

@@ -12,4 +12,4 @@ export { wrapEventFunction } from './events.js';

...defaultIntegrations$1,
new GoogleCloudHttp({ optional: true }), // We mark this integration optional since '@google-cloud/common' module could be missing.
new GoogleCloudGrpc({ optional: true }), // We mark this integration optional since 'google-gax' module could be missing.
googleCloudHttpIntegration({ optional: true }), // We mark this integration optional since '@google-cloud/common' module could be missing.
googleCloudGrpcIntegration({ optional: true }), // We mark this integration optional since 'google-gax' module could be missing.
];

@@ -21,4 +21,4 @@

...getDefaultIntegrations$1(options),
new GoogleCloudHttp({ optional: true }), // We mark this integration optional since '@google-cloud/common' module could be missing.
new GoogleCloudGrpc({ optional: true }), // We mark this integration optional since 'google-gax' module could be missing.
googleCloudHttpIntegration({ optional: true }), // We mark this integration optional since '@google-cloud/common' module could be missing.
googleCloudGrpcIntegration({ optional: true }), // We mark this integration optional since 'google-gax' module could be missing.
];

@@ -25,0 +25,0 @@ }

import { _optionalChain } from '@sentry/utils';
import { defineIntegration, convertIntegrationFnToClass, getClient, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';
import { startInactiveSpan } from '@sentry/node';
import { fill } from '@sentry/utils';
/** Google Cloud Platform service requests tracking for GRPC APIs */
class GoogleCloudGrpc {
/**
* @inheritDoc
*/
static __initStatic() {this.id = 'GoogleCloudGrpc';}
const SERVICE_PATH_REGEX = /^(\w+)\.googleapis.com$/;
/**
* @inheritDoc
*/
const INTEGRATION_NAME = 'GoogleCloudGrpc';
constructor(options = {}) {
this.name = GoogleCloudGrpc.id;
const SETUP_CLIENTS = new WeakMap();
this._optional = options.optional || false;
}
/**
* @inheritDoc
*/
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const gaxModule = require('google-gax');
fill(
gaxModule.GrpcClient.prototype, // eslint-disable-line @typescript-eslint/no-unsafe-member-access
'createStub',
wrapCreateStub,
);
} catch (e) {
if (!this._optional) {
throw e;
const _googleCloudGrpcIntegration = ((options = {}) => {
const optional = options.optional || false;
return {
name: INTEGRATION_NAME,
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const gaxModule = require('google-gax');
fill(
gaxModule.GrpcClient.prototype, // eslint-disable-line @typescript-eslint/no-unsafe-member-access
'createStub',
wrapCreateStub,
);
} catch (e) {
if (!optional) {
throw e;
}
}
}
}
}GoogleCloudGrpc.__initStatic();
},
setup(client) {
SETUP_CLIENTS.set(client, true);
},
};
}) ;
const googleCloudGrpcIntegration = defineIntegration(_googleCloudGrpcIntegration);
/**
* Google Cloud Platform service requests tracking for GRPC APIs.
*
* @deprecated Use `googleCloudGrpcIntegration()` instead.
*/
// eslint-disable-next-line deprecation/deprecation
convertIntegrationFnToClass(
INTEGRATION_NAME,
googleCloudGrpcIntegration,
) ;
// eslint-disable-next-line deprecation/deprecation
/** Returns a wrapped function that returns a stub with tracing enabled */

@@ -81,3 +91,3 @@ function wrapCreateStub(origCreate) {

const ret = orig.apply(stub, args);
if (typeof _optionalChain([ret, 'optionalAccess', _3 => _3.on]) !== 'function') {
if (typeof _optionalChain([ret, 'optionalAccess', _3 => _3.on]) !== 'function' || !SETUP_CLIENTS.has(getClient() )) {
return ret;

@@ -87,4 +97,7 @@ }

name: `${callType} ${methodName}`,
onlyIfParent: true,
op: `grpc.${serviceIdentifier}`,
origin: 'auto.grpc.serverless',
attributes: {
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.grpc.serverless',
},
});

@@ -103,7 +116,7 @@ ret.on('status', () => {

function identifyService(servicePath) {
const match = servicePath.match(/^(\w+)\.googleapis.com$/);
const match = servicePath.match(SERVICE_PATH_REGEX);
return match ? match[1] : servicePath;
}
export { GoogleCloudGrpc };
export { googleCloudGrpcIntegration };
//# sourceMappingURL=google-cloud-grpc.js.map

@@ -0,37 +1,45 @@

import { defineIntegration, convertIntegrationFnToClass, getClient, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';
import { startInactiveSpan } from '@sentry/node';
import { fill } from '@sentry/utils';
/** Google Cloud Platform service requests tracking for RESTful APIs */
class GoogleCloudHttp {
/**
* @inheritDoc
*/
static __initStatic() {this.id = 'GoogleCloudHttp';}
const INTEGRATION_NAME = 'GoogleCloudHttp';
/**
* @inheritDoc
*/
const SETUP_CLIENTS = new WeakMap();
constructor(options = {}) {
this.name = GoogleCloudHttp.id;
const _googleCloudHttpIntegration = ((options = {}) => {
const optional = options.optional || false;
return {
name: INTEGRATION_NAME,
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const commonModule = require('@google-cloud/common') ;
fill(commonModule.Service.prototype, 'request', wrapRequestFunction);
} catch (e) {
if (!optional) {
throw e;
}
}
},
setup(client) {
SETUP_CLIENTS.set(client, true);
},
};
}) ;
this._optional = options.optional || false;
}
const googleCloudHttpIntegration = defineIntegration(_googleCloudHttpIntegration);
/**
* @inheritDoc
*/
setupOnce() {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const commonModule = require('@google-cloud/common') ;
fill(commonModule.Service.prototype, 'request', wrapRequestFunction);
} catch (e) {
if (!this._optional) {
throw e;
}
}
}
} GoogleCloudHttp.__initStatic();
/**
* Google Cloud Platform service requests tracking for RESTful APIs.
*
* @deprecated Use `googleCloudHttpIntegration()` instead.
*/
// eslint-disable-next-line deprecation/deprecation
convertIntegrationFnToClass(
INTEGRATION_NAME,
googleCloudHttpIntegration,
) ;
// eslint-disable-next-line deprecation/deprecation
/** Returns a wrapped function that makes a request with tracing enabled */

@@ -41,7 +49,12 @@ function wrapRequestFunction(orig) {

const httpMethod = reqOpts.method || 'GET';
const span = startInactiveSpan({
name: `${httpMethod} ${reqOpts.uri}`,
op: `http.client.${identifyService(this.apiEndpoint)}`,
origin: 'auto.http.serverless',
});
const span = SETUP_CLIENTS.has(getClient() )
? startInactiveSpan({
name: `${httpMethod} ${reqOpts.uri}`,
onlyIfParent: true,
op: `http.client.${identifyService(this.apiEndpoint)}`,
attributes: {
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.serverless',
},
})
: undefined;
orig.call(this, reqOpts, (...args) => {

@@ -62,3 +75,3 @@ if (span) {

export { GoogleCloudHttp };
export { googleCloudHttpIntegration };
//# sourceMappingURL=google-cloud-http.js.map

@@ -5,4 +5,4 @@ import * as awslambda from './awslambda.js';

export { index as GCPFunction };
export { AWSServices } from './awsservices.js';
export { DEFAULT_USER_INCLUDES, Handlers, Hub, Integrations, NodeClient, SDK_VERSION, Scope, addBreadcrumb, addEventProcessor, addGlobalEventProcessor, addIntegration, addRequestDataToEvent, autoDiscoverNodePerformanceMonitoringIntegrations, captureCheckIn, captureEvent, captureException, captureMessage, close, configureScope, continueTrace, createTransport, deepReadDirSync, defaultIntegrations, defaultStackParser, extractRequestData, flush, getActiveSpan, getActiveTransaction, getClient, getCurrentHub, getCurrentScope, getDefaultIntegrations, getGlobalScope, getHubFromCarrier, getIsolationScope, getSentryRelease, init, isInitialized, lastEventId, makeMain, makeNodeTransport, parameterize, setContext, setCurrentClient, setExtra, setExtras, setMeasurement, setTag, setTags, setUser, startActiveSpan, startInactiveSpan, startSpan, startSpanManual, startTransaction, withIsolationScope, withMonitor, withScope } from '@sentry/node';
export { AWSServices, awsServicesIntegration } from './awsservices.js';
export { DEFAULT_USER_INCLUDES, Handlers, Hub, Integrations, NodeClient, SDK_VERSION, Scope, addBreadcrumb, addEventProcessor, addGlobalEventProcessor, addIntegration, addRequestDataToEvent, autoDiscoverNodePerformanceMonitoringIntegrations, captureCheckIn, captureEvent, captureException, captureMessage, close, configureScope, continueTrace, createGetModuleFromFilename, createTransport, deepReadDirSync, defaultIntegrations, defaultStackParser, extractRequestData, extractTraceparentData, flush, functionToStringIntegration, getActiveSpan, getActiveTransaction, getClient, getCurrentHub, getCurrentScope, getDefaultIntegrations, getGlobalScope, getHubFromCarrier, getIsolationScope, getModuleFromFilename, getSentryRelease, getSpanStatusFromHttpCode, inboundFiltersIntegration, init, isInitialized, lastEventId, linkedErrorsIntegration, makeMain, makeNodeTransport, metrics, parameterize, requestDataIntegration, runWithAsyncContext, setContext, setCurrentClient, setExtra, setExtras, setMeasurement, setTag, setTags, setUser, spanStatusfromHttpCode, startActiveSpan, startInactiveSpan, startSpan, startSpanManual, startTransaction, withIsolationScope, withMonitor, withScope } from '@sentry/node';
//# sourceMappingURL=index.js.map
{
"name": "@sentry/serverless",
"version": "7.98.0",
"version": "7.99.0",
"description": "Official Sentry SDK for various serverless solutions",

@@ -32,6 +32,6 @@ "repository": "git://github.com/getsentry/sentry-javascript.git",

"dependencies": {
"@sentry/core": "7.98.0",
"@sentry/node": "7.98.0",
"@sentry/types": "7.98.0",
"@sentry/utils": "7.98.0",
"@sentry/core": "7.99.0",
"@sentry/node": "7.99.0",
"@sentry/types": "7.99.0",
"@sentry/utils": "7.99.0",
"@types/aws-lambda": "^8.10.62",

@@ -38,0 +38,0 @@ "@types/express": "^4.17.14"

@@ -1,21 +0,12 @@

import { Integration } from '@sentry/types';
/** AWS service requests tracking */
export declare class AWSServices implements Integration {
/**
* @inheritDoc
*/
static id: string;
/**
* @inheritDoc
*/
name: string;
private readonly _optional;
constructor(options?: {
optional?: boolean;
});
/**
* @inheritDoc
*/
setupOnce(): void;
}
import { Integration, IntegrationClass } from '@sentry/types';
export declare const awsServicesIntegration: (options?: {
optional?: boolean | undefined;
} | undefined) => import("@sentry/types").IntegrationFnResult;
/**
* AWS Service Request Tracking.
*
* @deprecated Use `awsServicesIntegration()` instead.
*/
export declare const AWSServices: IntegrationClass<Integration>;
export type AWSServices = typeof AWSServices;
//# sourceMappingURL=awsservices.d.ts.map

@@ -1,21 +0,12 @@

import { Integration } from '@sentry/types';
/** Google Cloud Platform service requests tracking for GRPC APIs */
export declare class GoogleCloudGrpc implements Integration {
/**
* @inheritDoc
*/
static id: string;
/**
* @inheritDoc
*/
name: string;
private readonly _optional;
constructor(options?: {
optional?: boolean;
});
/**
* @inheritDoc
*/
setupOnce(): void;
}
import { Integration, IntegrationClass } from '@sentry/types';
export declare const googleCloudGrpcIntegration: (options?: {
optional?: boolean | undefined;
} | undefined) => import("@sentry/types").IntegrationFnResult;
/**
* Google Cloud Platform service requests tracking for GRPC APIs.
*
* @deprecated Use `googleCloudGrpcIntegration()` instead.
*/
export declare const GoogleCloudGrpc: IntegrationClass<Integration>;
export type GoogleCloudGrpc = typeof GoogleCloudGrpc;
//# sourceMappingURL=google-cloud-grpc.d.ts.map

@@ -1,21 +0,12 @@

import { Integration } from '@sentry/types';
/** Google Cloud Platform service requests tracking for RESTful APIs */
export declare class GoogleCloudHttp implements Integration {
/**
* @inheritDoc
*/
static id: string;
/**
* @inheritDoc
*/
name: string;
private readonly _optional;
constructor(options?: {
optional?: boolean;
});
/**
* @inheritDoc
*/
setupOnce(): void;
}
import { Integration, IntegrationClass } from '@sentry/types';
export declare const googleCloudHttpIntegration: (options?: {
optional?: boolean | undefined;
} | undefined) => import("@sentry/types").IntegrationFnResult;
/**
* Google Cloud Platform service requests tracking for RESTful APIs.
*
* @deprecated Use `googleCloudHttpIntegration()` instead.
*/
export declare const GoogleCloudHttp: IntegrationClass<Integration>;
export type GoogleCloudHttp = typeof GoogleCloudHttp;
//# sourceMappingURL=google-cloud-http.d.ts.map
import * as AWSLambda from './awslambda';
import * as GCPFunction from './gcpfunction';
export { AWSLambda, GCPFunction };
export { AWSServices } from './awsservices';
export { Hub, SDK_VERSION, Scope, addBreadcrumb, addGlobalEventProcessor, addEventProcessor, addIntegration, autoDiscoverNodePerformanceMonitoringIntegrations, captureEvent, captureException, captureMessage, captureCheckIn, withMonitor, configureScope, createTransport, getActiveTransaction, getCurrentHub, getClient, isInitialized, getCurrentScope, getGlobalScope, getIsolationScope, getHubFromCarrier, makeMain, setCurrentClient, setContext, setExtra, setExtras, setTag, setTags, setUser, startTransaction, withScope, withIsolationScope, NodeClient, makeNodeTransport, close, defaultIntegrations, getDefaultIntegrations, defaultStackParser, flush, getSentryRelease, init, lastEventId, DEFAULT_USER_INCLUDES, addRequestDataToEvent, extractRequestData, deepReadDirSync, Handlers, Integrations, setMeasurement, getActiveSpan, startSpan, startActiveSpan, startInactiveSpan, startSpanManual, continueTrace, parameterize, } from '@sentry/node';
export { AWSServices, awsServicesIntegration } from './awsservices';
export { Hub, SDK_VERSION, Scope, addBreadcrumb, addGlobalEventProcessor, addEventProcessor, addIntegration, autoDiscoverNodePerformanceMonitoringIntegrations, captureEvent, captureException, captureMessage, captureCheckIn, withMonitor, configureScope, createTransport, getActiveTransaction, getCurrentHub, getClient, isInitialized, getCurrentScope, getGlobalScope, getIsolationScope, getHubFromCarrier, spanStatusfromHttpCode, getSpanStatusFromHttpCode, makeMain, setCurrentClient, setContext, setExtra, setExtras, setTag, setTags, setUser, startTransaction, withScope, withIsolationScope, NodeClient, makeNodeTransport, close, defaultIntegrations, getDefaultIntegrations, defaultStackParser, flush, getSentryRelease, init, lastEventId, DEFAULT_USER_INCLUDES, addRequestDataToEvent, extractRequestData, deepReadDirSync, Handlers, Integrations, setMeasurement, getActiveSpan, startSpan, startActiveSpan, startInactiveSpan, startSpanManual, continueTrace, parameterize, requestDataIntegration, linkedErrorsIntegration, inboundFiltersIntegration, functionToStringIntegration, getModuleFromFilename, createGetModuleFromFilename, metrics, extractTraceparentData, runWithAsyncContext, } from '@sentry/node';
//# sourceMappingURL=index.d.ts.map

@@ -1,21 +0,12 @@

import type { Integration } from '@sentry/types';
/** AWS service requests tracking */
export declare class AWSServices implements Integration {
/**
* @inheritDoc
*/
static id: string;
/**
* @inheritDoc
*/
name: string;
private readonly _optional;
constructor(options?: {
optional?: boolean;
});
/**
* @inheritDoc
*/
setupOnce(): void;
}
import type { Integration, IntegrationClass } from '@sentry/types';
export declare const awsServicesIntegration: (options?: {
optional?: boolean | undefined;
} | undefined) => import("@sentry/types").IntegrationFnResult;
/**
* AWS Service Request Tracking.
*
* @deprecated Use `awsServicesIntegration()` instead.
*/
export declare const AWSServices: IntegrationClass<Integration>;
export type AWSServices = typeof AWSServices;
//# sourceMappingURL=awsservices.d.ts.map

@@ -1,21 +0,12 @@

import type { Integration } from '@sentry/types';
/** Google Cloud Platform service requests tracking for GRPC APIs */
export declare class GoogleCloudGrpc implements Integration {
/**
* @inheritDoc
*/
static id: string;
/**
* @inheritDoc
*/
name: string;
private readonly _optional;
constructor(options?: {
optional?: boolean;
});
/**
* @inheritDoc
*/
setupOnce(): void;
}
import type { Integration, IntegrationClass } from '@sentry/types';
export declare const googleCloudGrpcIntegration: (options?: {
optional?: boolean | undefined;
} | undefined) => import("@sentry/types").IntegrationFnResult;
/**
* Google Cloud Platform service requests tracking for GRPC APIs.
*
* @deprecated Use `googleCloudGrpcIntegration()` instead.
*/
export declare const GoogleCloudGrpc: IntegrationClass<Integration>;
export type GoogleCloudGrpc = typeof GoogleCloudGrpc;
//# sourceMappingURL=google-cloud-grpc.d.ts.map

@@ -1,21 +0,12 @@

import type { Integration } from '@sentry/types';
/** Google Cloud Platform service requests tracking for RESTful APIs */
export declare class GoogleCloudHttp implements Integration {
/**
* @inheritDoc
*/
static id: string;
/**
* @inheritDoc
*/
name: string;
private readonly _optional;
constructor(options?: {
optional?: boolean;
});
/**
* @inheritDoc
*/
setupOnce(): void;
}
import type { Integration, IntegrationClass } from '@sentry/types';
export declare const googleCloudHttpIntegration: (options?: {
optional?: boolean | undefined;
} | undefined) => import("@sentry/types").IntegrationFnResult;
/**
* Google Cloud Platform service requests tracking for RESTful APIs.
*
* @deprecated Use `googleCloudHttpIntegration()` instead.
*/
export declare const GoogleCloudHttp: IntegrationClass<Integration>;
export type GoogleCloudHttp = typeof GoogleCloudHttp;
//# sourceMappingURL=google-cloud-http.d.ts.map
import * as AWSLambda from './awslambda';
import * as GCPFunction from './gcpfunction';
export { AWSLambda, GCPFunction };
export { AWSServices } from './awsservices';
export { Hub, SDK_VERSION, Scope, addBreadcrumb, addGlobalEventProcessor, addEventProcessor, addIntegration, autoDiscoverNodePerformanceMonitoringIntegrations, captureEvent, captureException, captureMessage, captureCheckIn, withMonitor, configureScope, createTransport, getActiveTransaction, getCurrentHub, getClient, isInitialized, getCurrentScope, getGlobalScope, getIsolationScope, getHubFromCarrier, makeMain, setCurrentClient, setContext, setExtra, setExtras, setTag, setTags, setUser, startTransaction, withScope, withIsolationScope, NodeClient, makeNodeTransport, close, defaultIntegrations, getDefaultIntegrations, defaultStackParser, flush, getSentryRelease, init, lastEventId, DEFAULT_USER_INCLUDES, addRequestDataToEvent, extractRequestData, deepReadDirSync, Handlers, Integrations, setMeasurement, getActiveSpan, startSpan, startActiveSpan, startInactiveSpan, startSpanManual, continueTrace, parameterize, } from '@sentry/node';
export { AWSServices, awsServicesIntegration } from './awsservices';
export { Hub, SDK_VERSION, Scope, addBreadcrumb, addGlobalEventProcessor, addEventProcessor, addIntegration, autoDiscoverNodePerformanceMonitoringIntegrations, captureEvent, captureException, captureMessage, captureCheckIn, withMonitor, configureScope, createTransport, getActiveTransaction, getCurrentHub, getClient, isInitialized, getCurrentScope, getGlobalScope, getIsolationScope, getHubFromCarrier, spanStatusfromHttpCode, getSpanStatusFromHttpCode, makeMain, setCurrentClient, setContext, setExtra, setExtras, setTag, setTags, setUser, startTransaction, withScope, withIsolationScope, NodeClient, makeNodeTransport, close, defaultIntegrations, getDefaultIntegrations, defaultStackParser, flush, getSentryRelease, init, lastEventId, DEFAULT_USER_INCLUDES, addRequestDataToEvent, extractRequestData, deepReadDirSync, Handlers, Integrations, setMeasurement, getActiveSpan, startSpan, startActiveSpan, startInactiveSpan, startSpanManual, continueTrace, parameterize, requestDataIntegration, linkedErrorsIntegration, inboundFiltersIntegration, functionToStringIntegration, getModuleFromFilename, createGetModuleFromFilename, metrics, extractTraceparentData, runWithAsyncContext, } from '@sentry/node';
//# sourceMappingURL=index.d.ts.map

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc