Skip to content

Commit

Permalink
Merge github.com:grpc/grpc into rubble
Browse files Browse the repository at this point in the history
  • Loading branch information
ctiller committed Dec 20, 2024
2 parents b7e31c2 + b53f405 commit 8554dc0
Show file tree
Hide file tree
Showing 40 changed files with 422 additions and 270 deletions.
4 changes: 2 additions & 2 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ task 'gem:native', [:plat] do |t, args|
run_rake_compiler(plat, <<~EOT)
#{prepare_ccache_cmd} && \
gem update --system --no-document && \
bundle && \
bundle update && \
bundle exec rake clean && \
bundle exec rake native:#{plat} pkg/#{spec.full_name}-#{plat}.gem pkg/#{spec.full_name}.gem \
RUBY_CC_VERSION=#{ruby_cc_versions} \
Expand Down Expand Up @@ -216,7 +216,7 @@ task 'gem:native', [:plat] do |t, args|
run_rake_compiler(plat, <<~EOT)
#{prepare_ccache_cmd} && \
gem update --system --no-document && \
bundle && \
bundle update && \
bundle exec rake clean && \
export GRPC_RUBY_DEBUG_SYMBOLS_OUTPUT_DIR=#{debug_symbols_dir} && \
bundle exec rake native:#{plat} pkg/#{spec.full_name}-#{plat}.gem pkg/#{spec.full_name}.gem \
Expand Down
35 changes: 9 additions & 26 deletions bazel/grpc_deps.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -320,43 +320,26 @@ def grpc_deps():
],
)

# TODO(stanleycheung): remove this when prometheus-cpp AND
# opentelemetry-cpp cut a new release
# This override is needed because this fix
# https://github.com/jupp0r/prometheus-cpp/pull/626
# has not been included in the latest prometheus-cpp release yet.
# We also need opentelemetry-cpp to update their dependency on
# prometheus-cpp after that fix is released.
# Without the fix, we cannot build the prometheus exporter with bazel 6
if "com_github_jupp0r_prometheus_cpp" not in native.existing_rules():
http_archive(
name = "com_github_jupp0r_prometheus_cpp",
sha256 = "cdf03ee63fcb1d9e113f7bd525e043c254729dddf19d80396489f5b92c83c18d",
strip_prefix = "prometheus-cpp-b1234816facfdda29845c46696a02998a4af115a",
urls = [
"https://github.com/jupp0r/prometheus-cpp/archive/b123481.zip",
],
)

if "io_opentelemetry_cpp" not in native.existing_rules():
http_archive(
name = "io_opentelemetry_cpp",
sha256 = "4b822a2f137b8c2ea403c5ec9a661addcc048aa8ba3afebffd58cbcf218457bc",
strip_prefix = "opentelemetry-cpp-a388e87d72b8321c189c8d41edb746ffa687ce3c",
sha256 = "fb7c38e82ce5a5dcad70be7eafe0d3d4f439e3ef822b414a99db7514580ddac4",
strip_prefix = "opentelemetry-cpp-955a807c0461544560429c2414b8967f6023e590",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/open-telemetry/opentelemetry-cpp/archive/a388e87d72b8321c189c8d41edb746ffa687ce3c.tar.gz",
"https://github.com/open-telemetry/opentelemetry-cpp/archive/a388e87d72b8321c189c8d41edb746ffa687ce3c.tar.gz",
# v1.18.0
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/open-telemetry/opentelemetry-cpp/archive/955a807c0461544560429c2414b8967f6023e590.tar.gz",
"https://github.com/open-telemetry/opentelemetry-cpp/archive/955a807c0461544560429c2414b8967f6023e590.tar.gz",
],
)

