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

@opentelemetry/node

Package Overview
Dependencies
Maintainers
5
Versions
153
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@opentelemetry/node - npm Package Compare versions

Comparing version 0.4.0 to 0.5.0

17

build/src/instrumentation/PluginLoader.js

@@ -76,2 +76,14 @@ "use strict";

}
const alreadyRequiredModules = Object.keys(require.cache);
const requiredModulesToHook = modulesToHook.filter(name => alreadyRequiredModules.find(cached => {
try {
return require.resolve(name) === cached;
}
catch (err) {
return false;
}
}) !== undefined);
if (requiredModulesToHook.length > 0) {
this.logger.warn(`Some modules (${requiredModulesToHook.join(', ')}) were already required when their respective plugin was loaded, some plugins might not work. Make sure the SDK is setup before you require in other modules.`);
}
// Enable the require hook.

@@ -102,4 +114,9 @@ hook(modulesToHook, (exports, name, baseDir) => {

if (!utils.isSupportedVersion(version, plugin.supportedVersions)) {
this.logger.error(`PluginLoader#load: Plugin ${name} only supports module ${plugin.moduleName} with the versions: ${plugin.supportedVersions}`);
return exports;
}
if (plugin.moduleName !== name) {
this.logger.error(`PluginLoader#load: Entry ${name} use a plugin that instruments ${plugin.moduleName}`);
return exports;
}
this._plugins.push(plugin);

@@ -106,0 +123,0 @@ // Enable each supported plugin.

9

build/src/NodeTracerProvider.d.ts

@@ -16,6 +16,10 @@ /*!

*/
import { BasicTracerProvider } from '@opentelemetry/tracing';
import { BasicTracerProvider, SDKRegistrationConfig } from '@opentelemetry/tracing';
import { NodeTracerConfig } from './config';
/**
* This class represents a node tracer with `async_hooks` module.
* Register this TracerProvider for use with the OpenTelemetry API.
* Undefined values may be replaced with defaults, and
* null values will be skipped.
*
* @param config Configuration object for SDK registration
*/

@@ -29,2 +33,3 @@ export declare class NodeTracerProvider extends BasicTracerProvider {

stop(): void;
register(config?: SDKRegistrationConfig): void;
}

@@ -18,8 +18,12 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const context_async_hooks_1 = require("@opentelemetry/context-async-hooks");
const tracing_1 = require("@opentelemetry/tracing");
const scope_async_hooks_1 = require("@opentelemetry/scope-async-hooks");
const config_1 = require("./config");
const PluginLoader_1 = require("./instrumentation/PluginLoader");
const config_1 = require("./config");
/**
* This class represents a node tracer with `async_hooks` module.
* Register this TracerProvider for use with the OpenTelemetry API.
* Undefined values may be replaced with defaults, and
* null values will be skipped.
*
* @param config Configuration object for SDK registration
*/

@@ -31,7 +35,3 @@ class NodeTracerProvider extends tracing_1.BasicTracerProvider {

constructor(config = {}) {
if (config.scopeManager === undefined) {
config.scopeManager = new scope_async_hooks_1.AsyncHooksScopeManager();
config.scopeManager.enable();
}
super(Object.assign({ scopeManager: config.scopeManager }, config));
super(config);
this._pluginLoader = new PluginLoader_1.PluginLoader(this, this.logger);

@@ -43,4 +43,11 @@ this._pluginLoader.load(config.plugins || config_1.DEFAULT_INSTRUMENTATION_PLUGINS);

}
register(config = {}) {
if (config.contextManager === undefined) {
config.contextManager = new context_async_hooks_1.AsyncHooksContextManager();
config.contextManager.enable();
}
super.register(config);
}
}
exports.NodeTracerProvider = NodeTracerProvider;
//# sourceMappingURL=NodeTracerProvider.js.map

@@ -16,2 +16,2 @@ /*!

*/
export declare const VERSION = "0.4.0";
export declare const VERSION = "0.5.0";

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

// this is autogenerated file, see scripts/version-update.js
exports.VERSION = '0.4.0';
exports.VERSION = '0.5.0';
//# sourceMappingURL=version.js.map
{
"name": "@opentelemetry/node",
"version": "0.4.0",
"version": "0.5.0",
"description": "OpenTelemetry Node SDK provides automatic telemetry (tracing, metrics, etc) for Node.js applications",

@@ -9,11 +9,11 @@ "main": "build/src/index.js",

"scripts": {
"test": "nyc ts-mocha -p tsconfig.json 'test/**/*.ts'",
"test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'",
"tdd": "npm run test -- --watch-extensions ts --watch",
"codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../",
"clean": "rimraf build/*",
"check": "gts check",
"lint": "gts check",
"lint:fix": "gts fix",
"precompile": "tsc --version",
"version:update": "node ../../scripts/version-update.js",
"compile": "npm run version:update && tsc -p .",
"fix": "gts fix",
"prepare": "npm run compile"

@@ -45,2 +45,4 @@ },

"devDependencies": {
"@opentelemetry/context-base": "^0.5.0",
"@opentelemetry/resources": "^0.5.0",
"@types/mocha": "^5.2.5",

@@ -63,9 +65,9 @@ "@types/node": "^12.6.8",

"dependencies": {
"@opentelemetry/api": "^0.4.0",
"@opentelemetry/core": "^0.4.0",
"@opentelemetry/scope-async-hooks": "^0.4.0",
"@opentelemetry/tracing": "^0.4.0",
"@opentelemetry/api": "^0.5.0",
"@opentelemetry/context-async-hooks": "^0.5.0",
"@opentelemetry/core": "^0.5.0",
"@opentelemetry/tracing": "^0.5.0",
"require-in-the-middle": "^5.0.0",
"semver": "^6.2.0"
"semver": "^7.1.3"
}
}

@@ -30,3 +30,3 @@ # OpenTelemetry Node

- extract a trace-context identifier from inbound requests to allow distributed tracing (if applicable)
- make sure that this current trace-context is propagated while the transaction traverses an application (see [@opentelemetry/opentelemetry-scope-base](https://github.com/open-telemetry/opentelemetry-js/blob/master/packages/opentelemetry-scope-base/README.md) for an in-depth explanation)
- make sure that this current trace-context is propagated while the transaction traverses an application (see [@opentelemetry/opentelemetry-context-base](https://github.com/open-telemetry/opentelemetry-js/blob/master/packages/opentelemetry-context-base/README.md) for an in-depth explanation)
- add this trace-context identifier to outbound requests to allow continuing the distributed trace on the next hop (if applicable)

@@ -43,3 +43,3 @@ - create and end spans

```bash
npm install --save @opentelemetry/core
npm install --save @opentelemetry/api
npm install --save @opentelemetry/node

@@ -49,3 +49,2 @@

npm install --save @opentelemetry/plugin-http
npm install --save @opentelemetry/plugin-grpc
npm install --save @opentelemetry/plugin-https

@@ -59,4 +58,3 @@ ```

```js
const opentelemetry = require('@opentelemetry/core');
const { NodeTracerProvider } = require('@opentelemetry/node');
const { NodeTracerProvider } = require('@/node');

@@ -69,3 +67,3 @@ // Create and configure NodeTracerProvider

// You may use a package name or absolute path to the file.
path: '@opentelemetry/plugin-http',
path: '@/plugin-http',
// http plugin options

@@ -77,3 +75,3 @@ }

// Initialize the provider
opentelemetry.trace.initGlobalTracerProvider(provider);
provider.register()

@@ -88,3 +86,2 @@ // Your application code - http will automatically be instrumented if

```js
const opentelemetry = require('@opentelemetry/core');
const { NodeTracerProvider } = require('@opentelemetry/node');

@@ -96,3 +93,3 @@

// Initialize the provider
opentelemetry.trace.initGlobalTracerProvider(provider);
provider.register()

@@ -99,0 +96,0 @@ // Your application code

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