Skip to content

Commit 0a15276

Browse files
Merge branch 'master' into http-sender
2 parents 7e64566 + 45ea74a commit 0a15276

File tree

179 files changed

+1989
-1126
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+1989
-1126
lines changed

.circleci/config.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ cache_1: &cache_1
1010
- ./node_modules
1111
- ./package-lock.json
1212
- packages/opentelemetry-api/node_modules
13-
- packages/opentelemetry-base/node_modules
1413
- packages/opentelemetry-context-async-hooks/node_modules
1514
- packages/opentelemetry-context-base/node_modules
1615
- packages/opentelemetry-context-zone/node_modules
@@ -190,6 +189,11 @@ jobs:
190189
- image: node:13
191190
environment: *node_test_env
192191
<<: *node_unit_tests
192+
node14:
193+
docker:
194+
- image: node:14
195+
environment: *node_test_env
196+
<<: *node_unit_tests
193197
node12-browsers:
194198
docker:
195199
- image: circleci/node:12-browsers
@@ -215,5 +219,6 @@ workflows:
215219
- node10
216220
- node12
217221
- node13
222+
- node14
218223
- node12-browsers
219224

.gitmodules

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[submodule "packages/opentelemetry-exporter-collector/src/platform/node/protos"]
22
path = packages/opentelemetry-exporter-collector/src/platform/node/protos
3-
url = git@github.com:open-telemetry/opentelemetry-proto.git
3+
url = https://github.com/open-telemetry/opentelemetry-proto.git

CHANGELOG.md

+29
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,35 @@ All notable changes to this project will be documented in this file.
44

55
## Unreleased
66