if "google_cloud_cpp" not in native.existing_rules():
http_archive(
name = "google_cloud_cpp",
sha256 = "7ca7f583b60d2aa1274411fed3b9fb3887119b2e84244bb3fc69ea1db819e4e5",
strip_prefix = "google-cloud-cpp-2.16.0",
sha256 = "e53ba3799c052d97acac9a6a6b27af24ce822dbde7bfde973bac9e5da714e6b2",
strip_prefix = "google-cloud-cpp-2.33.0",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.16.0.tar.gz",
"https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.16.0.tar.gz",
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.33.0.tar.gz",
"https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.33.0.tar.gz",
],
)

Expand Down
6 changes: 3 additions & 3 deletions src/core/lib/experiments/experiments.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -105,15 +105,15 @@
test_tags: [resource_quota_test]
- name: local_connector_secure
description: Local security connector uses TSI_SECURITY_NONE for LOCAL_TCP connections.
expiry: 2024/12/30
expiry: 2025/01/30
owner: [email protected]
test_tags: ["core_end2end_test"]
- name: max_pings_wo_data_throttle
description:
Experiment to throttle pings to a period of 1 min when
GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA limit has reached (instead of
completely blocking).
expiry: 2024/01/30
expiry: 2025/01/30
owner: [email protected]
test_tags: []
- name: monitoring_experiment
Expand Down Expand Up @@ -214,6 +214,6 @@
Have the work serializer dispatch work to event engine for every callback,
instead of running things inline in the first thread that successfully
enqueues work.
expiry: 2024/12/31
expiry: 2025/01/30
owner: [email protected]
test_tags: ["core_end2end_test", "cpp_end2end_test", "xds_end2end_test", "lb_unit_test"]
8 changes: 4 additions & 4 deletions test/core/experiments/fixtures/test_experiments.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,18 @@

