Getting Started • API Documentation
Contributing • Instrumentations • Propagators • Examples
This is a repository for OpenTelemetry JavaScript contributions that are not part of the core repository and core distribution of the API and SDK.
OpenTelemetry can collect tracing data automatically using instrumentations. Vendors/Users can also create and use their own. Currently, OpenTelemetry supports automatic tracing for:
- @opentelemetry/instrumentation-aws-lambda
- @opentelemetry/instrumentation-bunyan
- @opentelemetry/instrumentation-cassandra-driver
- @opentelemetry/instrumentation-connect
- @opentelemetry/instrumentation-dns
- @opentelemetry/instrumentation-express
- @opentelemetry/instrumentation-generic-pool
- @opentelemetry/instrumentation-graphql
- @opentelemetry/instrumentation-grpc
- @opentelemetry/instrumentation-hapi
- @opentelemetry/instrumentation-http
- @opentelemetry/instrumentation-ioredis
- @opentelemetry/instrumentation-knex
- @opentelemetry/instrumentation-koa
- @opentelemetry/instrumentation-memcached
- @opentelemetry/instrumentation-mongodb
- @opentelemetry/instrumentation-mysql
- @opentelemetry/instrumentation-mysql2
- @opentelemetry/instrumentation-nestjs-core
- @opentelemetry/instrumentation-net
- @opentelemetry/instrumentation-pg
- @opentelemetry/instrumentation-pino
- @opentelemetry/instrumentation-redis
- @opentelemetry/instrumentation-restify
- @opentelemetry/instrumentation-router
- @opentelemetry/instrumentation-winston
- @opentelemetry/instrumentation-xml-http-request
- @opentelemetry/instrumentation-fetch
- @opentelemetry/instrumentation-document-load
- @opentelemetry/instrumentation-user-interaction
- @opentelemetry/plugin-react-load
Multiple instrumentations may be leveraged via metapackages.
- @opentelemetry/auto-instrumentations-node - Metapackage which bundles opentelemetry node core and contrib instrumentations
- @opentelemetry/auto-instrumentations-web - Metapackage which bundles opentelemetry web core and contrib instrumentations
OpenTelemetry can collect resource attributes of the entity that producing telemetry. For example, a process producing telemetry that is running in a container on Kubernetes has a Pod name, it is in a namespace and possibly is part of a Deployment which also has a name. All three of these attributes can be included in the Resource
.
Currently, OpenTelemetry supports automatic collection for following environments:
- @opentelemetry/resource-detector-alibaba-cloud
- @opentelemetry/resource-detector-aws
- @opentelemetry/resource-detector-gcp
- @opentelemetry/resource-detector-github
Platform Version | Supported |
---|---|
Node.JS v14 |
✅ |
Node.JS v12 |
✅ |
Node.JS v10 |
✅ |
Node.JS v8 |
See Node Support below |
Web Browsers | ✅ See Browser Support below |
Automated tests are run using the latest release of each currently active version of Node.JS.
While Node.JS v8 is no longer supported by the Node.JS team, the latest version of Node.JS v8 is still included in our testing suite.
Please note that versions of Node.JS v8 prior to v8.5.0
will NOT work, because OpenTelemetry Node depends on the perf_hooks
module introduced in v8.5.0
Automated browser tests are run in the latest version of Headless Chrome. There is currently no list of officially supported browsers, but OpenTelemetry is developed using standard web technologies with wide support and should work in currently supported versions of major browsers.
We'd love your help!. Use tags up-for-grabs and good first issue to get started with the project. Follow CONTRIBUTING guide to report issues or submit a proposal.
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- For help or feedback on this project, join us in GitHub Discussions
Apache 2.0 - See LICENSE for more information.