New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@appsignal/nodejs

Package Overview
Dependencies
Maintainers
7
Versions
135
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@appsignal/nodejs - npm Package Compare versions

Comparing version

to
2.1.1

dist/extension_wrapper.d.ts

13

dist/cli/diagnose.js

@@ -29,5 +29,14 @@ "use strict";

console.log(` Installation result`);
console.log(` Status: success`);
const installReport = data["installation"];
console.log(` Status: ${installReport["result"]["status"]}`);
const resultMessage = data["installation"]["result"]["message"];
if (resultMessage) {
console.log(` Message: ${resultMessage}`);
}
const resultError = data["installation"]["result"]["error"];
if (resultError) {
console.log(` Error: ${resultError}`);
}
console.log(` Language details`);
console.log(` Node.js version: ${data["host"]["language_version"]}`);
console.log(` Node.js version: ${data["installation"]["language"]["version"]}`);
console.log(` Download details`);

@@ -34,0 +43,0 @@ console.log(` Download URL: ${data["installation"]["download"]["download_url"]}`);

6

dist/client.d.ts
import { NodeClient, Metrics, Plugin, Tracer } from "@appsignal/types";
import { Agent } from "./agent";
import { Extension } from "./extension";
import { Configuration } from "./config";

@@ -16,5 +16,5 @@ import { Instrumentation } from "./instrument";

#private;
readonly VERSION = "2.1.0";
readonly VERSION = "2.1.1";
config: Configuration;
agent: Agent;
extension: Extension;
instrumentation: Instrumentation;

