Skip to content

Commit 0bea748

Browse files
authored
Merge branch 'main' into bsp-eager-export
2 parents 3c01099 + a4f0b42 commit 0bea748

File tree

154 files changed

+3116
-449
lines changed

Some content is hidden

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

154 files changed

+3116
-449
lines changed

.github/workflows/label-releases.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
on:
2+
pull_request_target:
3+
branches:
4+
- main
5+
6+
jobs:
7+
label-release:
8+
if: ${{ startsWith(github.event.pull_request.title, 'release:') }}
9+
runs-on: ubuntu-latest
10+
steps:
11+
- run: echo this is a release PR
12+
- run: gh pr edit ${{ github.event.pull_request.number }} --add-label release

.github/workflows/peer-api.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
peer-api-check:
1212
runs-on: ubuntu-latest
1313
container:
14-
image: node:18
14+
image: node:20
1515
steps:
1616
- name: Checkout
1717
uses: actions/checkout@v3

CHANGELOG.md

+12-4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,18 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/
1111

1212
### :rocket: (Enhancement)
1313

14+
* feat(SpanExpoter): Add optional forceFlush to SpanExporter interface [#3753](https://github.com/open-telemetry/opentelemetry-js/pull/3753/) @sgracias1 @JacksonWeber
15+
16+
### :bug: (Bug Fix)
17+
18+
### :books: (Refine Doc)
19+
20+
### :house: (Internal)
21+
22+
## 1.13.0
23+
24+
### :rocket: (Enhancement)
25+
1426
* feat(core): add environment variables for OTLP log exporters. [#3712](https://github.com/open-telemetry/opentelemetry-js/pull/3712/) @llc1123
1527

1628
### :bug: (Bug Fix)
@@ -19,10 +31,6 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/
1931
* fix(sdk-node): fix initialization in bundled environments by not loading @opentelemetry/exporter-jaeger [#3739](https://github.com/open-telemetry/opentelemetry-js/pull/3739) @pichlermarc
2032
* fix(sdk-trace-base): eager exporting for batch span processor [#3458](https://github.com/open-telemetry/opentelemetry-js/pull/3458) @seemk
2133

22-
### :books: (Refine Doc)
23-
24-
### :house: (Internal)
25-
2634
## 1.12.0
2735

2836
### :rocket: (Enhancement)

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -188,13 +188,16 @@ We have a weekly SIG meeting! See the [community page](https://github.com/open-t
188188

189189
- [Gerhard Stöbich](https://github.com/Flarna), Dynatrace
190190
- [Haddas Bronfman](https://github.com/haddasbronfman), Cisco
191+
- [Hector Hernandez](https://github.com/hectorhdzg), Microsoft
192+
- [Jamie Danielson](https://github.com/JamieDanielson), Honeycomb
191193
- [John Bley](https://github.com/johnbley), Splunk
192194
- [Mark Wolff](https://github.com/markwolff), Microsoft
193195
- [Martin Kuba](https://github.com/martinkuba), Lightstep
194196
- [Matthew Wear](https://github.com/mwear), LightStep
195197
- [Naseem K. Ullah](https://github.com/naseemkullah), Transit
196198
- [Neville Wylie](https://github.com/MSNev), Microsoft
197199
- [Olivier Albertini](https://github.com/OlivierAlbertini), Ville de Montréal
200+
- [Purvi Kanal](https://github.com/pkanal), Honeycomb
198201
- [Svetlana Brennan](https://github.com/svetlanabrennan), New Relic
199202

200203
*Find more about the approver role in [community repository](https://github.com/open-telemetry/community/blob/main/community-membership.md#approver).*

examples/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ use the latest and greatest features, and best practices.
1717
| [grpc](grpc/) | gRPC Instrumentation to automatically collect trace data and export them to the backend of choice | Intermediate |
1818
| [otlp-exporter-node](otlp-exporter-node/) | This example shows how to use `@opentelemetry/exporter-otlp-http` to instrument a simple Node.js application | Intermediate |
1919
| [opentracing-shim](opentracing-shim/) | This is a simple example that demonstrates how existing OpenTracing instrumentation can be integrated with OpenTelemetry | Intermediate |
20+
| [esm-http-ts](esm-http-ts/) | This is a simple example that demonstrates tracing HTTP request, with an app written in TypeScript and transpiled to ES Modules. | Intermediate |
2021

2122
Examples of experimental packages can be found at [experimental/examples](../experimental/examples).
2223

examples/esm-http-ts/README.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Overview
2+
3+
This is a simple example that demonstrates tracing HTTP request, with an app written in TypeScript and transpiled to ES Modules.
4+
5+
## Installation
6+
7+
```sh
8+
# from this directory
9+
npm install
10+
npm run build
11+
npm start
12+
```
13+
14+
In a separate terminal, `curl localhost:3000`.
15+
16+
See two spans in the console (one manual, one for http instrumentation)
17+
18+
## Useful links
19+
20+
- For more information on OpenTelemetry, visit: <https://opentelemetry.io/>
21+
- For more information on OpenTelemetry for Node.js, visit: <https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node>
22+
23+
## LICENSE
24+
25+
Apache License 2.0

examples/esm-http-ts/index.ts

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { registerInstrumentations } from '@opentelemetry/instrumentation';
2+
import { trace, DiagConsoleLogger, DiagLogLevel, diag } from '@opentelemetry/api';
3+
import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
4+
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
5+
import {
6+
ConsoleSpanExporter,
7+
SimpleSpanProcessor,
8+
} from '@opentelemetry/sdk-trace-base';
9+
import { Resource } from '@opentelemetry/resources';
10+
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
11+
import http from 'http';
12+
13+
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
14+
const tracerProvider = new NodeTracerProvider({
15+
resource: new Resource({
16+
[SemanticResourceAttributes.SERVICE_NAME]: 'esm-http-ts-example',
17+
}),
18+
});
19+
const exporter = new ConsoleSpanExporter();
20+
const processor = new SimpleSpanProcessor(exporter);
21+
tracerProvider.addSpanProcessor(processor);
22+
tracerProvider.register();
23+
24+
registerInstrumentations({
25+
instrumentations: [new HttpInstrumentation()],
26+
});
27+
28+
const hostname = '0.0.0.0';
29+
const port = 3000;
30+
31+
const server = http.createServer((req, res) => {
32+
res.statusCode = 200;
33+
res.setHeader('Content-Type', 'text/plain');
34+
const tracer = trace.getTracer('esm-tracer');
35+
tracer.startActiveSpan('manual', span => {
36+
span.end();
37+
});
38+
res.end('Hello, World!\n');
39+
});
40+
41+
server.listen(port, hostname, () => {
42+
console.log(`Server running at http://${hostname}:${port}/`);
43+
});

examples/esm-http-ts/package.json

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"name": "esm-http-ts",
3+
"private": true,
4+
"version": "0.38.0",
5+
"description": "Example of HTTP integration with OpenTelemetry using ESM and TypeScript",
6+
"main": "build/index.js",
7+
"type": "module",
8+
"scripts": {
9+
"build": "tsc --build",
10+
"start": "node --experimental-loader=@opentelemetry/instrumentation/hook.mjs ./build/index.js"
11+
},
12+
"repository": {
13+
"type": "git",
14+
"url": "git+ssh://[email protected]/open-telemetry/opentelemetry-js.git"
15+
},
16+
"keywords": [
17+
"opentelemetry",
18+
"http",
19+
"tracing",
20+
"esm",
21+
"typescript"
22+
],
23+
"engines": {
24+
"node": ">=14"
25+
},
26+
"author": "OpenTelemetry Authors",
27+
"license": "Apache-2.0",
28+
"bugs": {
29+
"url": "https://github.com/open-telemetry/opentelemetry-js/issues"
30+
},
31+
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/",
32+
"dependencies": {
33+
"@opentelemetry/api": "1.4.0",
34+
"@opentelemetry/exporter-trace-otlp-proto": "0.38.0",
35+
"@opentelemetry/instrumentation": "0.38.0",
36+
"@opentelemetry/instrumentation-http": "0.38.0",
37+
"@opentelemetry/resources": "1.9.1",
38+
"@opentelemetry/sdk-trace-base": "1.9.1",
39+
"@opentelemetry/sdk-trace-node": "1.9.1",
40+
"@opentelemetry/semantic-conventions": "1.9.1"
41+
}
42+
}

examples/esm-http-ts/tsconfig.json

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"compilerOptions": {
3+
/* Language and Environment */
4+
"target": "ES2020" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
5+
6+
/* Modules */
7+
"module": "ESNext" /* Specify what module code is generated. */,
8+
"rootDir": "." /* Specify the root folder within your source files. */,
9+
"moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */,
10+
"resolveJsonModule": true /* Enable importing .json files. */,
11+
12+
/* Emit */
13+
"outDir": "build" /* Specify an output folder for all emitted files. */,
14+
15+
/* Interop Constraints */
16+
"allowSyntheticDefaultImports": true /* Allow 'import x from y' when a module doesn't have a default export. */,
17+
"esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */,
18+
"forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
19+
20+
/* Completeness */
21+
"skipLibCheck": true /* Skip type checking all .d.ts files. */
22+
},
23+
"include": ["**/*.ts", "**/*.js", "*.config.js"],
24+
"exclude": ["node_modules"]
25+
}

examples/http/package.json

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "http-example",
33
"private": true,
4-
"version": "0.37.0",
4+
"version": "0.39.1",
55
"description": "Example of HTTP integration with OpenTelemetry",
66
"main": "index.js",
77
"scripts": {
@@ -29,14 +29,14 @@
2929
},
3030
"dependencies": {
3131
"@opentelemetry/api": "^1.3.0",
32-
"@opentelemetry/exporter-jaeger": "1.9.1",
33-
"@opentelemetry/exporter-zipkin": "1.9.1",
34-
"@opentelemetry/instrumentation": "0.35.1",
35-
"@opentelemetry/instrumentation-http": "0.35.1",
36-
"@opentelemetry/resources": "1.9.1",
37-
"@opentelemetry/sdk-trace-base": "1.9.1",
38-
"@opentelemetry/sdk-trace-node": "1.9.1",
39-
"@opentelemetry/semantic-conventions": "1.9.1"
32+
"@opentelemetry/exporter-jaeger": "1.13.0",
33+
"@opentelemetry/exporter-zipkin": "1.13.0",
34+
"@opentelemetry/instrumentation": "0.39.1",
35+
"@opentelemetry/instrumentation-http": "0.39.1",
36+
"@opentelemetry/resources": "1.13.0",
37+
"@opentelemetry/sdk-trace-base": "1.13.0",
38+
"@opentelemetry/sdk-trace-node": "1.13.0",
39+
"@opentelemetry/semantic-conventions": "1.13.0"
4040
},
4141
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/http",
4242
"devDependencies": {

examples/https/package.json

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "https-example",
33
"private": true,
4-
"version": "0.38.0",
4+
"version": "0.39.1",
55
"description": "Example of HTTPs integration with OpenTelemetry",
66
"main": "build/src/index.js",
77
"types": "build/src/index.d.ts",
@@ -33,14 +33,14 @@
3333
},
3434
"dependencies": {
3535
"@opentelemetry/api": "^1.0.0",
36-
"@opentelemetry/exporter-jaeger": "1.12.0",
37-
"@opentelemetry/exporter-zipkin": "1.12.0",
38-
"@opentelemetry/instrumentation": "0.38.0",
39-
"@opentelemetry/instrumentation-http": "0.38.0",
40-
"@opentelemetry/resources": "1.12.0",
41-
"@opentelemetry/sdk-trace-base": "1.12.0",
42-
"@opentelemetry/sdk-trace-node": "1.12.0",
43-
"@opentelemetry/semantic-conventions": "1.12.0"
36+
"@opentelemetry/exporter-jaeger": "1.13.0",
37+
"@opentelemetry/exporter-zipkin": "1.13.0",
38+
"@opentelemetry/instrumentation": "0.39.1",
39+
"@opentelemetry/instrumentation-http": "0.39.1",
40+
"@opentelemetry/resources": "1.13.0",
41+
"@opentelemetry/sdk-trace-base": "1.13.0",
42+
"@opentelemetry/sdk-trace-node": "1.13.0",
43+
"@opentelemetry/semantic-conventions": "1.13.0"
4444
},
4545
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/https",
4646
"devDependencies": {

examples/opentelemetry-web/package.json

+15-15
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "web-opentelemetry-example",
33
"private": true,
4-
"version": "0.38.0",
4+
"version": "0.39.1",
55
"description": "Example of using @opentelemetry/sdk-trace-web and @opentelemetry/sdk-metrics in browser",
66
"main": "index.js",
77
"scripts": {
@@ -43,20 +43,20 @@
4343
},
4444
"dependencies": {
4545
"@opentelemetry/api": "^1.3.0",
46-
"@opentelemetry/context-zone": "1.12.0",
47-
"@opentelemetry/core": "1.12.0",
48-
"@opentelemetry/exporter-metrics-otlp-http": "0.38.0",
49-
"@opentelemetry/exporter-trace-otlp-http": "0.38.0",
50-
"@opentelemetry/exporter-trace-otlp-proto": "0.38.0",
51-
"@opentelemetry/exporter-zipkin": "1.12.0",
52-
"@opentelemetry/instrumentation": "0.38.0",
53-
"@opentelemetry/instrumentation-fetch": "0.38.0",
54-
"@opentelemetry/instrumentation-xml-http-request": "0.38.0",
55-
"@opentelemetry/propagator-b3": "1.12.0",
56-
"@opentelemetry/sdk-metrics": "1.12.0",
57-
"@opentelemetry/sdk-trace-base": "1.12.0",
58-
"@opentelemetry/sdk-trace-web": "1.12.0",
59-
"@opentelemetry/semantic-conventions": "1.12.0"
46+
"@opentelemetry/context-zone": "1.13.0",
47+
"@opentelemetry/core": "1.13.0",
48+
"@opentelemetry/exporter-metrics-otlp-http": "0.39.1",
49+
"@opentelemetry/exporter-trace-otlp-http": "0.39.1",
50+
"@opentelemetry/exporter-trace-otlp-proto": "0.39.1",
51+
"@opentelemetry/exporter-zipkin": "1.13.0",
52+
"@opentelemetry/instrumentation": "0.39.1",
53+
"@opentelemetry/instrumentation-fetch": "0.39.1",
54+
"@opentelemetry/instrumentation-xml-http-request": "0.39.1",
55+
"@opentelemetry/propagator-b3": "1.13.0",
56+
"@opentelemetry/sdk-metrics": "1.13.0",
57+
"@opentelemetry/sdk-trace-base": "1.13.0",
58+
"@opentelemetry/sdk-trace-web": "1.13.0",
59+
"@opentelemetry/semantic-conventions": "1.13.0"
6060
},
6161
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/tracer-web"
6262
}

examples/otlp-exporter-node/package.json

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "example-otlp-exporter-node",
33
"private": true,
4-
"version": "0.38.0",
4+
"version": "0.39.1",
55
"description": "Example of using @opentelemetry/collector-exporter in Node.js",
66
"main": "index.js",
77
"scripts": {
@@ -29,17 +29,17 @@
2929
},
3030
"dependencies": {
3131
"@opentelemetry/api": "^1.3.0",
32-
"@opentelemetry/core": "1.12.0",
33-
"@opentelemetry/exporter-metrics-otlp-grpc": "0.38.0",
34-
"@opentelemetry/exporter-metrics-otlp-http": "0.38.0",
35-
"@opentelemetry/exporter-metrics-otlp-proto": "0.38.0",
36-
"@opentelemetry/exporter-trace-otlp-grpc": "0.38.0",
37-
"@opentelemetry/exporter-trace-otlp-http": "0.38.0",
38-
"@opentelemetry/exporter-trace-otlp-proto": "0.38.0",
39-
"@opentelemetry/resources": "1.12.0",
40-
"@opentelemetry/sdk-metrics": "1.12.0",
41-
"@opentelemetry/sdk-trace-base": "1.12.0",
42-
"@opentelemetry/semantic-conventions": "1.12.0"
32+
"@opentelemetry/core": "1.13.0",
33+
"@opentelemetry/exporter-metrics-otlp-grpc": "0.39.1",
34+
"@opentelemetry/exporter-metrics-otlp-http": "0.39.1",
35+
"@opentelemetry/exporter-metrics-otlp-proto": "0.39.1",
36+
"@opentelemetry/exporter-trace-otlp-grpc": "0.39.1",
37+
"@opentelemetry/exporter-trace-otlp-http": "0.39.1",
38+
"@opentelemetry/exporter-trace-otlp-proto": "0.39.1",
39+
"@opentelemetry/resources": "1.13.0",
40+
"@opentelemetry/sdk-metrics": "1.13.0",
41+
"@opentelemetry/sdk-trace-base": "1.13.0",
42+
"@opentelemetry/semantic-conventions": "1.13.0"
4343
},
4444
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/otlp-exporter-node"
4545
}

0 commit comments

Comments
 (0)