Getting Started • API Documentation
Contributing • Instrumentations • Propagators • Examples
About this project
This is a repository for OpenTelemetry JavaScript contributions that are not part of the core repository and core distribution of the API and SDK.
Instrumentations
OpenTelemetry can collect tracing data automatically using instrumentations. Vendors/Users can also create and use their own. Currently, OpenTelemetry supports automatic tracing for:
Node Instrumentations
- @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
Web Instrumentations
- @opentelemetry/instrumentation-xml-http-request
- @opentelemetry/instrumentation-fetch
- @opentelemetry/instrumentation-document-load
- @opentelemetry/instrumentation-user-interaction
- @opentelemetry/plugin-react-load
Metapackages
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
Resource Detectors
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
Supported Runtimes
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 |
Node Support
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
Browser Support
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.
Contributing
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.
Useful links
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- For help or feedback on this project, join us in GitHub Discussions
License
Apache 2.0 - See LICENSE for more information.