@@ -21,0 +21,0 @@ /**

@@ -6,3 +6,3 @@ "use strict";

const tslib_1 = require("tslib");
const agent_1 = require("./agent");
const extension_1 = require("./extension");
const config_1 = require("./config");

@@ -39,3 +39,3 @@ const tracer_1 = require("./tracer");

this.config = new config_1.Configuration(options);
this.agent = new agent_1.Agent({ active });
this.extension = new extension_1.Extension({ active });
this.instrumentation = new instrument_1.Instrumentation(this.tracer(), this.metrics());

@@ -49,3 +49,3 @@ bootstrap_1.initCorePlugins(this.instrumentation, { ignoreInstrumentation });

get isActive() {
return this.agent.isLoaded && this.config.isValid;
return this.extension.isLoaded && this.config.isValid;
}

@@ -63,3 +63,3 @@ set isActive(arg) {

if (this.config.isValid) {
this.agent.start();
this.extension.start();
}

@@ -83,3 +83,3 @@ else {

}
this.agent.stop();
this.extension.stop();
}

@@ -86,0 +86,0 @@ /**

@@ -40,3 +40,3 @@ /// <reference types="node" />

app: {};
agent: object;
extension: object;
config: {

@@ -43,0 +43,0 @@ options: {

"use strict";
var _config, _agent;
var _config, _extension;
Object.defineProperty(exports, "__esModule", { value: true });

@@ -11,3 +11,3 @@ exports.DiagnoseTool = void 0;

const crypto_1 = require("crypto");
const agent_1 = require("./agent");
const extension_1 = require("./extension");
const config_1 = require("./config");

@@ -19,5 +19,5 @@ const version_1 = require("./version");

_config.set(this, void 0);
_agent.set(this, void 0);
_extension.set(this, void 0);
tslib_1.__classPrivateFieldSet(this, _config, new config_1.Configuration({ active }));
tslib_1.__classPrivateFieldSet(this, _agent, new agent_1.Agent({ active }));
tslib_1.__classPrivateFieldSet(this, _extension, new extension_1.Extension({ active }));
}

@@ -38,3 +38,3 @@ /**

app: {},
agent: tslib_1.__classPrivateFieldGet(this, _agent).diagnose(),
extension: tslib_1.__classPrivateFieldGet(this, _extension).diagnose(),
config: {

@@ -56,3 +56,3 @@ options: this.getConfigData(),

agent_version: version_1.AGENT_VERSION,
extension_loaded: tslib_1.__classPrivateFieldGet(this, _agent).isLoaded
extension_loaded: tslib_1.__classPrivateFieldGet(this, _extension).isLoaded
};

@@ -163,3 +163,3 @@ }

exports.DiagnoseTool = DiagnoseTool;
_config = new WeakMap(), _agent = new WeakMap();
_config = new WeakMap(), _extension = new WeakMap();
// This implementation should match the `packages/nodejs-ext/scripts/report.js`

@@ -166,0 +166,0 @@ // implementation to generate the same path.

@@ -1,3 +0,20 @@

import { Extension } from "./interfaces/extension";
declare let mod: Extension;
export = mod;
/**
* The public interface for the extension.
*
* @class
*/
export declare class Extension {
isLoaded: boolean;
constructor(options?: {
active: boolean;
});
/**
* Starts the extension.
*/
start(): boolean;
/**
* Stops the extension.
*/
stop(): boolean;
diagnose(): object;
}
"use strict";
let mod;
try {
mod = require("@appsignal/nodejs-ext");
}
catch (e) {
mod = {
extension: {
start() {
throw new Error("Extension module not loaded");
},
stop() {
return;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Extension = void 0;
const extension_wrapper_1 = require("./extension_wrapper");
/**
* The public interface for the extension.
*
* @class
*/
class Extension {
constructor(options) {
this.isLoaded = false;
if (options === null || options === void 0 ? void 0 : options.active)
this.start();
}
/**
* Starts the extension.
*/
start() {
try {
extension_wrapper_1.extension.start();
this.isLoaded = true;
}
catch (e) {
if (e.message === "Extension module not loaded") {
console.warn("AppSignal extension not loaded. This could mean that your current environment isn't supported, or that another error has occurred.");
}
else {
console.error(`Failed to load AppSignal extension with error: ${e.message}. Please email us at support@appsignal.com for support.`);
}
this.isLoaded = false;
}
};
return this.isLoaded;
}
/**
* Stops the extension.
*/
stop() {
if (this.isLoaded) {
extension_wrapper_1.extension.stop();
this.isLoaded = false;
}
return this.isLoaded;
}
diagnose() {
if (this.isLoaded) {
return JSON.parse(extension_wrapper_1.extension.diagnoseRaw());
}
else {
return {};
}
}
}
module.exports = mod;
exports.Extension = Extension;
import { HashMap } from "@appsignal/types";
import { datamap, dataarray } from "../extension";
import { datamap, dataarray } from "../extension_wrapper";
export declare class Data {

@@ -4,0 +4,0 @@ static generate(data: Array<any> | HashMap<any>, filtered?: boolean): any;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Data = void 0;
const extension_1 = require("../extension");
const extension_wrapper_1 = require("../extension_wrapper");
class Data {

@@ -18,41 +18,41 @@ static generate(data, filtered = false) {

static toJson(data) {
return JSON.parse(extension_1.datamap.toJson(data));
return JSON.parse(extension_wrapper_1.datamap.toJson(data));
}
static mapObject(hash_value, filtered) {
let map = filtered ? extension_1.datamap.createFiltered() : extension_1.datamap.create();
let map = filtered ? extension_wrapper_1.datamap.createFiltered() : extension_wrapper_1.datamap.create();
Object.entries(hash_value).forEach(([key, value]) => {
switch (typeof value) {
case "string":
extension_1.datamap.setString(key, value, map);
extension_wrapper_1.datamap.setString(key, value, map);
break;
case "number":
if (Number.isInteger(value)) {
extension_1.datamap.setInteger(key, value, map);
extension_wrapper_1.datamap.setInteger(key, value, map);
}
else {
extension_1.datamap.setFloat(key, value, map);
extension_wrapper_1.datamap.setFloat(key, value, map);
}
break;
case "bigint":
extension_1.datamap.setString(key, `bigint:${value}`, map);
extension_wrapper_1.datamap.setString(key, `bigint:${value}`, map);
break;
case "boolean":
extension_1.datamap.setBoolean(key, value, map);
extension_wrapper_1.datamap.setBoolean(key, value, map);
break;
case "undefined":
extension_1.datamap.setString(key, "undefined", map);
extension_wrapper_1.datamap.setString(key, "undefined", map);
break;
case "object":
if (!value) {
extension_1.datamap.setNull(key, map);
extension_wrapper_1.datamap.setNull(key, map);
}
else if (Array.isArray(value)) {
extension_1.datamap.setData(key, this.mapArray(value, filtered), map);
extension_wrapper_1.datamap.setData(key, this.mapArray(value, filtered), map);
}
else if ((value === null || value === void 0 ? void 0 : value.constructor.name) === "Object") {
extension_1.datamap.setData(key, this.mapObject(value, filtered), map);
extension_wrapper_1.datamap.setData(key, this.mapObject(value, filtered), map);
}
else {
// attempt to co-erce whatever the data is to a string
extension_1.datamap.setString(key, String(value), map);
extension_wrapper_1.datamap.setString(key, String(value), map);
}

@@ -65,24 +65,24 @@ break;

static mapArray(array_value, filtered) {
let array = extension_1.dataarray.create();
let array = extension_wrapper_1.dataarray.create();
array_value.forEach(value => {
switch (typeof value) {
case "string":
extension_1.dataarray.appendString(value, array);
extension_wrapper_1.dataarray.appendString(value, array);
break;
case "number":
if (Number.isInteger(value)) {
extension_1.dataarray.appendInteger(value, array);
extension_wrapper_1.dataarray.appendInteger(value, array);
}
else {
extension_1.dataarray.appendFloat(value, array);
extension_wrapper_1.dataarray.appendFloat(value, array);
}
break;
case "bigint":
extension_1.dataarray.appendString(`bigint:${value}`, array);
extension_wrapper_1.dataarray.appendString(`bigint:${value}`, array);
break;
case "boolean":
extension_1.dataarray.appendBoolean(value, array);
extension_wrapper_1.dataarray.appendBoolean(value, array);
break;
case "undefined":
extension_1.dataarray.appendString("undefined", array);
extension_wrapper_1.dataarray.appendString("undefined", array);
break;

@@ -92,13 +92,13 @@ case "object":

if (!value) {
extension_1.dataarray.appendNull(array);
extension_wrapper_1.dataarray.appendNull(array);
}
else if (Array.isArray(value)) {
extension_1.dataarray.appendData(this.mapArray(value, filtered), array);
extension_wrapper_1.dataarray.appendData(this.mapArray(value, filtered), array);
}
else if ((value === null || value === void 0 ? void 0 : value.constructor.name) === "Object") {
extension_1.dataarray.appendData(this.mapObject(value, filtered), array);
extension_wrapper_1.dataarray.appendData(this.mapObject(value, filtered), array);
}
else {
// attempt to co-erce whatever the data is to a string
extension_1.dataarray.appendString(String(value), array);
extension_wrapper_1.dataarray.appendString(String(value), array);
}

@@ -105,0 +105,0 @@ break;

@@ -7,3 +7,3 @@ "use strict";

const probes_1 = require("./probes");
const extension_1 = require("./extension");
const extension_wrapper_1 = require("./extension_wrapper");
const data_1 = require("./internal/data");

@@ -43,3 +43,3 @@ /**

return this;
extension_1.metrics.setGauge(key, value, data_1.Data.generate(tags || {}));
extension_wrapper_1.metrics.setGauge(key, value, data_1.Data.generate(tags || {}));
return this;

@@ -63,3 +63,3 @@ }

return this;
extension_1.metrics.addDistributionValue(key, value, data_1.Data.generate(tags || {}));
extension_wrapper_1.metrics.addDistributionValue(key, value, data_1.Data.generate(tags || {}));
return this;

@@ -84,3 +84,3 @@ }

return this;
extension_1.metrics.incrementCounter(key, value, data_1.Data.generate(tags || {}));
extension_wrapper_1.metrics.incrementCounter(key, value, data_1.Data.generate(tags || {}));
return this;

@@ -87,0 +87,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RootSpan = exports.ChildSpan = exports.BaseSpan = void 0;
const extension_1 = require("./extension");
const extension_wrapper_1 = require("./extension_wrapper");
const data_1 = require("./internal/data");

@@ -21,3 +21,3 @@ const utils_1 = require("./utils");

get traceId() {
return extension_1.span.getTraceId(this._ref);
return extension_wrapper_1.span.getTraceId(this._ref);
}

@@ -28,3 +28,3 @@ /**

get spanId() {
return extension_1.span.getSpanId(this._ref);
return extension_wrapper_1.span.getSpanId(this._ref);
}

@@ -52,14 +52,14 @@ /**

if (typeof value === "string") {
extension_1.span.setSpanAttributeString(this._ref, key, value);
extension_wrapper_1.span.setSpanAttributeString(this._ref, key, value);
}
if (typeof value === "number") {
if (Number.isInteger(value)) {
extension_1.span.setSpanAttributeInt(this._ref, key, value);
extension_wrapper_1.span.setSpanAttributeInt(this._ref, key, value);
}
else {
extension_1.span.setSpanAttributeDouble(this._ref, key, value);
extension_wrapper_1.span.setSpanAttributeDouble(this._ref, key, value);
}
}
if (typeof value === "boolean") {
extension_1.span.setSpanAttributeBool(this._ref, key, value);
extension_wrapper_1.span.setSpanAttributeBool(this._ref, key, value);
}

@@ -78,3 +78,3 @@ return this;

}
extension_1.span.setSpanAttributeSqlString(this._ref, "appsignal:body", value);
extension_wrapper_1.span.setSpanAttributeSqlString(this._ref, "appsignal:body", value);
return this;

@@ -89,3 +89,3 @@ }

return this;
extension_1.span.setSpanName(this._ref, name);
extension_wrapper_1.span.setSpanName(this._ref, name);
return this;

@@ -101,3 +101,3 @@ }

}
extension_1.span.setSpanAttributeString(this._ref, "appsignal:category", category);
extension_wrapper_1.span.setSpanAttributeString(this._ref, "appsignal:category", category);
return this;

@@ -112,3 +112,3 @@ }

try {
extension_1.span.setSpanSampleData(this._ref, key, data_1.Data.generate(data, true));
extension_wrapper_1.span.setSpanSampleData(this._ref, key, data_1.Data.generate(data, true));
}

@@ -150,7 +150,7 @@ catch (e) {

const { sec, nsec } = utils_1.getAgentTimestamps(endTime);
extension_1.span.closeSpanWithTimestamp(this._ref, sec, nsec);
extension_wrapper_1.span.closeSpanWithTimestamp(this._ref, sec, nsec);
return this;
}
else {
extension_1.span.closeSpan(this._ref);
extension_wrapper_1.span.closeSpan(this._ref);
return this;

@@ -163,3 +163,3 @@ }

toJSON() {
const json = extension_1.span.spanToJSON(this._ref);
const json = extension_wrapper_1.span.spanToJSON(this._ref);
// if this is true, then the span has been garbage collected

@@ -185,6 +185,6 @@ // @TODO: i feel that this could have better ergonomics on the agent

const { sec, nsec } = utils_1.getAgentTimestamps(startTime);
this._ref = extension_1.span.createChildSpanWithTimestamp(spanOrContext.ref(), sec, nsec);
this._ref = extension_wrapper_1.span.createChildSpanWithTimestamp(spanOrContext.ref(), sec, nsec);
}
else {
this._ref = extension_1.span.createChildSpan(spanOrContext.ref());
this._ref = extension_wrapper_1.span.createChildSpan(spanOrContext.ref());
}

@@ -194,3 +194,3 @@ }

const { traceId, spanId } = spanOrContext;
this._ref = extension_1.span.createSpanFromTraceparent(`00-${traceId}-${spanId}-00`);
this._ref = extension_wrapper_1.span.createSpanFromTraceparent(`00-${traceId}-${spanId}-00`);
}

@@ -209,6 +209,6 @@ }

const { sec, nsec } = utils_1.getAgentTimestamps(startTime);
this._ref = extension_1.span.createRootSpanWithTimestamp(namespace, sec, nsec);
this._ref = extension_wrapper_1.span.createRootSpanWithTimestamp(namespace, sec, nsec);
}
else {
this._ref = extension_1.span.createRootSpan(namespace);
this._ref = extension_wrapper_1.span.createRootSpan(namespace);
}

@@ -223,3 +223,3 @@ }

const stackdata = data_1.Data.generate(error.stack ? error.stack.split("\n") : ["No stacktrace available."]);
extension_1.span.addSpanError(this._ref, error.name, error.message, stackdata);
extension_wrapper_1.span.addSpanError(this._ref, error.name, error.message, stackdata);
return this;

@@ -226,0 +226,0 @@ }

@@ -1,2 +0,2 @@

export declare const VERSION = "2.1.0";
export declare const VERSION = "2.1.1";
export declare const AGENT_VERSION = "7376537";

@@ -5,3 +5,3 @@ "use strict";

// Do not touch this file, auto-generated by scripts/create-versionfile
exports.VERSION = "2.1.0";
exports.VERSION = "2.1.1";
exports.AGENT_VERSION = "7376537";
{
"name": "@appsignal/nodejs",
"version": "2.1.0",
"version": "2.1.1",
"main": "dist/index",

@@ -19,3 +19,3 @@ "types": "dist/index",

"optionalDependencies": {
"@appsignal/nodejs-ext": "=2.0.1"
"@appsignal/nodejs-ext": "=2.0.2"
},

@@ -22,0 +22,0 @@ "devDependencies": {