- name: test_experiment_1
description: Test Experiment 1
expiry: 2023/08/01
expiry: 2023/08/30
owner: [email protected]
test_tags: [experiments_tag_test]
- name: test_experiment_2
description: Test Experiment 2
expiry: 2023/01/01
expiry: 2023/01/30
owner: [email protected]
- name: test_experiment_3
description: Test Experiment 3
expiry: 2024/01/01
expiry: 2024/01/30
owner: [email protected]
- name: test_experiment_4
description: Test Experiment 4
expiry: 2022/01/01
expiry: 2022/01/30
owner: [email protected]
2 changes: 1 addition & 1 deletion test/distrib/bazel/test_single_bazel_version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ EXCLUDED_TARGETS=(

# Analyzing windows toolchains when running on linux results in an error.
# Since bazel distribtests are run on linux, we exclude the windows RBE toolchains.
"-//third_party/toolchains/rbe_windows_bazel_7.3.1_vs2022/..."
"-//third_party/toolchains/rbe_windows_vs2022_bazel7/..."
"-//third_party/toolchains:rbe_windows_default_toolchain_suite"

# Exclude bazelified tests as they contain some bazel hackery
Expand Down
2 changes: 1 addition & 1 deletion third_party/opentelemetry-cpp
Submodule opentelemetry-cpp updated 60 files
+3 −0 .bazelrc
+2 −2 .github/workflows/ci.yml
+62 −0 .github/workflows/cppcheck.yml
+129 −3 CHANGELOG.md
+2 −12 CMakeLists.txt
+2 −2 MODULE.bazel
+2 −2 api/include/opentelemetry/nostd/internal/absl/README.md
+15 −28 api/include/opentelemetry/nostd/internal/absl/base/config.h
+5 −5 api/include/opentelemetry/nostd/internal/absl/base/internal/inline_variable.h
+5 −5 api/include/opentelemetry/nostd/internal/absl/base/internal/invoke.h
+4 −4 api/include/opentelemetry/nostd/internal/absl/base/macros.h
+16 −34 api/include/opentelemetry/nostd/internal/absl/base/options.h
+14 −14 api/include/opentelemetry/nostd/internal/absl/meta/type_traits.h
+7 −7 api/include/opentelemetry/nostd/internal/absl/types/bad_variant_access.h
+129 −129 api/include/opentelemetry/nostd/internal/absl/types/internal/variant.h
+111 −111 api/include/opentelemetry/nostd/internal/absl/types/variant.h
+34 −34 api/include/opentelemetry/nostd/internal/absl/utility/utility.h
+10 −1 api/include/opentelemetry/nostd/variant.h
+2 −2 api/include/opentelemetry/version.h
+3 −3 bazel/repository.bzl
+8 −1 cmake/opentelemetry-cpp-config.cmake.in
+31 −37 cmake/opentelemetry-proto.cmake
+1 −1 cmake/patch-imported-config.cmake
+1 −1 docs/public/conf.py
+1 −1 examples/grpc/CMakeLists.txt
+69 −23 exporters/elasticsearch/test/es_log_record_exporter_test.cc
+2 −0 exporters/otlp/BUILD
+5 −3 exporters/otlp/CMakeLists.txt
+42 −13 exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client.h
+36 −0 exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client_factory.h
+37 −3 exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_exporter.h
+10 −0 exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_exporter_factory.h
+38 −5 exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter.h
+11 −1 exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter_factory.h
+37 −5 exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_metric_exporter.h
+11 −1 exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_metric_exporter_factory.h
+137 −24 exporters/otlp/src/otlp_grpc_client.cc
+27 −0 exporters/otlp/src/otlp_grpc_client_factory.cc
+81 −27 exporters/otlp/src/otlp_grpc_exporter.cc
+9 −0 exporters/otlp/src/otlp_grpc_exporter_factory.cc
+84 −29 exporters/otlp/src/otlp_grpc_log_record_exporter.cc
+9 −0 exporters/otlp/src/otlp_grpc_log_record_exporter_factory.cc
+83 −27 exporters/otlp/src/otlp_grpc_metric_exporter.cc
+9 −0 exporters/otlp/src/otlp_grpc_metric_exporter_factory.cc
+22 −0 exporters/otlp/test/otlp_grpc_exporter_factory_test.cc
+24 −0 exporters/otlp/test/otlp_grpc_log_record_exporter_factory_test.cc
+132 −0 exporters/otlp/test/otlp_grpc_log_record_exporter_test.cc
+24 −0 exporters/otlp/test/otlp_grpc_metric_exporter_factory_test.cc
+41 −38 ext/include/opentelemetry/ext/http/common/url_parser.h
+118 −229 ext/test/http/url_parser_test.cc
+3 −3 sdk/include/opentelemetry/sdk/common/empty_attributes.h
+1 −1 sdk/include/opentelemetry/sdk/trace/span_data.h
+1 −1 sdk/include/opentelemetry/sdk/version/version.h
+1 −1 sdk/src/common/CMakeLists.txt
+0 −1 sdk/src/logs/BUILD
+0 −1 sdk/src/metrics/BUILD
+0 −1 sdk/src/resource/BUILD
+4 −4 sdk/src/version/version.cc
+1 −1 third_party/opentelemetry-proto
+1 −1 third_party_release
12 changes: 6 additions & 6 deletions third_party/toolchains/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ package(default_visibility = ["//visibility:public"])
# The default toolchain suite for RBE linux, pass it to --crosstool_top
alias(
name = "rbe_linux_default_toolchain_suite",
actual = "//third_party/toolchains/rbe_ubuntu2004/cc:toolchain",
actual = "//third_party/toolchains/rbe_ubuntu2004_bazel7/cc:toolchain",
)

# The default CC toolchain suite for RBE linux
alias(
name = "rbe_linux_default_cc_toolchain",
actual = "//third_party/toolchains/rbe_ubuntu2004/config:cc-toolchain",
actual = "//third_party/toolchains/rbe_ubuntu2004_bazel7/config:cc-toolchain",
)

# The default platform for RBE Linux
Expand All @@ -46,19 +46,19 @@ platform(
os_family = "Linux",
),
# Inherit from the platform target generated by 'rbe_configs_gen'.
parents = ["//third_party/toolchains/rbe_ubuntu2004/config:platform"],
parents = ["//third_party/toolchains/rbe_ubuntu2004_bazel7/config:platform"],
)

