Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into metrics-ff/monotoni…
Browse files Browse the repository at this point in the history
…city

# Conflicts:
#	experimental/packages/opentelemetry-sdk-metrics-base/src/aggregator/Histogram.ts
#	experimental/packages/opentelemetry-sdk-metrics-base/test/aggregator/Histogram.test.ts
  • Loading branch information
legendecas committed Jun 28, 2022
2 parents ec2a9da + 4378303 commit 12d3ab8
Show file tree
Hide file tree
Showing 150 changed files with 2,045 additions and 1,343 deletions.
25 changes: 0 additions & 25 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

97 changes: 97 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Bug Report
description: File a bug report
labels: ["bug", "triage"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
Please make sure to fill out the entire form below,
providing as much context as you can in order to help us
triage and track down your bug as quickly as possible.
Before filing a bug, please be sure you have searched through
[existing bugs](https://github.com/open-telemetry/opentelemetry-js/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug)
to see if your bug is already addressed.
If your bug is related to an instrumentation or plugin in [opentelemetry-js-contrib](https://github.com/open-telemetry/opentelemetry-js-contrib)
please be sure to file it there.
- type: textarea
attributes:
label: What happened?
description: Please provide as much detail as you reasonably can.
value: |
## Steps to Reproduce
## Expected Result
## Actual Result
## Additional Details
validations:
required: true
- type: textarea
attributes:
label: OpenTelemetry Setup Code
description: Please provide the code you use to set up OpenTelemetry
placeholder: | # This comes from our README.md
// tracing.js
'use strict'
const process = require('process');
const opentelemetry = require('@opentelemetry/sdk-node');
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
const { ConsoleSpanExporter } = require('@opentelemetry/sdk-trace-base');
const { Resource } = require('@opentelemetry/resources');
const { SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions');
// configure the SDK to export telemetry data to the console
// enable all auto-instrumentations from the meta package
const traceExporter = new ConsoleSpanExporter();
const sdk = new opentelemetry.NodeSDK({
resource: new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: 'my-service',
}),
traceExporter,
instrumentations: [getNodeAutoInstrumentations()]
});
// initialize the SDK and register with the OpenTelemetry API
// this enables the API to record telemetry
sdk.start()
.then(() => console.log('Tracing initialized'))
.catch((error) => console.log('Error initializing tracing', error));
// gracefully shut down the SDK on process exit
process.on('SIGTERM', () => {
sdk.shutdown()
.then(() => console.log('Tracing terminated'))
.catch((error) => console.log('Error terminating tracing', error))
.finally(() => process.exit(0));
});
render: "JavaScript"
- type: textarea
attributes:
label: package.json
description: If possible, please provide your full package.json. If not, please provide at least your list of dependencies and their versions, especially OpenTelemetry versions.
render: "JSON"
placeholder: |
{
"name": "my-app",
"scripts": {
"start": "node -r tracing.js app.js"
},
"dependencies": {
"@opentelemetry/api": "^1.2.0",
"@opentelemetry/sdk-trace-base": "~1.3.1",
...
}
}
- type: textarea
attributes:
label: Relevant log output
description: |
Please copy and paste any relevant log output.
render: shell
4 changes: 2 additions & 2 deletions .github/workflows/close-stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ jobs:
close-pr-message: 'This PR was closed because it has been stale for 14 days with no activity.'
stale-issue-label: stale
stale-pr-label: stale
exempt-issue-labels: never-stale
exempt-pr-labels: never-stale
exempt-issue-labels: never-stale,bug
exempt-pr-labels: never-stale,bug
5 changes: 4 additions & 1 deletion .github/workflows/unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ jobs:
strategy:
fail-fast: false
matrix:
node_version: ["8", "10", "12", "14", "16"]
node_version:
- "14"
- "16"
- "18"
runs-on: ubuntu-latest
env:
NPM_CONFIG_UNSAFE_PERM: true
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,21 @@ All notable changes to this project will be documented in this file.

### :bug: (Bug Fix)

* fix(resources): fix browser compatibility for host and os detectors [#3004](https://github.com/open-telemetry/opentelemetry-js/pull/3004) @legendecas
* fix(sdk-trace-base): fix crash on environments without global document [#3000](https://github.com/open-telemetry/opentelemetry-js/pull/3000) @legendecas

### :books: (Refine Doc)

### :house: (Internal)

* test: add node 18 and remove EoL node versions [#3048](https://github.com/open-telemetry/opentelemetry-js/pull/3048) @dyladan

## 1.3.1

### :bug: (Bug Fix)

* fix(resources): fix browser compatibility for host and os detectors [#3004](https://github.com/open-telemetry/opentelemetry-js/pull/3004) @legendecas

## 1.3.0

### :boom: Breaking Change
Expand Down
39 changes: 19 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ This is the JavaScript version of [OpenTelemetry](https://opentelemetry.io/), a
## Compatibility Matrix

| API Version | Core version | Experimental Packages |
| ----------- |--------------| --------------------- |
| ----------- | ------------ | --------------------- |
| 1.1.x | 1.1.x | 0.28.x |
| 1.0.x | 1.0.x | 0.26.x, 0.27.x |
| 1.0.x | 0.26.x | ----- |
Expand Down Expand Up @@ -138,19 +138,18 @@ If you are a library author looking to build OpenTelemetry into your library, pl

## Supported Runtimes

| Platform Version | Supported |
|------------------|-------------------------------------------------|
| Node.JS `v16` ||
| Node.JS `v14` ||
| Node.JS `v12` ||
| Node.JS `v10` ||
| Node.JS `v8` | See [Node Support](#node-support) below |
| Web Browsers | ✅ See [Browser Support](#browser-support) below |
| Platform Version | Supported |
| ------------------- | ----------------------------------------------- |
| Node.JS `v18` ||
| Node.JS `v16` ||
| Node.JS `v14` ||
| Older Node Versions | See [Node Support](#node-support) |
| Web Browsers | ✅ See [Browser Support](#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 and v10 are no longer supported by the Node.JS team, the latest versions of Node.JS v8 and v10 are still included in our testing suite.
Only Node.js Active or Maintenance LTS versions are supported.
Previous versions of node _may_ work, but they are not tested by OpenTelemetry and they are not guaranteed to work.
Please note that versions of Node.JS v8 prior to `v8.12.0` will NOT work, because OpenTelemetry Node depends on the `perf_hooks` module introduced in `v8.5.0` and `performance.timeOrigin` that is set correctly starting in `v8.12.0`.

### Browser Support
Expand All @@ -161,7 +160,7 @@ There is currently no list of officially supported browsers, but OpenTelemetry i
## Feature Status

| Signal | API Status | SDK Status |
|---------|-------------|-------------------|
| ------- | ----------- | ----------------- |
| Tracing | Stable | Release Candidate |
| Metrics | Development | Development |
| Logs | Roadmap | Roadmap |
Expand Down Expand Up @@ -220,18 +219,18 @@ Maintainers ([@open-telemetry/js-maintainers](https://github.com/orgs/open-telem
### API

| Package | Description |
|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [@opentelemetry/api][otel-api] | This package provides TypeScript interfaces, enums and no-op implementations for the OpenTelemetry core trace and metrics model. It is intended for use both on the server and in the browser. |
| [@opentelemetry/core][otel-core] | This package provides default and no-op implementations of the OpenTelemetry api for trace and metrics. It's intended for use both on the server and in the browser. |

### Implementation / SDKs

| Package | Description |
|----------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [@opentelemetry/sdk-trace-base][otel-tracing] | This module provides a full control over instrumentation and span creation. It doesn't load [`async_hooks`](https://nodejs.org/api/async_hooks.html) or any instrumentation by default. It is intended for use both on the server and in the browser. |
| [@opentelemetry/sdk-metrics-base][otel-metrics] | This module provides instruments and meters for reporting of time series data. |
| [@opentelemetry/sdk-trace-node][otel-node] | This module provides automatic tracing for Node.js applications. It is intended for use on the server only. |
| [@opentelemetry/sdk-trace-web][otel-web] | This module provides automated instrumentation and tracing for Web applications. It is intended for use in the browser only. |
| Package | Description |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [@opentelemetry/sdk-trace-base][otel-tracing] | This module provides a full control over instrumentation and span creation. It doesn't load [`async_hooks`](https://nodejs.org/api/async_hooks.html) or any instrumentation by default. It is intended for use both on the server and in the browser. |
| [@opentelemetry/sdk-metrics-base][otel-metrics] | This module provides instruments and meters for reporting of time series data. |
| [@opentelemetry/sdk-trace-node][otel-node] | This module provides automatic tracing for Node.js applications. It is intended for use on the server only. |
| [@opentelemetry/sdk-trace-web][otel-web] | This module provides automated instrumentation and tracing for Web applications. It is intended for use in the browser only. |

### Compatible Exporters

Expand Down Expand Up @@ -272,7 +271,7 @@ These instrumentations are hosted at <https://github.com/open-telemetry/opentele
### Shims

| Package | Description |
|----------------------------------------------------------|-----------------------------------------------------------------------------------------|
| -------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| [@opentelemetry/shim-opentracing][otel-shim-opentracing] | OpenTracing shim allows existing OpenTracing instrumentation to report to OpenTelemetry |

## Upgrade guidelines
Expand Down
5 changes: 3 additions & 2 deletions examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,15 @@ use the latest and greatest features, and best practices.
------------- | ------------- | ------------ |
|[basic-tracer-node](basic-tracer-node/) | Basic use of Tracing in Node.js application | Beginner |
|[tracer-web](tracer-web/) | Basic use of Tracing in Web application | Beginner |
|[prometheus](prometheus/) | Basic Metric use with Prometheus (`@opentelemetry/exporter-prometheus`) Exporter | Beginner |
|[http](http/) | HTTP Instrumentation to automatically collect trace data and export them to the backend of choice | Intermediate |
|[https](https/) | HTTPS Instrumentation to automatically collect trace data and export them to the backend of choice | Intermediate |
|[grpc](grpc/) | gRPC Instrumentation to automatically collect trace data and export them to the backend of choice | Intermediate |
|[otlp-exporter-node](otlp-exporter-node/) | This example shows how to use `@opentelemetry/exporter-otlp-http` to instrument a simple Node.js application | Intermediate |
|[opentracing-shim](opentracing-shim/) | This is a simple example that demonstrates how existing OpenTracing instrumentation can be integrated with OpenTelemetry | Intermediate |

Additional examples can be found at [@opentelemetry/opentelemetry-js-contrib][opentelemetry-js-contrib-examples]
Examples of experimental packages can be found at [experimental/examples](../experimental/examples).

Additional examples can be found at [@opentelemetry/opentelemetry-js-contrib][opentelemetry-js-contrib-examples].

## Contributing

Expand Down
2 changes: 1 addition & 1 deletion examples/basic-tracer-node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"tracing"
],
"engines": {
"node": ">=8"
"node": ">=14"
},
"author": "OpenTelemetry Authors",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/grpc-js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"tracing"
],
"engines": {
"node": ">=8"
"node": ">=14"
},
"author": "OpenTelemetry Authors",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/grpc/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"tracing"
],
"engines": {
"node": ">=8"
"node": ">=14"
},
"author": "OpenTelemetry Authors",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/http/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"tracing"
],
"engines": {
"node": ">=8"
"node": ">=14"
},
"author": "OpenTelemetry Authors",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/https/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"tracing"
],
"engines": {
"node": ">=8"
"node": ">=14"
},
"author": "OpenTelemetry Authors",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/opentracing-shim/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"opentracing"
],
"engines": {
"node": ">=8"
"node": ">=14"
},
"author": "OpenTelemetry Authors",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/otlp-exporter-node/docker/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: "3"
services:
# Collector
collector:
image: otel/opentelemetry-collector-contrib:0.50.0
image: otel/opentelemetry-collector-contrib:0.53.0
# image: otel/opentelemetry-collector-contrib:latest
command: ["--config=/conf/collector-config.yaml"]
volumes:
Expand Down
30 changes: 15 additions & 15 deletions examples/otlp-exporter-node/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "example-otlp-exporter-node",
"private": true,
"version": "0.28.0",
"version": "0.29.2",
"description": "Example of using @opentelemetry/collector-exporter in Node.js",
"main": "index.js",
"scripts": {
Expand All @@ -20,27 +20,27 @@
"tracing"
],
"engines": {
"node": ">=8"
"node": ">=14"
},
"author": "OpenTelemetry Authors",
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/open-telemetry/opentelemetry-js/issues"
},
"dependencies": {
"@opentelemetry/api": "^1.0.2",
"@opentelemetry/api-metrics": "0.29.0",
"@opentelemetry/core": "1.1.1",
"@opentelemetry/exporter-metrics-otlp-grpc": "0.29.0",
"@opentelemetry/exporter-metrics-otlp-http": "0.29.0",
"@opentelemetry/exporter-metrics-otlp-proto": "0.29.0",
"@opentelemetry/exporter-trace-otlp-grpc": "0.29.0",
"@opentelemetry/exporter-trace-otlp-http": "0.29.0",
"@opentelemetry/exporter-trace-otlp-proto": "0.29.0",
"@opentelemetry/resources": "1.1.1",
"@opentelemetry/sdk-metrics-base": "0.29.0",
"@opentelemetry/sdk-trace-base": "1.1.1",
"@opentelemetry/semantic-conventions": "1.1.1"
"@opentelemetry/api": "^1.1.0",
"@opentelemetry/api-metrics": "0.29.2",
"@opentelemetry/core": "1.3.1",
"@opentelemetry/exporter-metrics-otlp-grpc": "0.29.2",
"@opentelemetry/exporter-metrics-otlp-http": "0.29.2",
"@opentelemetry/exporter-metrics-otlp-proto": "0.29.2",
"@opentelemetry/exporter-trace-otlp-grpc": "0.29.2",
"@opentelemetry/exporter-trace-otlp-http": "0.29.2",
"@opentelemetry/exporter-trace-otlp-proto": "0.29.2",
"@opentelemetry/resources": "1.3.1",
"@opentelemetry/sdk-metrics-base": "0.29.2",
"@opentelemetry/sdk-trace-base": "1.3.1",
"@opentelemetry/semantic-conventions": "1.3.1"
},
"homepage": "https://github.com/open-telemetry/opentelemetry-js#readme"
}
2 changes: 1 addition & 1 deletion examples/tracer-web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"web"
],
"engines": {
"node": ">=8"
"node": ">=14"
},
"author": "OpenTelemetry Authors",
"license": "Apache-2.0",
Expand Down
Loading

0 comments on commit 12d3ab8

Please sign in to comment.