7+
## 0.7.0
8+
9+
Released 2020-04-23
10+
11+
#### :boom: Breaking Change
12+
* `opentelemetry-exporter-collector`
13+
* [#901](https://github.com/open-telemetry/opentelemetry-js/pull/901) grpc for node and support for new proto format for node and browser ([@obecny](https://github.com/obecny))
14+
* `opentelemetry-api`, `opentelemetry-metrics`
15+
* [#964](https://github.com/open-telemetry/opentelemetry-js/pull/964) chore: adding metric observable to be able to support async update ([@obecny](https://github.com/obecny))
16+
17+
#### :bug: (Bug Fix)
18+
* `opentelemetry-plugin-http`
19+
* [#960](https://github.com/open-telemetry/opentelemetry-js/pull/960) [http] fix: use url.URL ([@naseemkullah](https://github.com/naseemkullah))
20+
* `opentelemetry-core`
21+
* [#977](https://github.com/open-telemetry/opentelemetry-js/pull/977) fix(B3Propagator): B3 sampled causing gRPC error ([@mayurkale22](https://github.com/mayurkale22))
22+
23+
#### :rocket: (Enhancement)
24+
* `opentelemetry-resources`
25+
* [#899](https://github.com/open-telemetry/opentelemetry-js/pull/899) feat: resource auto-detection ([@mwear](https://github.com/mwear))
26+
* `opentelemetry-metrics`
27+
* [#930](https://github.com/open-telemetry/opentelemetry-js/pull/930) feat(aggregators): implement histogram aggregator ([@vmarchaud](https://github.com/vmarchaud))
28+
29+
#### Committers: 5
30+
- Naseem ([@naseemkullah](https://github.com/naseemkullah))
31+
- Matthew Wear ([@mwear](https://github.com/mwear))
32+
- Bartlomiej Obecny ([@obecny](https://github.com/obecny))
33+
- Mayur Kale ([@mayurkale22](https://github.com/mayurkale22))
34+
- Valentin Marchaud ([@vmarchaud](https://github.com/vmarchaud))
35+
736
## 0.6.1
837

938
Released 2020-04-08

README.md

+20-2
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,26 @@ To get started tracing your own application, see the [Getting Started Guide](get
5454

5555
If you are a library author looking to build OpenTelemetry into your library, please see [the documentation][docs]. As a library author, it is important that you only depend on properties and methods published on the public API. If you use any properties or methods from the SDK that are not officially a part of the public API, your library may break if an [Application Owner](#application-owner) uses a different SDK implementation.
5656

57+
## Supported Runtimes
58+
59+
Platform Version | Supported
60+
---------------- | ---------
61+
Node.JS `v14` | ✅
62+
Node.JS `v13` | ✅
63+
Node.JS `v12` | ✅
64+
Node.JS `v10` | ✅
65+
Node.JS `v8` | See [Node Support](#node-support) below
66+
Web Browsers | ✅ See [Browser Support](#browser-support) below
67+
68+
### Node Support
69+
Automated tests are run using the latest release of each currently active version of Node.JS.
70+
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.
71+
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`
72+
73+
### Browser Support
74+
Automated browser tests are run in the latest version of Headless Chrome.
75+
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.
76+
5777
## Release Schedule
5878

5979
OpenTelemetry JS is under active development.
@@ -142,7 +162,6 @@ Maintainers ([@open-telemetry/js-maintainers](https://github.com/orgs/open-telem
142162
| [@opentelemetry/metrics][otel-metrics] | This module provides instruments and meters for reporting of time series data. |
143163
| [@opentelemetry/node][otel-node] | This module provides automatic tracing for Node.js applications. It is intended for use on the server only. |
144164
| [@opentelemetry/web][otel-web] | This module provides automated instrumentation and tracing for Web applications. It is intended for use in the browser only. |
145-
| [@opentelemetry/base][otel-base] | This package provides base code for the SDK packages (tracing and metrics). |
146165

147166
### Compatible Exporters
148167

@@ -202,7 +221,6 @@ Apache 2.0 - See [LICENSE][license-url] for more information.
202221

203222
[docs]: https://open-telemetry.github.io/opentelemetry-js
204223

205-
[otel-base]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-base
206224
[otel-metrics]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-metrics
207225
[otel-node]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-node
208226

examples/basic-tracer-node/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "example-basic-tracer-node",
33
"private": true,
4-
"version": "0.6.1",
4+
"version": "0.7.0",
55
"description": "Example of using @opentelemetry/tracing in Node.js",
66
"main": "index.js",
77
"scripts": {
@@ -24,9 +24,9 @@
2424
"url": "https://github.com/open-telemetry/opentelemetry-js/issues"
2525
},
2626
"dependencies": {
27-
"@opentelemetry/api": "^0.6.1",
28-
"@opentelemetry/exporter-jaeger": "^0.6.1",
29-
"@opentelemetry/tracing": "^0.6.1"
27+
"@opentelemetry/api": "^0.7.0",
28+
"@opentelemetry/exporter-jaeger": "^0.7.0",
29+
"@opentelemetry/tracing": "^0.7.0"
3030
},
3131
"homepage": "https://github.com/open-telemetry/opentelemetry-js#readme"
3232
}

examples/collector-exporter-node/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "example-collector-exporter-node",
33
"private": true,
4-
"version": "0.6.1",
4+
"version": "0.7.0",
55
"description": "Example of using @opentelemetry/collector-exporter in Node.js",
66
"main": "index.js",
77
"scripts": {
@@ -26,9 +26,9 @@
2626
"url": "https://github.com/open-telemetry/opentelemetry-js/issues"
2727
},
2828
"dependencies": {
29-
"@opentelemetry/api": "^0.6.1",
30-
"@opentelemetry/exporter-collector": "^0.6.1",
31-
"@opentelemetry/tracing": "^0.6.1"
29+
"@opentelemetry/api": "^0.7.0",
30+
"@opentelemetry/exporter-collector": "^0.7.0",
31+
"@opentelemetry/tracing": "^0.7.0"
3232
},
3333
"homepage": "https://github.com/open-telemetry/opentelemetry-js#readme"
3434
}

examples/grpc/package.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "grpc-example",
33
"private": true,
4-
"version": "0.6.1",
4+
"version": "0.7.0",
55
"description": "Example of gRPC integration with OpenTelemetry",
66
"main": "index.js",
77
"scripts": {
@@ -28,12 +28,12 @@
2828
"url": "https://github.com/open-telemetry/opentelemetry-js/issues"
2929
},
3030
"dependencies": {
31-
"@opentelemetry/api": "^0.6.1",
32-
"@opentelemetry/exporter-jaeger": "^0.6.1",
33-
"@opentelemetry/exporter-zipkin": "^0.6.1",
34-
"@opentelemetry/node": "^0.6.1",
35-
"@opentelemetry/plugin-grpc": "^0.6.1",
36-
"@opentelemetry/tracing": "^0.6.1",
31+
"@opentelemetry/api": "^0.7.0",
32+
"@opentelemetry/exporter-jaeger": "^0.7.0",
33+
"@opentelemetry/exporter-zipkin": "^0.7.0",
34+
"@opentelemetry/node": "^0.7.0",
35+
"@opentelemetry/plugin-grpc": "^0.7.0",
36+
"@opentelemetry/tracing": "^0.7.0",
3737
"google-protobuf": "^3.9.2",
3838
"grpc": "^1.23.3",
3939
"node-pre-gyp": "0.12.0"

examples/http/package.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "http-example",
33
"private": true,
4-
"version": "0.6.1",
4+
"version": "0.7.0",
55
"description": "Example of HTTP integration with OpenTelemetry",
66
"main": "index.js",
77
"scripts": {
@@ -28,12 +28,12 @@
2828
"url": "https://github.com/open-telemetry/opentelemetry-js/issues"
2929
},
3030
"dependencies": {
31-
"@opentelemetry/api": "^0.6.1",
32-
"@opentelemetry/exporter-jaeger": "^0.6.1",
33-
"@opentelemetry/exporter-zipkin": "^0.6.1",
34-
"@opentelemetry/node": "^0.6.1",
35-
"@opentelemetry/plugin-http": "^0.6.1",
36-
"@opentelemetry/tracing": "^0.6.1"
31+
"@opentelemetry/api": "^0.7.0",
32+
"@opentelemetry/exporter-jaeger": "^0.7.0",
33+
"@opentelemetry/exporter-zipkin": "^0.7.0",
34+
"@opentelemetry/node": "^0.7.0",
35+
"@opentelemetry/plugin-http": "^0.7.0",
36+
"@opentelemetry/tracing": "^0.7.0"
3737
},
3838
"homepage": "https://github.com/open-telemetry/opentelemetry-js#readme",
3939
"devDependencies": {

examples/https/package.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "https-example",
33
"private": true,
4-
"version": "0.6.1",
4+
"version": "0.7.0",
55
"description": "Example of HTTPs integration with OpenTelemetry",
66
"main": "build/src/index.js",
77
"types": "build/src/index.d.ts",
@@ -29,12 +29,12 @@
2929
"url": "https://github.com/open-telemetry/opentelemetry-js/issues"
3030
},
3131
"dependencies": {
32-
"@opentelemetry/api": "^0.6.1",
33-
"@opentelemetry/exporter-jaeger": "^0.6.1",
34-
"@opentelemetry/exporter-zipkin": "^0.6.1",
35-
"@opentelemetry/node": "^0.6.1",
36-
"@opentelemetry/plugin-https": "^0.6.1",
37-
"@opentelemetry/tracing": "^0.6.1"
32+
"@opentelemetry/api": "^0.7.0",
33+
"@opentelemetry/exporter-jaeger": "^0.7.0",
34+
"@opentelemetry/exporter-zipkin": "^0.7.0",
35+
"@opentelemetry/node": "^0.7.0",
36+
"@opentelemetry/plugin-https": "^0.7.0",
37+
"@opentelemetry/tracing": "^0.7.0"
3838
},
3939
"homepage": "https://github.com/open-telemetry/opentelemetry-js#readme",
4040
"devDependencies": {

examples/metrics/metrics/observer.js

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
const { MeterProvider } = require('@opentelemetry/metrics');
3+
const { MeterProvider, MetricObservable } = require('@opentelemetry/metrics');
44
const { PrometheusExporter } = require('@opentelemetry/exporter-prometheus');
55

66
const exporter = new PrometheusExporter(
@@ -14,7 +14,7 @@ const exporter = new PrometheusExporter(
1414

1515
const meter = new MeterProvider({
1616
exporter,
17-
interval: 1000,
17+
interval: 2000,
1818
}).getMeter('example-observer');
1919

2020
const otelCpuUsage = meter.createObserver('metric_observer', {
@@ -27,9 +27,16 @@ function getCpuUsage() {
2727
return Math.random();
2828
}
2929

30+
const observable = new MetricObservable();
31+
32+
setInterval(() => {
33+
observable.next(getCpuUsage());
34+
}, 5000);
35+
3036
otelCpuUsage.setCallback((observerResult) => {
3137
observerResult.observe(getCpuUsage, { pid: process.pid, core: '1' });
3238
observerResult.observe(getCpuUsage, { pid: process.pid, core: '2' });
3339
observerResult.observe(getCpuUsage, { pid: process.pid, core: '3' });
3440
observerResult.observe(getCpuUsage, { pid: process.pid, core: '4' });
41+
observerResult.observe(observable, { pid: process.pid, core: '5' });
3542
});

examples/metrics/metrics/observer.png

-149 KB
Loading

examples/metrics/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "example-metrics",
33
"private": true,
4-
"version": "0.6.1",
4+
"version": "0.7.0",
55
"description": "Example of using @opentelemetry/metrics",
66
"main": "index.js",
77
"scripts": {
@@ -26,8 +26,8 @@
2626
"url": "https://github.com/open-telemetry/opentelemetry-js/issues"
2727
},
2828
"dependencies": {
29-
"@opentelemetry/exporter-prometheus": "^0.6.1",
30-
"@opentelemetry/metrics": "^0.6.1"
29+
"@opentelemetry/exporter-prometheus": "^0.7.0",
30+
"@opentelemetry/metrics": "^0.7.0"
3131
},
3232
"homepage": "https://github.com/open-telemetry/opentelemetry-js#readme"
3333
}

examples/opentracing-shim/client.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const http = require('http');
44
const opentracing = require('opentracing');
55
const shim = require('./shim').shim('http_client_service');
66

7-
opentracing.setGlobalTracer(shim);
7+
opentracing.initGlobalTracer(shim);
88
const tracer = opentracing.globalTracer();
99

1010
makeRequest();

examples/opentracing-shim/package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "opentracing-shim",
33
"private": true,
4-
"version": "0.6.1",
4+
"version": "0.7.0",
55
"description": "Example of using @opentelemetry/shim-opentracing in Node.js",
66
"main": "index.js",
77
"scripts": {
@@ -29,11 +29,11 @@
2929
"url": "https://github.com/open-telemetry/opentelemetry-js/issues"
3030
},
3131
"dependencies": {
32-
"@opentelemetry/exporter-jaeger": "^0.6.1",
33-
"@opentelemetry/exporter-zipkin": "^0.6.1",
34-
"@opentelemetry/node": "^0.6.1",
35-
"@opentelemetry/shim-opentracing": "^0.6.1",
36-
"@opentelemetry/tracing": "^0.6.1",
32+
"@opentelemetry/exporter-jaeger": "^0.7.0",
33+
"@opentelemetry/exporter-zipkin": "^0.7.0",
34+
"@opentelemetry/node": "^0.7.0",
35+
"@opentelemetry/shim-opentracing": "^0.7.0",
36+
"@opentelemetry/tracing": "^0.7.0",
3737
"opentracing": "^0.14.4"
3838
},
3939
"homepage": "https://github.com/open-telemetry/opentelemetry-js#readme",

examples/opentracing-shim/server.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const opentracing = require('opentracing');
55
const utils = require('./utils');
66
const shim = require('./shim').shim('http_server_service');
77

8-
opentracing.setGlobalTracer(shim);
8+
opentracing.initGlobalTracer(shim);
99
const tracer = opentracing.globalTracer();
1010

1111
startServer(3000);

examples/opentracing-shim/shim.js

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ function shim(serviceName) {
1010
const provider = new NodeTracerProvider();
1111

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

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

examples/prometheus/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "prometheus-example",
3-
"version": "0.6.1",
3+
"version": "0.7.0",
44
"description": "Example of using @opentelemetry/metrics and @opentelemetry/exporter-prometheus",
55
"main": "index.js",
66
"scripts": {
@@ -9,7 +9,7 @@
99
"author": "OpenTelemetry Authors",
1010
"license": "Apache-2.0",
1111
"dependencies": {
12-
"@opentelemetry/exporter-prometheus": "^0.6.1",
13-
"@opentelemetry/metrics": "^0.6.1"
12+
"@opentelemetry/exporter-prometheus": "^0.7.0",
13+
"@opentelemetry/metrics": "^0.7.0"
1414
}
1515
}

examples/tracer-web/package.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "web-tracer-example",
33
"private": true,
4-
"version": "0.6.1",
4+
"version": "0.7.0",
55
"description": "Example of using @opentelemetry/web in browser",
66
"main": "index.js",
77
"scripts": {
@@ -34,14 +34,14 @@
3434
"webpack-merge": "^4.2.2"
3535
},
3636
"dependencies": {
37-
"@opentelemetry/context-zone": "^0.6.1",
38-
"@opentelemetry/core": "^0.6.1",
39-
"@opentelemetry/exporter-collector": "^0.6.1",
37+
"@opentelemetry/context-zone": "^0.7.0",
38+
"@opentelemetry/core": "^0.7.0",
39+
"@opentelemetry/exporter-collector": "^0.7.0",
4040
"@opentelemetry/plugin-document-load": "^0.6.1",
4141
"@opentelemetry/plugin-user-interaction": "^0.6.1",
42-
"@opentelemetry/plugin-xml-http-request": "^0.6.1",
43-
"@opentelemetry/tracing": "^0.6.1",
44-
"@opentelemetry/web": "^0.6.1"
42+
"@opentelemetry/plugin-xml-http-request": "^0.7.0",
43+
"@opentelemetry/tracing": "^0.7.0",
44+
"@opentelemetry/web": "^0.7.0"
4545
},
4646
"homepage": "https://github.com/open-telemetry/opentelemetry-js#readme"
4747
}

0 commit comments

Comments
 (0)