Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[next] merge latest changes from main #4887

Merged

Conversation

pichlermarc
Copy link
Member

@pichlermarc pichlermarc commented Jul 30, 2024

Updates next with the latest changes from main, all changes here are pre-reviewed already

See also: #4305, #4308, #4531

NOTE: a maintainer with repo admin access needs to merge this as we need to enable merge without squashing in the settings to merge this PR. A squash merge will mean that the same commits will show up again when we pull in changes next time, which means I'd have to work though the conflicts again.

dependabot bot and others added 30 commits March 8, 2024 16:58
Bumps [ip](https://github.com/indutny/node-ip) from 1.1.8 to 1.1.9.
- [Commits](indutny/node-ip@v1.1.8...v1.1.9)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* docs: spelling corrections

* chore: feedback on spelling changes
…ndefined' (open-telemetry#4540)

* fix(exporters): use parseHeaders() to ensure header-values are not 'undefined'

* chore: changelog

* fixup! fix(exporters): use parseHeaders() to ensure header-values are not 'undefined'
* add sbom workflow

* generate sbom for each package

* generate sbom API

* add prefix to all files

* conditionally add artifacts to releases

---------

Co-authored-by: Marc Pichler <[email protected]>
… version (open-telemetry#4559)

* chore(changelog): move entry that accidentally ended up in a previous version

* fixup! chore(changelog): move entry that accidentally ended up in a previous version
…ks when a resource is passed to LoggerProvider (open-telemetry#4564)

Before this Resource.default() attributes would only be used if *no*
resource was given to LoggerProvider. That would mean that
'service.name' and others could be missing, e.g. when called from
NodeSDK.

Co-authored-by: Marc Pichler <[email protected]>
…y#4573)

* chore(instr-http): use exported strings for semconv

* add changelog entry
… attributes (open-telemetry#4550)

* perf(eport): do not allocate arrays if resource has no pending async attributes

* perf(export): do not use splice if fit in one batch

* Update CHANGELOG.md

Co-authored-by: Marc Pichler <[email protected]>

---------

Co-authored-by: Marc Pichler <[email protected]>
* removed domain from the events API

* lint

* updated changelog

---------

Co-authored-by: Marc Pichler <[email protected]>
…-telemetry#4566)

* feat(node-sdk): add `HostDetector` as default resource detector

Fixes open-telemetry#4282

- Add `HostDetector` to the list of default resource detectors
- Add test to make sure host and process values are being set by default
- Update from deprecated `sdk.detectResources()` to `sdk.start()` on tests
- Update from deprecated `SemanticResourceAttributes.SERVICE_NAME` to `SEMRESATTRS_SERVICE_NAME` on SDK file

* Update experimental/CHANGELOG.md

* fix lint

remove extra lint causing lint error

---------

Co-authored-by: Marc Pichler <[email protected]>
…4568)

* renamed EventEmitter to EventLogger

* updated changelog

* renamed remaining references to emitter

* lint
…open-telemetry#4587)

* docs(instr-http): document semantic conventions in use

* add changelog entry

---------

Co-authored-by: Marc Pichler <[email protected]>
…emetry#4576)

* perf(instrumentation-http): remove obvious temp allocations

* fix: changelog

---------

Co-authored-by: Marc Pichler <[email protected]>
Bumps [express](https://github.com/expressjs/express) from 4.17.3 to 4.19.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](expressjs/express@4.17.3...4.19.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marc Pichler <[email protected]>
* add `data` field to the Event interface

* updated body field in the Logs SDK

* updated changelog to breaking change

* lint

* added dedicated type for event data field

* added AnyValue and AnyValueMap types for Event data

* changed body type to LogBody

* markdown lint

* updated Logs SDK

* changed to non-breaking change in the core API

* moved AnyValue to Log API, updated changelog
* feat(instrumentation): added synchronous gauge to SDK

* fixup! feat(instrumentation): added synchronous gauge to SDK

* fixup! feat(instrumentation): added synchronous gauge to SDK

* fixup! feat(instrumentation): added synchronous gauge to SDK

* fixup! feat(instrumentation): added synchronous gauge to SDK

* fixup! feat(instrumentation): added synchronous gauge to SDK
* fix: use reference value to avoid invalid timings in span

* add comment, add to changelog

* donot report invalid timing in span

* lint fix

* fix failing test

* fix failing test 2

* Add tests

* add removed test

* suggested changes

---------

Co-authored-by: Marc Pichler <[email protected]>
…ormer (open-telemetry#4600)

* [chore] consolidate scope/resource creation in transformer

Signed-off-by: Bogdan Drutu <[email protected]>

* fixup! [chore] consolidate scope/resource creation in transformer

* fixup! [chore] consolidate scope/resource creation in transformer

* chore: add changelog entry

* fixup! [chore] consolidate scope/resource creation in transformer

---------

Signed-off-by: Bogdan Drutu <[email protected]>
Co-authored-by: Bogdan Drutu <[email protected]>
…pen-telemetry#4605)

* feat(sdk-trace-base): log resoruce attributes in ConsoleSpanExporter

* fixup! feat(sdk-trace-base): log resoruce attributes in ConsoleSpanExporter
…metry#4624)

Now that instrumentation-undici exists, point to it for users that want
instrumentation of Node.js' fetch().
…lemetry#4627)

This package accidentally got a dep and devDep on api-logs, at
different versions. The result was it being pinned at the older
version in package-lock.

Co-authored-by: Marc Pichler <[email protected]>
…pen-telemetry#4612)

* fix(otlp-grpc-exporter-base): avoid TypeError on exporter shutdown

* chore: update changelog

* fix: use gRPC Client type over any

* fixup! fix: use gRPC Client type over any

* fix: use ts-lint/ts-ignore
* feat(node-sdk): implements `service.instance.id`

Implements `service.instance.id`

Signed-off-by: maryliag <[email protected]>

* implement service instance id by default with env var

use an experimental environment variable to set the default value of `service.instance.id` as default

* Update CHANGELOG.md

Co-authored-by: Marc Pichler <[email protected]>

* create separate add experimental for browser and node

create a function to add experimental default values (currently only service instance id, but others can be added in the future),
with the value being set on the node case, but not on the browser case.

Signed-off-by: maryliag <[email protected]>

* use resource detector for service instance id

use a resource detector for service instance id

* remove references to env variables

* remove Detector and use DetectorSync

remove the Detector and use the DetectorSync instead. Also mark things as experimental.

Signed-off-by: maryliag <[email protected]>

* Update packages/opentelemetry-resources/src/platform/node/ServiceInstanceIDDetectorSync.ts

Co-authored-by: Marc Pichler <[email protected]>

* rename ServiceInstanceIDDetector to ServiceInstanceIDDetectorSync

* change ID to Id

* renaming something temp so git will pick up the name change

it was not picking up the case change on previous commit

* update to final name using Id

---------

Signed-off-by: maryliag <[email protected]>
Co-authored-by: Marc Pichler <[email protected]>
pichlermarc and others added 23 commits June 24, 2024 10:12
* refactor: reduce and simplify usage of getEnv()

* docs: update CHANGELOG

* fixup! docs: update CHANGELOG

---------

Co-authored-by: Marc Pichler <[email protected]>
* chore: add @maryliag to triagers

* chore: alphabetically order approvers

* chore: it's grafana labs, not grafana
* chore: drop ts-mocha for mocha and ts-node

* fixup! chore: drop ts-mocha for mocha and ts-node
…ce (open-telemetry#4847)

* fix(instrumentation):remove unused description property from instrumentation ifc

* chore: changelog
…ants for semconv in Readme (open-telemetry#4768)

* docs(opentelemetry-browser-detector): Use tree-shakeable string constants for semconv in Readme

* Update changelog

* Uninstall unused semantic-conventions package from browser-detector package

* Move changelog entry to Unreleased section

* rm changelog entry, I don't think it is necessary for a small docs update

---------

Co-authored-by: Jamie Danielson <[email protected]>
Co-authored-by: Trent Mick <[email protected]>
…rd exporters (open-telemetry#4848)

* feat: print instrumentation library info with console span exporter

* chore: add changelog

* test: fix tests for console span exporter

* feat: instrumentation scope for both logs and spans

* chore: update changelog
…n-telemetry#4865)

* deps(opentelemetry-instrumentation): Bump shimmer types to 1.2.0

* changelog
…https.get` work when used in ESM code (open-telemetry#4866)

* fix(instrumentation-http): Ensure instrumentation of `http.get` and `https.get` work when used in ESM code

The issue was that the `_wrap`ing of `http.get` was getting the
just-wrapped `http.request` by accessing `moduleExports.request`.
However, when wrapping an ES module the `moduleExports` object from IITM
is a Proxy object that allows setting a property, but *not* re-getting
that set property.

The fix is to use the wrapped `http.request` from the `this._wrap` call.
That required fixing a bug in the IITM code-path of
`InstrumentationBase.prototype._wrap` to return the wrapped property.
(The previous code was doing `return Object.defineProperty(...)`, which
returns the moduleExports, not the defined property.)

Fixes: open-telemetry#4857

* correct typo in the changelog message

* does this fix the test:esm script running on windows?

* remove other console.logs (presumably dev leftovers) from tests in this file

* test name suggestion

Co-authored-by: Jamie Danielson <[email protected]>

* test name suggestion

Co-authored-by: Jamie Danielson <[email protected]>

* test name suggestion

Co-authored-by: Jamie Danielson <[email protected]>

* test name suggestion

Co-authored-by: Jamie Danielson <[email protected]>

* var naming suggestion: expand cres and creq, the abbrev isn't obvious

---------

Co-authored-by: Jamie Danielson <[email protected]>
…sts (open-telemetry#4643)

* feat(http): Allow to opt-out of instrumenting incoming/outgoing requests

* fix tests

* PR feedback

* add a changelog entry

---------

Co-authored-by: Trent Mick <[email protected]>
…telemetry#4743)

* feat(exporters)!: use transport interface in node.js exporters

* feat(exporters): hide compression property

* feat(otlp-exporter-base)!: remove header property

* feat(otlp-exporter-base): add retrying transport

* fix: lint

* chore: add changelog entry

* fix: use queueMicrotask over nextTick

* chore: move changelog entry to unreleased

* chore: note that user-agent cannot be overwritten by users anymore

* fix: export missing ExportResponseRetryable

* fix: retry jitter
…RCE_DETECTORS values (open-telemetry#4879)

* fix(sdk-node): avoid spurious diag errors for unknown OTEL_NODE_RESOURCE_DETECTORS values

When NodeSDK is configured with explicit 'resourceDetectors' or
with 'autoDetectResources: false', then it should not emit diag
errors about unknown values in OTEL_NODE_RESOURCE_DETECTORS.
This can happen when that envvar is used with
@opentelemetry/auto-instrumentation-node

Closes: open-telemetry/opentelemetry-js-contrib#2311

* add a changelog entry

* lint:fix
… peerDependency (open-telemetry#4816)

* feat: Do not limit `@opentelemetry/api` upper range peerDependency

* Revert "feat: Do not limit `@opentelemetry/api` upper range peerDependency"

This reverts commit d0dd3d5.

* only unclamp otlp-transformer

* Add changelog entry

---------

Co-authored-by: Marc Pichler <[email protected]>
@pichlermarc pichlermarc force-pushed the next-main-2024-07-30 branch from 2233ed2 to eee78fa Compare July 30, 2024 14:11
@pichlermarc pichlermarc marked this pull request as ready for review July 30, 2024 14:27
@pichlermarc pichlermarc requested a review from a team July 30, 2024 14:27
@pichlermarc pichlermarc added the target:next-major-release This PR targets the next major release (`next` branch) label Jul 30, 2024
@pichlermarc pichlermarc merged commit bb9caaf into open-telemetry:next Jul 31, 2024
17 checks passed
@pichlermarc pichlermarc deleted the next-main-2024-07-30 branch July 31, 2024 07:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
target:next-major-release This PR targets the next major release (`next` branch)
Projects
None yet
Development

Successfully merging this pull request may close these issues.