* TS example for packages * TS example for tracking * Updated example for tracing with TypeScript * upped the Prometheus version * Initial fully working version of the TS getting started guide * Updated separated guides for TS and JS * Link to the TS guide * Interlinked documents * Interlinked documents fixed * Interlinked documents fixed * Interlinked documents fixed * fixed initial links * Style formatting * Style formatting * Style formatting * Update getting-started/ts-example/README.md Co-Authored-By: Mayur Kale <mayurkale@google.com> * Update getting-started/ts-example/README.md Co-Authored-By: Mayur Kale <mayurkale@google.com> * Update getting-started/ts-example/README.md Co-Authored-By: Mayur Kale <mayurkale@google.com> * Pull review fixes * Code cleanup * Code cleanup * Code cleanup * Updated the package.json * Typo fixes * Typo fixes * Added an example for Jaeger * Code formatting Co-authored-by: Mayur Kale <mayurkale@google.com> |
||
|---|---|---|
| .circleci | ||
| .github | ||
| benchmark | ||
| doc | ||
| examples | ||
| getting-started | ||
| packages | ||
| scripts | ||
| .commitlintrc.yml | ||
| .editorconfig | ||
| .gitignore | ||
| .npmignore | ||
| .nycrc | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| RELEASING.md | ||
| codecov.yml | ||
| karma.base.js | ||
| karma.webpack.js | ||
| lerna.json | ||
| package.json | ||
| tslint.base.js | ||
| webpack.node-polyfills.js | ||
README.md
OpenTelemetry - distributed tracing and stats collection framework
About this project
This is the JavaScript version of OpenTelemetry, a framework for collecting traces, metrics and logs from applications.
This project is currently in Alpha stage. Its APIs can change at any time and it is not intended to be used in production scenarios!
Quick start
To get started tracing your own application, see the Getting Started Guide.
For more information, see @opentelemetry/tracing for an SDK that supports creating traces through manual instrumentation or @opentelemetry/node which provides auto-instrumentation for Node.js applications.
Release Schedule
OpenTelemetry JS is under active development. This release isn't guaranteed to conform to a specific version of the specification, and future releases will not attempt to maintain backwards compatibility with the alpha release.
The v0.2 alpha release includes:
- Tracing API
- Tracing SDK (Node and Web)
- Metrics API
- Jaeger Trace Exporter
- Zipkin Trace Exporter
- OpenTracing Bridge
- HTTP, GRPC, DNS Instrumentations
- Document Load for web
- Metrics SDK (
CounterandGaugesupport) - Export work is underway.
The v0.3 alpha release includes:
- Prometheus Metric Exporter
- OpenTelemetry Collector Exporter
- mongodb, redis, mysql Instrumentations
See the project milestones for details on upcoming releases. The dates and features described here are estimates, and subject to change.
Future release targets include:
| Component | Version | Target Date |
|---|---|---|
| Support for Tags/Baggage | Alpha v0.4 | December 31 2019 |
| Metrics Aggregation | Alpha v0.4 | December 31 2019 |
| Metrics SDK (Complete) | Alpha v0.4 | December 31 2019 |
| OpenCensus Bridge | Alpha v0.4 | December 31 2019 |
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.
We have a weekly SIG meeting! See the community page for meeting details and notes.
Approvers (@open-telemetry/js-approvers):
- Roch Devost, DataDog
- Brandon Gonzalez, LightStep
- Olivier Albertini, VilledeMontreal
- Valentin Marchaud, Open Source Contributor
- Mark Wolff, Microsoft
- Bartlomiej Obecny, LightStep
Find more about the approver role in community repository.
Maintainers (@open-telemetry/js-maintainers):
- Mayur Kale, Google
- Daniel Dyla, Dynatrace
Find more about the maintainer role in community repository.
Packages
API
| Package | Description |
|---|---|
| @opentelemetry/types | This package provides TypeScript interfaces and enums for the OpenTelemetry core trace and metrics model. It is intended for use both on the server and in the browser. |
| @opentelemetry/core | This package provides default and no-op implementations of the OpenTelemetry types for trace and metrics. It's intended for use both on the server and in the browser. |
Implementation / SDKs
| Package | Description |
|---|---|
| @opentelemetry/tracing | This module provides a full control over instrumentation and span creation. It doesn't load async_hooks or any instrumentation plugin by default. It is intended for use both on the server and in the browser. |
| @opentelemetry/metrics | This module provides instruments and meters for reporting of time series data. |
| @opentelemetry/node | This module provides automatic tracing for Node.js applications. It is intended for use on the server only. |
| @opentelemetry/web | This module provides automated instrumentation and tracing for Web applications. It is intended for use in the browser only. |
| @opentelemetry/base | This package provides base code for the SDK packages (tracing and metrics). |
Exporters
OpenTelemetry is vendor-agnostic and can upload data to any backend with various exporter implementations. Even though, OpenTelemetry provides support for many backends, vendors/users can also implement their own exporters for proprietary and unofficially supported backends. Currently, OpenTelemetry supports:
Trace Exporters
Metric Exporters
Plugins
OpenTelemetry can collect tracing data automatically using plugins. Vendors/Users can also create and use their own. Currently, OpenTelemetry supports automatic tracing for:
Node Plugins
- @opentelemetry/plugin-grpc
- @opentelemetry/plugin-http
- @opentelemetry/plugin-https
- @opentelemetry/plugin-mongodb
- @opentelemetry/plugin-mysql
- @opentelemetry/plugin-pg
- @opentelemetry/plugin-pg-pool
- @opentelemetry/plugin-redis
- @opentelemetry/plugin-ioredis
- @opentelemetry/plugin-dns - By default, this plugin is not loaded #612
Web Plugins
To request automatic tracing support for a module not on this list, please file an issue. Alternatively, you can write a plugin yourself.
Shims
| Package | Description |
|---|---|
| @opentelemetry/shim-opentracing | OpenTracing shim allows existing OpenTracing instrumentation to report to OpenTelemetry |
Useful links
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- For help or feedback on this project, join us on gitter
License
Apache 2.0 - See LICENSE for more information.