{"bugs":{"url":"https://github.com/open-telemetry/opentelemetry-js/issues"},"dist":{"shasum":"e6b75f61d0418c15472ba0713db60d5cf2d7cdf1","tarball":"https://registry.npmjs.org/@opentelemetry/node/-/node-0.17.1-alpha.5.tgz","fileCount":15,"integrity":"sha512-zWrgTgWxJa+csY4KFfXgot/SDGL7A3M+bwwP+LIEZzZtKH+tr7S9lDBYg82JrdbAScvJLIXZ6f0FJbCudyiM7w==","signatures":[{"sig":"MEYCIQD7btQUjmZHDJjq9QUWa5X9CBux+tiXc5lYOtkffTYKKAIhAP3ytkR3Sm/XfUE43eDH98cJWYYMXJoxrbVcF3LqFswr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNorRCRA9TVsSAnZWagAAxDEP/0jT66/baAIeL1VPFrzk\nLiaZuVHsV5IsIbmrzVVjjpa3DtTAizFiH3Y6IBL9nQGFIC6Qk4SpV0fe1jlm\n8wcwfonS+FjpOEZbrR+UCr2CYKWUB60mGaUpt+3+Dw9u/xGMeeLBjOXu+ChB\nI9j6ARu0OI0aylzo/q/L3RZkzbaO9gMGB4qvSKYoyiMqwPFQOzLPgo+dSX4T\ns2WHEH367wD3GV3uORQ01yzq7POGuIty1CFezYmMvV21WZ+bClHV8X61y/5x\nN7MZtx0d1ABiVWuf9f/VEWA5yJ3h8yyLYy07nT8yQlMg5CF0wC7l0xJf2qVb\nBZUO9I0nC+Ou9fL/N048zRjiG9iPadprFtzm5xqJde0ZiZBjh2cs792hoWqR\nWmwbD+VP58ByVvq4rDbWiCU+hLDKu8JXRPMRl3UmFAq6K/RaHD2EcdRjRwO9\n8U0oLTPCoXCo2gRKVrMVMaUkJr/RV44WtXCeUTPWiF4RrY8roGHwUVnrFkiB\nEjntFVrXWuw+Q4wPhtqrlQ6z91uc4BzM+7/GAllA35m+DZrnNJ2cJBvY41Q1\nYVWAHl/AABKGzfMiCMQLREMiJzVqkrUWC4VFKlTGU28Q1hn22Vfw/uyiKl84\nBNE5OPxZ0f4XviKihyxUudpn83JKGh8Ow/ZBfwIhTcvHkvRvVYNq7834Lyq/\n2Pad\r\n=y7I+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"build/src/index.js","name":"@opentelemetry/node","types":"build/src/index.d.ts","author":{"name":"OpenTelemetry Authors"},"readme":"# OpenTelemetry Node SDK\n\n[![NPM Published Version][npm-img]][npm-url]\n[![dependencies][dependencies-image]][dependencies-url]\n[![devDependencies][devDependencies-image]][devDependencies-url]\n[![Apache License][license-image]][license-image]\n\nThis module provides *automated instrumentation and tracing* for Node.js applications.\n\nFor manual instrumentation see the\n[@opentelemetry/tracing](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-tracing) package.\n\n## How auto instrumentation works\n\nThis package exposes a `NodeTracerProvider`.\nFor loading plugins / instrumentations please use `registerInstrumentations` function from [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-instrumentation)\n\nOpenTelemetry comes with a growing number of instrumentation plugins for well know modules (see [supported modules](https://github.com/open-telemetry/opentelemetry-js#plugins)) and an API to create custom instrumentation (see [the instrumentation developer guide](https://github.com/open-telemetry/opentelemetry-js/blob/main/doc/instrumentation-guide.md)).\n\n> **Please note:** This module does *not* bundle any plugins. They need to be installed separately.\n\nThis is done by wrapping all tracing-relevant functions.\n\nThis instrumentation code will automatically\n\n- extract a trace-context identifier from inbound requests to allow distributed tracing (if applicable)\n- make sure that this current trace-context is propagated while the transaction traverses an application (see [@opentelemetry/context-base](https://github.com/open-telemetry/opentelemetry-js/blob/main/packages/opentelemetry-context-base/README.md) for an in-depth explanation)\n- add this trace-context identifier to outbound requests to allow continuing the distributed trace on the next hop (if applicable)\n- create and end spans\n\n## Creating custom spans on top of auto-instrumentation\n\nAdditionally to automated instrumentation, `NodeTracerProvider` exposes the same API as [@opentelemetry/tracing](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-tracing), allowing creating custom spans if needed.\n\n## Installation\n\n```bash\nnpm install --save @opentelemetry/api\nnpm install --save @opentelemetry/node\n\n# Install instrumentation plugins\nnpm install --save @opentelemetry/instrumentation-http\n# and for example one additional\nnpm install --save instrumentation-graphql\n```\n\n## Usage\n\nThe following code will configure the `NodeTracerProvider` to instrument `http`\n(and any other installed [supported\nmodules](https://github.com/open-telemetry/opentelemetry-js#plugins))\nusing `@opentelemetry/plugin-http`.\n\n```javascript\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { NodeTracerProvider } = require('@opentelemetry/node');\n\n// Create and configure NodeTracerProvider\nconst provider = new NodeTracerProvider();\n\n// Initialize the provider\nprovider.register();\n\n// register and load instrumentation and old plugins - old plugins will be loaded automatically as previously\n// but instrumentations needs to be added\nregisterInstrumentations({\n  tracerProvider: provider,\n});\n\n// Your application code - http will automatically be instrumented if\n// @opentelemetry/plugin-http is present\nconst http = require('http');\n```\n\n## Instrumentation / Plugin configuration\n\nUser supplied plugin configuration is merged with the default plugin\nconfiguration. Furthermore, custom plugins that are configured are implicitly\nenabled just as default plugins are.\n\nIn the following example:\n\n- the default express plugin is disabled\n- the http plugin has a custom config for a `requestHook`\n- the customPlugin is loaded from the user supplied path\n- all default plugins are still loaded if installed.\n\n```javascript\nconst { GraphQLInstrumentation } = require('@opentelemetry/instrumentation-graphql');\n\nconst provider = new NodeTracerProvider();\n\n// register and load instrumentation and old plugins - old plugins will be loaded automatically as previously\n// but instrumentations needs to be added\nregisterInstrumentations({\n  tracerProvider: provider,\n  instrumentations: [\n    new GraphQLInstrumentation(),\n    // for older plugins you can just copy paste the old configuration\n    {\n      plugins: {\n        express: {\n          enabled: false,\n        },\n        http: {\n          requestHook: (span, request) => {\n            span.setAttribute(\"custom request hook attribute\", \"request\");\n          },\n        },\n        customPlugin: {\n          path: \"/path/to/custom/module\",\n        },\n      },\n    }\n  ],\n});\n\n\n```\n\n### Disable Plugins with Environment Variables\n\nPlugins can be disabled without modifying and redeploying code.\n`OTEL_NO_PATCH_MODULES` accepts a\ncomma separated list of module names to disabled specific plugins.\nThe names should match what you use to `require` the module into your application.\nFor example, `OTEL_NO_PATCH_MODULES=pg,https` will disable the postgres plugin and the https plugin. To disable **all** plugins, set the environment variable to `*`.\n\n## Examples\n\nSee how to automatically instrument [http](https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/http) and [gRPC](https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/grpc) / [grpc-js](https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/grpc-js) using node-sdk.\n\n## Useful links\n\n- For more information on OpenTelemetry, visit: <https://opentelemetry.io/>\n- For more about OpenTelemetry JavaScript: <https://github.com/open-telemetry/opentelemetry-js>\n- For help or feedback on this project, join us in [GitHub Discussions][discussions-url]\n\n## License\n\nApache 2.0 - See [LICENSE][license-url] for more information.\n\n[discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions\n[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/main/LICENSE\n[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat\n[dependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/status.svg?path=packages/opentelemetry-node\n[dependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-node\n[devDependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/dev-status.svg?path=packages/opentelemetry-node\n[devDependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-node&type=dev\n[npm-url]: https://www.npmjs.com/package/@opentelemetry/node\n[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fnode.svg\n","engines":{"node":">=8.0.0"},"gitHead":"36ae1bd89abc2e2cc7f64e4a35a94d7e75a81d0d","license":"Apache-2.0","scripts":{"tdd":"npm run test -- --watch-extensions ts --watch","lint":"eslint . --ext .ts","test":"nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'","clean":"tsc --build --clean","watch":"tsc --build --watch","codecov":"nyc report --reporter=json && codecov -f coverage/*.json -p ../../","compile":"tsc --build","version":"node ../../scripts/version-update.js","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"dyladan","email":"dyladan@gmail.com"},"homepage":"https://github.com/open-telemetry/opentelemetry-js#readme","keywords":["opentelemetry","nodejs","tracing","profiling","metrics","stats"],"deprecated":"Package renamed to @opentelemetry/sdk-trace-node","repository":{"url":"git+https://github.com/open-telemetry/opentelemetry-js.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v14.15.5+x64 (linux)","description":"OpenTelemetry Node SDK provides automatic telemetry (tracing, metrics, etc) for Node.js applications","directories":{},"maintainers":[{"name":"mayurkale22","email":"mayurkale22@gmail.com"},{"name":"bogdandrutu","email":"bogdandrutu@gmail.com"},{"name":"dyladan","email":"dyladan@gmail.com"},{"name":"obecny","email":"bobecny@gmail.com"}],"_nodeVersion":"14.15.5","dependencies":{"semver":"^7.1.3","@opentelemetry/api":"^0.17.0","@opentelemetry/core":"^0.17.1-alpha.5+36ae1bd8","@opentelemetry/tracing":"^0.17.1-alpha.5+36ae1bd8","@opentelemetry/context-async-hooks":"^0.17.1-alpha.5+36ae1bd8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"3.1.0","nyc":"15.1.0","mocha":"7.2.0","sinon":"9.2.3","rimraf":"3.0.2","codecov":"3.8.1","shimmer":"1.2.1","ts-node":"9.1.1","ts-mocha":"8.0.0","typescript":"4.1.3","@types/node":"14.14.20","@types/mocha":"8.2.0","@types/sinon":"9.0.10","@types/semver":"7.3.4","@types/shimmer":"1.0.1","@opentelemetry/resources":"^0.17.1-alpha.5+36ae1bd8","@opentelemetry/context-base":"^0.17.0"},"_npmOperationalInternal":{"tmp":"tmp/node_0.17.1-alpha.5_1614187217299_0.3378603943995704","host":"s3://npm-registry-packages"},"_id":"@opentelemetry/node@0.17.1-alpha.5","version":"0.17.1-alpha.5"}