Skip to content

Commit

Permalink
chore: merge branch 'main' into propagators
Browse files Browse the repository at this point in the history
  • Loading branch information
obecny committed Apr 30, 2021
2 parents ffff74c + 2afcc7c commit 809f2fe
Show file tree
Hide file tree
Showing 78 changed files with 719 additions and 422 deletions.
53 changes: 17 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,46 +89,25 @@ Please note that versions of Node.JS v8 prior to `v8.5.0` will NOT work, because
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.

## 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.

| Component | Initial Version | Release Date |
|----------------------------|-----------------|------------------|
| Tracing API | Alpha v0.1.0 | October 14 2019 |
| Tracing SDK (Node and Web) | Alpha v0.1.0 | October 14 2019 |
| Jaeger Trace Exporter | Alpha v0.1.0 | October 14 2019 |
| Trace Context Propagation | Alpha v0.1.0 | October 14 2019 |
| Zipkin Trace Exporter | Alpha v0.1.0 | October 14 2019 |
| OpenTracing Bridge | Alpha v0.1.0 | October 14 2019 |
| Metrics API | Alpha v0.2.0 | November 04 2019 |
| Metrics SDK | Alpha v0.2.0 | November 04 2019 |
| Prometheus Metric Exporter | Alpha v0.3.0 | December 13 2019 |
| Resources | Beta v0.5.0 | March 16 2020 |
| Metrics SDK (Complete) | Beta v0.5.0 | March 16 2020 |
| OpenCensus Bridge | Unknown | Unknown |
| Support for Tags/Baggage | Unknown | Unknown |

## Feature Status

Last updated March 2020
As of [`v0.19.0`][feature-status-release]:

| Feature | API Status | Specification Target | SDK Status |
|---------------------|------------|----------------------|-------------|
| Tracing | Beta | v0.3 | Beta |
| Metrics | Beta | v0.3 | Beta |
| Context | Beta | v0.3 | Beta |
| Propagation | Beta | v0.3 | Beta |
| Baggage | Alpha | v0.3 | Development |
| OpenTracing Bridge | N/A | v0.3 | Beta |
| Resources | N/A | v0.3 | Beta |
| Feature | Status |
|---------------------|-------------|
| B3 Propagation | Beta |
| Zipkin Export | Beta |
| Jaeger Propagation | Beta |
| Jaeger Export | Beta |
| OpenTracing Bridge | Beta |
| Resources | Beta |
| Tracing | Beta |
| W3C Baggage | Beta |
| W3C Trace Context | Beta |
| Metrics API | Development |
| Metrics SDK | Development |

See the [project
milestones](https://github.com/open-telemetry/opentelemetry-js/milestones)
for details on upcoming releases. The dates and features described here are
estimates, and subject to change.
For a more detailed breakdown of feature support see the [specification compliance matrix][compliance-matrix].

## Contributing

Expand Down Expand Up @@ -421,6 +400,8 @@ Apache 2.0 - See [LICENSE][license-url] for more information.
[good-first-issues]: https://github.com/open-telemetry/OpenTelemetry-js/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22

[docs]: https://open-telemetry.github.io/opentelemetry-js
[feature-status-release]: https://github.com/open-telemetry/opentelemetry-js/releases/tag/v0.19.0
[compliance-matrix]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md

[otel-metrics]: https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-metrics
[otel-node]: https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-node
Expand Down
2 changes: 1 addition & 1 deletion backwards-compatability/node10/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"@opentelemetry/tracing": "0.19.0"
},
"devDependencies": {
"@types/node": "10.17.58",
"@types/node": "10.17.59",
"typescript": "4.2.4"
},
"author": "OpenTelemetry Authors",
Expand Down
2 changes: 1 addition & 1 deletion backwards-compatability/node12/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"@opentelemetry/tracing": "0.19.0"
},
"devDependencies": {
"@types/node": "12.20.10",
"@types/node": "12.20.11",
"typescript": "4.2.4"
},
"author": "OpenTelemetry Authors",
Expand Down
12 changes: 6 additions & 6 deletions examples/grpc-js/tracer.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,6 @@ const EXPORTER = process.env.EXPORTER || '';