# The default toolchain suite for RBE windows, pass it to --crosstool_top
alias(
name = "rbe_windows_default_toolchain_suite",
actual = "//third_party/toolchains/rbe_windows_bazel_7.3.1_vs2022/cc:toolchain",
actual = "//third_party/toolchains/rbe_windows_vs2022_bazel7/cc:toolchain",
)

# The default CC toolchain suite for RBE windows
alias(
name = "rbe_windows_default_cc_toolchain",
actual = "//third_party/toolchains/rbe_windows_bazel_7.3.1_vs2022/config:cc-toolchain",
actual = "//third_party/toolchains/rbe_windows_vs2022_bazel7/config:cc-toolchain",
)

# The default platform for RBE windows
Expand All @@ -73,5 +73,5 @@ platform(
os_family = "Windows",
),
# Inherit from the platform target generated by 'rbe_configs_gen'.
parents = ["//third_party/toolchains/rbe_windows_bazel_7.3.1_vs2022/config:platform"],
parents = ["//third_party/toolchains/rbe_windows_vs2022_bazel7/config:platform"],
)
5 changes: 3 additions & 2 deletions third_party/toolchains/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# RBE toolchain configuration (Linux and Windows)

## Linux
The `rbe_ubuntu2004` directory contains the autogenerated toolchain configuration for linux RBE.

The `rbe_ubuntu2004_bazel7` directory contains the autogenerated toolchain configuration for linux RBE.
Run `generate_linux_rbe_configs.sh` to regenerate.

## Windows

The `rbe_windows_bazel_7.3.1_vs2022` directory contains the autogenerated toolchain configuration for windows RBE.
The `rbe_windows_vs2022_bazel7` directory contains the autogenerated toolchain configuration for windows RBE.
The configuration was generated by the `rbe_configs_gen` tool (just as the linux RBE config),
but since it's a windows configuration, it needs to be run on a windows machine.

Expand Down
4 changes: 2 additions & 2 deletions third_party/toolchains/generate_linux_rbe_configs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ LINUX_RBE_DOCKER_IMAGE=$(cat ${LINUX_RBE_DOCKERFILE_DIR}.current_version)
# Bazel version used for configuring
# Needs to be the oldest of the versions from bazel/supported_versions.txt chosen
# so that the result is compatible with other supported bazel versions.
BAZEL_VERSION=7.3.1
BAZEL_VERSION=7.4.1

# TODO(jtattermusch): experiment with --cpp_env_json to simplify bazel build configuration.

# Where to store the generated configs (relative to repo root)
CONFIG_OUTPUT_PATH=third_party/toolchains/rbe_ubuntu2004
CONFIG_OUTPUT_PATH=third_party/toolchains/rbe_ubuntu2004_bazel7

# Delete old generated configs.
rm -rf "${REPO_ROOT}/${CONFIG_OUTPUT_PATH}"
Expand Down
4 changes: 2 additions & 2 deletions third_party/toolchains/generate_windows_rbe_configs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ WINDOWS_RBE_DOCKER_IMAGE=us-docker.pkg.dev/grpc-testing/testing-images-public/rb
# Bazel version used for configuring
# Needs to be one of the versions from bazel/supported_versions.txt chosen so that the result is compatible
# with other supported bazel versions.
BAZEL_VERSION=7.3.1
BAZEL_VERSION=7.4.1

# Where to store the generated configs (relative to repo root)
CONFIG_OUTPUT_PATH=third_party/toolchains/rbe_windows_bazel_7.3.1_vs2022
CONFIG_OUTPUT_PATH=third_party/toolchains/rbe_windows_vs2022_bazel7

# Delete old generated configs.
rm -rf "${REPO_ROOT}/${CONFIG_OUTPUT_PATH}"
Expand Down
Loading

0 comments on commit 8554dc0

Please sign in to comment.