Skip to content

Commit 8877bc1

Browse files
authored
feat(otel): GA bazel (#12732)
1 parent 76f76c1 commit 8877bc1

File tree

11 files changed

+54
-14
lines changed

11 files changed

+54
-14
lines changed

.bazelrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ test --test_env=GTEST_SHUFFLE --test_env=GTEST_RANDOM_SEED
4343

4444
# By default, build the library with OpenTelemetry
4545
build --@io_opentelemetry_cpp//api:with_abseil
46-
build --//:enable-experimental-opentelemetry
46+
build --//:enable_opentelemetry
4747

4848
# Clang Sanitizers, use with (for example):
4949
#

BUILD.bazel

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,15 @@ cc_library(
172172

173173
cc_library(
174174
name = "experimental-opentelemetry",
175+
deprecation = "this library is now GA, please use //:opentelemetry instead.",
176+
tags = ["manual"],
177+
deps = [
178+
"//google/cloud/opentelemetry:google_cloud_cpp_opentelemetry",
179+
],
180+
)
181+
182+
cc_library(
183+
name = "opentelemetry",
175184
deps = [
176185
"//google/cloud/opentelemetry:google_cloud_cpp_opentelemetry",
177186
],
@@ -187,5 +196,12 @@ cc_library(
187196
bool_flag(
188197
name = "enable-experimental-opentelemetry",
189198
build_setting_default = False,
199+
deprecation = "this flag is now GA, please use //:enable_opentelemetry instead.",
200+
visibility = ["//:__subpackages__"],
201+
)
202+
203+
bool_flag(
204+
name = "enable_opentelemetry",
205+
build_setting_default = False,
190206
visibility = ["//:__subpackages__"],
191207
)

ci/cloudbuild/builds/otel-disabled-bazel.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ export CC=clang
2323
export CXX=clang++
2424

2525
mapfile -t args < <(bazel::common_args)
26-
args+=("--//:enable-experimental-opentelemetry=false")
27-
# Note that we do not ignore `//:experimental-opentelemetry`, as the exporters
28-
# should be usable whether google-cloud-cpp is built with OpenTelemetry or not.
26+
args+=("--//:enable_opentelemetry=false")
27+
# Note that we do not ignore `//:opentelemetry`, as the exporters should be
28+
# usable whether google-cloud-cpp is built with OpenTelemetry or not.
2929
ignore=(
3030
# These integration tests use opentelemetry matchers out of convenience.
3131
"-//google/cloud/opentelemetry/integration_tests/..."

doc/compile-time-configuration.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,13 +94,15 @@ The `--host_cxxopt` may be unfamiliar. This is required to support Protobuf and
9494
gRPC, which compile code generators for the "host" environment, and generate
9595
libraries for the "target" environment.
9696

97-
### Disabling OpenTelemetry
97+
### Enabling OpenTelemetry
9898

99-
[OpenTelemetry] is enabled by default. Turning this off may reduce your build
100-
times but will also lose the benefits of instrumenting the libraries for
101-
distributed tracing. Add `--//:experimental-opentelemetry=false` to your Bazel
102-
command-line parameters to disable Open Telemetry.
99+
[OpenTelemetry] is disabled by default. Add `--//:enable_opentelemetry` to your
100+
Bazel command-line parameters to enable OpenTelemetry features, such as
101+
instrumentation to collect distributed traces.
102+
103+
See the [OpenTelemetry quickstart] for more details.
103104

104105
[ccmake]: https://cmake.org/cmake/help/latest/manual/ccmake.1.html
105106
[github discussion]: https://github.com/googleapis/google-cloud-cpp/discussions
106107
[opentelemetry]: https://opentelemetry.io/
108+
[opentelemetry quickstart]: https://github.com/googleapis/google-cloud-cpp/tree/main/google/cloud/opentelemetry/quickstart

google/cloud/BUILD.bazel

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,15 @@ capture_build_info(
4545
config_setting(
4646
name = "enable_opentelemetry_valid",
4747
flag_values = {
48+
"//:enable_opentelemetry": "true",
49+
"@io_opentelemetry_cpp//api:with_abseil": "true",
50+
},
51+
)
52+
53+
config_setting(
54+
name = "enable_opentelemetry_valid-transition",
55+
flag_values = {
56+
"//:enable_opentelemetry": "false",
4857
"//:enable-experimental-opentelemetry": "true",
4958
"@io_opentelemetry_cpp//api:with_abseil": "true",
5059
},
@@ -53,6 +62,7 @@ config_setting(
5362
config_setting(
5463
name = "disable_opentelemetry",
5564
flag_values = {
65+
"//:enable_opentelemetry": "false",
5666
"//:enable-experimental-opentelemetry": "false",
5767
},
5868
)
@@ -66,11 +76,16 @@ cc_library(
6676
# Enable OpenTelemetry features in google-cloud-cpp
6777
"GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY",
6878
],
79+
":enable_opentelemetry_valid-transition": [
80+
# Enable OpenTelemetry features in google-cloud-cpp
81+
"GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY",
82+
],
6983
"//conditions:default": [],
7084
}),
7185
target_compatible_with = select(
7286
{
7387
":enable_opentelemetry_valid": [],
88+
":enable_opentelemetry_valid-transition": [],
7489
":disable_opentelemetry": [],
7590
},
7691
# else, OpenTelemetry is enabled, but with an invalid configuration.
@@ -102,6 +117,9 @@ to your build command, or set this value in your `.bazelrc` file(s).
102117
":enable_opentelemetry_valid": [
103118
"@io_opentelemetry_cpp//api",
104119
],
120+
":enable_opentelemetry_valid-transition": [
121+
"@io_opentelemetry_cpp//api",
122+
],
105123
"//conditions:default": [],
106124
}),
107125
)

google/cloud/opentelemetry/integration_tests/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ load(":tests.bzl", "opentelemetry_integration_tests")
2424
srcs = [test],
2525
tags = ["integration-test"],
2626
deps = [
27-
"//:experimental-opentelemetry",
27+
"//:opentelemetry",
2828
"//google/cloud/testing_util:google_cloud_cpp_testing_grpc_private",
2929
"//google/cloud/testing_util:google_cloud_cpp_testing_private",
3030
"@com_google_googletest//:gtest_main",

google/cloud/opentelemetry/quickstart/.bazelrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ build --experimental_convenience_symlinks=ignore
3131

3232
# Enable OpenTelemetry tracing instrumentation for google-cloud-cpp.
3333
build --@io_opentelemetry_cpp//api:with_abseil
34-
build --@google_cloud_cpp//:enable-experimental-opentelemetry
34+
build --@google_cloud_cpp//:enable_opentelemetry

google/cloud/opentelemetry/quickstart/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ cc_binary(
2222
"quickstart.cc",
2323
],
2424
deps = [
25-
"@google_cloud_cpp//:experimental-opentelemetry",
25+
"@google_cloud_cpp//:opentelemetry",
2626
"@google_cloud_cpp//:storage",
2727
],
2828
)

google/cloud/opentelemetry/quickstart/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ Without these flags, the above `bazel build ...` command would fail.
9090
build --@io_opentelemetry_cpp//api:with_abseil
9191

9292
# Enables tracing instrumentation in google-cloud-cpp
93-
build --@google_cloud_cpp//:enable-experimental-opentelemetry
93+
build --@google_cloud_cpp//:enable_opentelemetry
9494
```
9595

9696
Also note that we explicitly load OpenTelemetry's dependencies in the

google/cloud/opentelemetry/samples/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ licenses(["notice"]) # Apache 2.0
2121
srcs = [test],
2222
tags = ["integration-test"],
2323
deps = [
24-
"//:experimental-opentelemetry",
24+
"//:opentelemetry",
2525
"//google/cloud/testing_util:google_cloud_cpp_testing_private",
2626
],
2727
) for test in glob(["*.cc"])]

0 commit comments

Comments
 (0)