module.exports = (serviceName) => {
const provider = new NodeTracerProvider();
registerInstrumentations({
instrumentations: [
new GrpcInstrumentation(),
],
tracerProvider: provider,
});

let exporter;
if (EXPORTER.toLowerCase().startsWith('z')) {
Expand All @@ -35,5 +29,11 @@ module.exports = (serviceName) => {
// Initialize the OpenTelemetry APIs to use the NodeTracerProvider bindings
provider.register();

registerInstrumentations({
instrumentations: [
new GrpcInstrumentation(),
],
});

return opentelemetry.trace.getTracer('grpc-js-example');
};
12 changes: 6 additions & 6 deletions examples/grpc/tracer.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,6 @@ const EXPORTER = process.env.EXPORTER || '';

module.exports = (serviceName) => {
const provider = new NodeTracerProvider();
registerInstrumentations({
tracerProvider: provider,
instrumentations: [
new GrpcInstrumentation(),
],
});

let exporter;
if (EXPORTER.toLowerCase().startsWith('z')) {
Expand All @@ -35,5 +29,11 @@ module.exports = (serviceName) => {
// Initialize the OpenTelemetry APIs to use the NodeTracerProvider bindings
provider.register();

registerInstrumentations({
instrumentations: [
new GrpcInstrumentation(),
],
});

return opentelemetry.trace.getTracer('grpc-example');
};
14 changes: 7 additions & 7 deletions examples/http/tracer.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,6 @@ const EXPORTER = process.env.EXPORTER || '';

module.exports = (serviceName) => {
const provider = new NodeTracerProvider();
registerInstrumentations({
tracerProvider: provider,
// // when boostraping with lerna for testing purposes
instrumentations: [
new HttpInstrumentation(),
],
});

let exporter;
if (EXPORTER.toLowerCase().startsWith('z')) {
Expand All @@ -36,5 +29,12 @@ module.exports = (serviceName) => {
// Initialize the OpenTelemetry APIs to use the NodeTracerProvider bindings
provider.register();

registerInstrumentations({
// // when boostraping with lerna for testing purposes
instrumentations: [
new HttpInstrumentation(),
],
});

return opentelemetry.trace.getTracer('http-example');
};
12 changes: 6 additions & 6 deletions examples/https/tracer.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,6 @@ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
module.exports = (serviceName) => {
let exporter;
const provider = new NodeTracerProvider();
registerInstrumentations({
tracerProvider: provider,
instrumentations: [
new HttpInstrumentation(),
],
});

if (EXPORTER.toLowerCase().startsWith('z')) {
exporter = new ZipkinExporter({
Expand All @@ -36,5 +30,11 @@ module.exports = (serviceName) => {
// Initialize the OpenTelemetry APIs to use the NodeTracerProvider bindings
provider.register();

registerInstrumentations({
instrumentations: [
new HttpInstrumentation(),
],
});

return opentelemetry.trace.getTracer('https-example');
};
6 changes: 3 additions & 3 deletions examples/opentracing-shim/shim.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ const { TracerShim } = require('@opentelemetry/shim-opentracing');

function shim(serviceName) {
const provider = new NodeTracerProvider();
registerInstrumentations({
tracerProvider: provider,
});

provider.addSpanProcessor(new SimpleSpanProcessor(getExporter(serviceName)));
// Initialize the OpenTelemetry APIs to use the NodeTracerProvider bindings
provider.register();

registerInstrumentations({
});

return new TracerShim(provider.getTracer('opentracing-shim'));
}

Expand Down
16 changes: 7 additions & 9 deletions examples/tracer-web/examples/fetch/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ import { B3Propagator } from '@opentelemetry/propagator-b3';
import { registerInstrumentations } from '@opentelemetry/instrumentation';

const provider = new WebTracerProvider();
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(new SimpleSpanProcessor(new CollectorTraceExporter()));
provider.register({
contextManager: new ZoneContextManager(),
propagator: new B3Propagator(),
});

registerInstrumentations({
instrumentations: [
Expand All @@ -20,17 +26,9 @@ registerInstrumentations({
'https://cors-test.appspot.com/test',
'https://httpbin.org/get',
],
clearTimingResources: true
clearTimingResources: true,
}),
],
tracerProvider: provider,
});

provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(new SimpleSpanProcessor(new CollectorTraceExporter()));
provider.register({
contextManager: new ZoneContextManager(),
propagator: new B3Propagator(),
});

const webTracerWithZone = provider.getTracer('example-tracer-web');
Expand Down
16 changes: 7 additions & 9 deletions examples/tracer-web/examples/xml-http-request/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ import { B3Propagator } from '@opentelemetry/propagator-b3';
import { registerInstrumentations } from '@opentelemetry/instrumentation';

const providerWithZone = new WebTracerProvider();
providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new CollectorTraceExporter()));

providerWithZone.register({
contextManager: new ZoneContextManager(),
propagator: new B3Propagator(),
});

registerInstrumentations({
instrumentations: [
Expand All @@ -18,15 +25,6 @@ registerInstrumentations({
],
}),
],
tracerProvider: providerWithZone,
});

providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new CollectorTraceExporter()));

providerWithZone.register({
contextManager: new ZoneContextManager(),
propagator: new B3Propagator(),
});

const webTracerWithZone = providerWithZone.getTracer('example-tracer-web');
Expand Down
6 changes: 2 additions & 4 deletions getting-started/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ This guide walks you through the setup and configuration process for a tracing b

- [Getting started with OpenTelemetry JS](#getting-started-with-opentelemetry-js)
- [Trace your application with OpenTelemetry](#trace-your-application-with-opentelemetry)
- [Set up a Tracing Backend](#set-up-a-tracing-backend)
- [Trace Your NodeJS Application](#trace-your-nodejs-application)
- [Set up a tracing backend](#set-up-a-tracing-backend)
- [Trace your NodeJS application](#trace-your-nodejs-application)
- [Install the required OpenTelemetry libraries](#install-the-required-opentelemetry-libraries)
- [Initialize a global tracer](#initialize-a-global-tracer)
- [Initialize and register a trace exporter](#initialize-and-register-a-trace-exporter)
Expand Down Expand Up @@ -92,7 +92,6 @@ registerInstrumentations({
new HttpInstrumentation(),
new GrpcInstrumentation(),
],
tracerProvider: provider,
});

```
Expand Down Expand Up @@ -153,7 +152,6 @@ registerInstrumentations({
new HttpInstrumentation(),
new GrpcInstrumentation(),
],
tracerProvider: provider,
});

console.log("tracing initialized");
Expand Down
2 changes: 1 addition & 1 deletion getting-started/traced-example/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"@opentelemetry/exporter-zipkin": "0.19.0",
"@opentelemetry/node": "0.19.0",
"@opentelemetry/instrumentation": "0.19.0",
"@opentelemetry/instrumentation-express": "^0.15.0",
"@opentelemetry/instrumentation-express": "^0.16.0",
"@opentelemetry/instrumentation-http": "0.19.0",
"@opentelemetry/tracing": "0.19.0",
"axios": "^0.21.0",
Expand Down
1 change: 0 additions & 1 deletion getting-started/traced-example/tracing.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ provider.register();

// load old default plugins
registerInstrumentations({
tracerProvider: provider,
instrumentations: [
new ExpressInstrumentation(),
new HttpInstrumentation(),
Expand Down
6 changes: 2 additions & 4 deletions getting-started/ts-example/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ const provider: NodeTracerProvider = new NodeTracerProvider({
provider.register();

registerInstrumentations({
tracerProvider: provider,
instrumentations: [
new ExpressInstrumentation(),
new HttpInstrumentation(),
Expand Down Expand Up @@ -137,8 +136,6 @@ const provider: NodeTracerProvider = new NodeTracerProvider({
logLevel: LogLevel.ERROR,
});

provider.register();

provider.addSpanProcessor(
new SimpleSpanProcessor(
new ZipkinExporter({
Expand All @@ -152,8 +149,9 @@ provider.addSpanProcessor(
),
);

provider.register();

registerInstrumentations({
tracerProvider: provider,
instrumentations: [
new ExpressInstrumentation(),
new HttpInstrumentation(),
Expand Down
2 changes: 1 addition & 1 deletion getting-started/ts-example/example/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"license": "Apache-2.0",
"devDependencies": {
"@types/express": "4.17.11",
"@types/node": "14.14.41",
"@types/node": "14.14.43",
"ts-node": "8.10.2"
},
"dependencies": {
Expand Down
2 changes: 1 addition & 1 deletion getting-started/ts-example/monitored-example/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"license": "Apache-2.0",
"devDependencies": {
"@types/express": "4.17.11",
"@types/node": "14.14.41",
"@types/node": "14.14.43",
"ts-node": "8.10.2"
},
"dependencies": {
Expand Down
4 changes: 2 additions & 2 deletions getting-started/ts-example/traced-example/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@
"license": "Apache-2.0",
"devDependencies": {
"@types/express": "4.17.11",
"@types/node": "14.14.41",
"@types/node": "14.14.43",
"ts-node": "9.1.1"
},
"dependencies": {
"@opentelemetry/core": "0.19.0",
"@opentelemetry/exporter-zipkin": "0.19.0",
"@opentelemetry/instrumentation": "0.19.0",
"@opentelemetry/node": "0.19.0",
"@opentelemetry/instrumentation-express": "^0.15.0",
"@opentelemetry/instrumentation-express": "^0.16.0",
"@opentelemetry/instrumentation-http": "0.19.0",
"@opentelemetry/tracing": "0.19.0",
"axios": "^0.21.0",
Expand Down
5 changes: 1 addition & 4 deletions getting-started/ts-example/traced-example/tracing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ const { ExpressInstrumentation } = require('@opentelemetry/instrumentation-expre
const { HttpInstrumentation } = require('@opentelemetry/instrumentation-http');

const provider: NodeTracerProvider = new NodeTracerProvider();

provider.register();

provider.addSpanProcessor(
new SimpleSpanProcessor(
new ZipkinExporter({
Expand All @@ -25,9 +22,9 @@ provider.addSpanProcessor(
}),
),
);
provider.register();

registerInstrumentations({
tracerProvider: provider,
instrumentations: [
new ExpressInstrumentation(),
new HttpInstrumentation(),
Expand Down
Loading

0 comments on commit 809f2fe

Please sign in to comment.