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

chore(all): update opentelemetry-go-contrib monorepo #4902

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate-bot
Copy link
Contributor

@renovate-bot renovate-bot commented Dec 23, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
go.opentelemetry.io/contrib/detectors/gcp v1.28.0 -> v1.33.0 age adoption passing confidence
go.opentelemetry.io/contrib/exporters/autoexport v0.53.0 -> v0.58.0 age adoption passing confidence
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 -> v0.58.0 age adoption passing confidence
go.opentelemetry.io/contrib/propagators/autoprop v0.53.0 -> v0.58.0 age adoption passing confidence

Release Notes

open-telemetry/opentelemetry-go-contrib (go.opentelemetry.io/contrib/detectors/gcp)

v1.33.0: /v0.58.0/v0.27.0/v0.13.0/v0.8.0/v0.6.0/v0.5.0

Compare Source

Overview

Added
  • Added support for providing endpoint, pollingIntervalMs and initialSamplingRate using environment variable OTEL_TRACES_SAMPLER_ARG in go.opentelemetry.io/contrib/samples/jaegerremote. (#​6310)
  • Added support exporting logs via OTLP over gRPC in go.opentelemetry.io/contrib/config. (#​6340)
  • The go.opentelemetry.io/contrib/bridges/otellogr module.
    This module provides an OpenTelemetry logging bridge for github.com/go-logr/logr. (#​6386)
  • Added SNS instrumentation in go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws. (#​6388)
Changed
  • Change the span name to be GET /path so it complies with the OTel HTTP semantic conventions in go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho. (#​6365)
  • Record errors instead of setting the gin.errors attribute in go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin. (#​6346)
  • The go.opentelemetry.io/contrib/config now supports multiple schemas in subdirectories (i.e. go.opentelemetry.io/contrib/config/v0.3.0) for easier migration. (#​6412)
Fixed
  • Fix broken AWS presigned URLs when using instrumentation in go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws. (#​5975)
  • Fixed the value for configuring the OTLP exporter to use grpc instead of grpc/protobuf in go.opentelemetry.io/contrib/config. (#​6338)
  • Allow marshaling types in go.opentelemetry.io/contrib/config. (#​6347)
  • Removed the redundant handling of panic from the HTML function in go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin. (#​6373)
  • The code.function attribute emitted by go.opentelemetry.io/contrib/bridges/otelslog now stores just the function name instead the package path-qualified function name. The code.namespace attribute now stores the package path. (#​6415)
  • The code.function attribute emitted by go.opentelemetry.io/contrib/bridges/otelzap now stores just the function name instead the package path-qualified function name. The code.namespace attribute now stores the package path. (#​6423)

What's Changed

New Contributors

Full Changelog: open-telemetry/opentelemetry-go-contrib@v1.32.0...v1.33.0

v1.32.0: /v0.57.0/v0.26.0/v0.12.0/v0.7.0/v0.5.0/v0.4.0

Compare Source

Overview

Added
  • Add the WithSource option to the go.opentelemetry.io/contrib/bridges/otelslog log bridge to set the code.* attributes in the log record that includes the source location where the record was emitted. (#​6253)
  • Add ContextWithStartTime and StartTimeFromContext to go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp, which allows setting the start time using go context. (#​6137)
  • Set the code.* attributes in go.opentelemetry.io/contrib/bridges/otelzap if the zap.Logger was created with the AddCaller or AddStacktrace option. (#​6268)
  • Add a LogProcessor to go.opentelemetry.io/contrib/processors/baggagecopy to copy baggage members to log records. (#​6277)
    • Use baggagecopy.NewLogProcessor when configuring a Log Provider.
      • NewLogProcessor accepts a Filter function type that selects which baggage members are added to the log record.
Changed
  • Transform raw (slog.KindAny) attribute values to matching log.Value types.
    For example, []string{"foo", "bar"} attribute value is now transformed to log.SliceValue(log.StringValue("foo"), log.StringValue("bar")) instead of log.String("[foo bar"]). (#​6254)
  • Upgrade go.opentelemetry.io/otel/semconv/v1.17.0 to go.opentelemetry.io/otel/semconv/v1.21.0 in go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo. (#​6272)
  • Resource doesn't merge with defaults if a valid resource is configured in go.opentelemetry.io/contrib/config. (#​6289)
Fixed
  • Transform nil attribute values to log.Value zero value instead of panicking in go.opentelemetry.io/contrib/bridges/otellogrus. (#​6237)
  • Transform nil attribute values to log.Value zero value instead of panicking in go.opentelemetry.io/contrib/bridges/otelzap. (#​6237)
  • Transform nil attribute values to log.Value zero value instead of log.StringValue("<nil>") in go.opentelemetry.io/contrib/bridges/otelslog. (#​6246)
  • Fix NewClientHandler so that rpc.client.request.* metrics measure requests instead of responses and rpc.client.responses.* metrics measure responses instead of requests in go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc. (#​6250)
  • Fix issue in go.opentelemetry.io/contrib/config causing otelprom.WithResourceAsConstantLabels configuration to not be respected. (#​6260)
  • otel.Handle is no longer called on a successful shutdown of the Prometheus exporter in go.opentelemetry.io/contrib/config. (#​6299)

What's Changed

New Contributors

Full Changelog: open-telemetry/opentelemetry-go-contrib@v1.31.0...v1.32.0

v1.31.0: /v0.56.0/v0.25.0/v0.11.0/v0.6.0/v0.4.0/v0.3.0

Compare Source

Overview

Added
  • The Severitier and SeverityVar types are added to go.opentelemetry.io/contrib/processors/minsev allowing dynamic configuration of the severity used by the LogProcessor. (#​6116)
  • Move examples from go.opentelemetry.io/otel to this repository under examples directory. (#​6158)
  • Support yaml/json struct tags for generated code in go.opentelemetry.io/contrib/config. (#​5433)
  • Add support for parsing YAML configuration via ParseYAML in go.opentelemetry.io/contrib/config. (#​5433)
  • Add support for temporality preference configuration in go.opentelemetry.io/contrib/config. (#​5860)
Changed
  • The function signature of NewLogProcessor in go.opentelemetry.io/contrib/processors/minsev has changed to accept the added Severitier interface instead of a log.Severity. (#​6116)
  • Updated go.opentelemetry.io/contrib/config to use the v0.3.0 release of schema which includes backwards incompatible changes. (#​6126)
  • NewSDK in go.opentelemetry.io/contrib/config now returns a no-op SDK if disabled is set to true. (#​6185)
  • The deprecated go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho package has found a Code Owner. The package is no longer deprecated. (#​6207)
Fixed
  • Possible nil dereference panic in `go.opentelemetry

Configuration

📅 Schedule: Branch creation - "* 0-3 * * 1" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link

⚠️ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: opentelemetry/instrumentation/app/go.sum
Command failed: go get -d -t ./...
go: module go.opentelemetry.io/contrib/exporters/[email protected] requires go >= 1.22.7; switching to go1.22.10
go: downloading go1.22.10 (linux/amd64)
go: download go1.22.10: golang.org/[email protected]: verifying module: checksum database disabled by GOSUMDB=off

File name: opentelemetry/trace/go.sum
Command failed: go get -d -t ./...
go: module go.opentelemetry.io/contrib/detectors/[email protected] requires go >= 1.22.0; switching to go1.22.10
go: downloading go1.22.10 (linux/amd64)
go: download go1.22.10: golang.org/[email protected]: verifying module: checksum database disabled by GOSUMDB=off

@renovate-bot renovate-bot requested review from a team as code owners December 23, 2024 00:33
@product-auto-label product-auto-label bot added the samples Issues that are directly related to samples. label Dec 23, 2024
Copy link

@code-review-assist code-review-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi team,

I'm currently reviewing this pull request and will post my full review in a few minutes. In the meantime, here's a quick summary for you and other reviewers to get up to speed:

This pull request, submitted by Renovate, updates several OpenTelemetry Go contrib packages to their latest versions. The goal is to keep the golang-samples repository using the most up-to-date and secure versions of these libraries. This is a dependency update PR, and therefore no functional changes are expected.

Here's a breakdown of the changes:

  • Updated Packages:

    • go.opentelemetry.io/contrib/detectors/gcp: Updated from v1.28.0 to v1.33.0
    • go.opentelemetry.io/contrib/exporters/autoexport: Updated from v0.53.0 to v0.58.0
    • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: Updated from v0.53.0 to v0.58.0
    • go.opentelemetry.io/contrib/propagators/autoprop: Updated from v0.53.0 to v0.58.0
  • Affected Files: The changes are reflected in the go.mod files within the opentelemetry/instrumentation/app and opentelemetry/trace directories. Specifically, the version numbers for the listed packages are updated within these files.

The full release notes for the updated opentelemetry-go-contrib monorepo are quite extensive and included in the PR description. I recommend reviewing them for a complete picture of all changes in the underlying libraries.


And now, a little haiku to lighten the mood:

Dependencies flow,
New versions, fresh and clean code,
Smooth sailing ahead.

Thanks,
Gemini

Copy link

@code-review-assist code-review-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pull request updates several packages in the opentelemetry-go-contrib monorepo. It's good practice to keep dependencies up-to-date, and the provided table in the description is helpful for understanding the changes at a high level. The release notes are extensive and provide good context. However, consider summarizing the key changes and their potential impact on the project in the PR description itself. This will make it easier for reviewers to quickly assess the importance and risk of the update.

I've studied the release notes and the diff hunks and offer the following suggestions.

Comment on lines +9 to +11
go.opentelemetry.io/contrib/exporters/autoexport v0.58.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0
go.opentelemetry.io/contrib/propagators/autoprop v0.58.0

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low

Updating these opentelemetry-go-contrib packages is a good step. Could you elaborate in the PR description on why these specific versions were chosen? For example, are there any new features or bug fixes that are particularly relevant to this project? Referencing specific issues or sections of the release notes would be helpful. Additionally, it's important to consider the impact of dependency updates on the project's overall stability and performance. Are there any breaking changes introduced by these new versions? How do these updates affect the size and performance of the application?

@@ -6,7 +6,7 @@ require (
cloud.google.com/go/trace v1.10.10
github.com/GoogleCloudPlatform/golang-samples v0.0.0-20240724083556-7f760db013b7
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.1
go.opentelemetry.io/contrib/detectors/gcp v1.28.0
go.opentelemetry.io/contrib/detectors/gcp v1.33.0

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The update to go.opentelemetry.io/contrib/detectors/gcp from v1.28.0 to v1.33.0 is significant. The release notes mention several changes, including added support for SNS instrumentation and fixes for AWS presigned URLs and OTLP exporter configuration. It's important to ensure that these changes don't introduce any regressions in the project. Do you have any tests in place to verify the behavior of the GCP resource detector after this update? Specifically, it would be beneficial to add tests that cover the following scenarios:

  • Verify that the resource detector correctly identifies the GCP environment.
  • Ensure that the expected resource attributes are being collected.
  • Confirm that no unexpected attributes are being added.
  • Test any new functionality introduced in the updated version, such as SNS instrumentation support.

Consider adding these tests to the opentelemetry/trace/main_test.go file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
samples Issues that are directly related to samples.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant