blob: b99630bb92c17edf60097f9269fe6e974b629ac4 [file] [log] [blame]
diff --git a/MODULE.bazel b/MODULE.bazel
new file mode 100644
index 0000000..623a295
--- /dev/null
+++ b/MODULE.bazel
@@ -0,0 +1,26 @@
+module(
+ name = "opencensus-cpp",
+ version = "0.0.0-20230502-50eb5de.bcr.2",
+ repo_name = "io_opencensus_cpp",
+)
+
+bazel_dep(name = "abseil-cpp", version = "20250512.0", repo_name = "com_google_absl")
+bazel_dep(name = "bazel_skylib", version = "1.7.1")
+bazel_dep(name = "boringssl", version = "0.20240913.0") # Bump transitive dependency for copmatibility with newer compilers
+bazel_dep(name = "civetweb", version = "1.16.bcr.1", dev_dependency = True)
+bazel_dep(name = "curl", version = "8.7.1", repo_name = "com_github_curl")
+bazel_dep(name = "google_benchmark", version = "1.8.4", repo_name = "com_github_google_benchmark")
+bazel_dep(name = "googleapis", version = "0.0.0-20240819-fe8ba054a", repo_name = "com_google_googleapis")
+bazel_dep(name = "googletest", version = "1.17.0", repo_name = "com_google_googletest")
+bazel_dep(name = "grpc", version = "1.71.0", repo_name = "com_github_grpc_grpc")
+bazel_dep(name = "opencensus-proto", version = "0.4.1.bcr.2", repo_name = "opencensus_proto")
+bazel_dep(name = "prometheus-cpp", version = "1.3.0.bcr.1", repo_name = "com_github_jupp0r_prometheus_cpp")
+bazel_dep(name = "protobuf", version = "30.0", repo_name = "com_google_protobuf")
+bazel_dep(name = "rapidjson", version = "1.1.0.bcr.20241007", repo_name = "com_github_tencent_rapidjson")
+bazel_dep(name = "zlib", version = "1.3.1.bcr.5")
+
+switched_rules = use_extension("@com_google_googleapis//:extensions.bzl", "switched_rules")
+switched_rules.use_languages(
+ cc = True,
+ grpc = True,
+)
diff --git a/opencensus/trace/BUILD b/opencensus/trace/BUILD
index 5215dfc..ee1a678 100644
--- a/opencensus/trace/BUILD
+++ b/opencensus/trace/BUILD
@@ -79,7 +79,6 @@ cc_library(
":trace_context",
"//opencensus/common/internal:random_lib",
"@com_google_absl//absl/base:core_headers",
- "@com_google_absl//absl/base:endian",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/synchronization",
"@com_google_absl//absl/time",
@@ -99,7 +98,6 @@ cc_library(
visibility = ["//visibility:public"],
deps = [
":span_context",
- "@com_google_absl//absl/base:endian",
"@com_google_absl//absl/strings",
],
)
@@ -116,7 +114,7 @@ cc_library(
visibility = ["//visibility:public"],
deps = [
":span_context",
- "@com_google_absl//absl/base:endian",
+ "@com_google_absl//absl/numeric:bits",
"@com_google_absl//absl/strings",
],
)
@@ -182,7 +180,6 @@ cc_library(
visibility = ["//visibility:public"],
deps = [
":span_context",
- "@com_google_absl//absl/base:endian",
"@com_google_absl//absl/strings",
],
)
diff --git a/opencensus/trace/internal/cloud_trace_context.cc b/opencensus/trace/internal/cloud_trace_context.cc
index da9df80..d2002db 100644
--- a/opencensus/trace/internal/cloud_trace_context.cc
+++ b/opencensus/trace/internal/cloud_trace_context.cc
@@ -16,16 +16,15 @@
#include <cstdint>
-#include "opencensus/trace/span_context.h"
-#include "opencensus/trace/span_id.h"
-#include "opencensus/trace/trace_id.h"
-#include "opencensus/trace/trace_options.h"
-
-#include "absl/base/internal/endian.h"
+#include "absl/numeric/bits.h"
#include "absl/strings/ascii.h"
#include "absl/strings/escaping.h"
#include "absl/strings/numbers.h"
#include "absl/strings/str_cat.h"
+#include "opencensus/trace/span_context.h"
+#include "opencensus/trace/span_id.h"
+#include "opencensus/trace/trace_id.h"
+#include "opencensus/trace/trace_options.h"
namespace opencensus {
namespace trace {
@@ -43,16 +42,27 @@ bool IsHexDigits(absl::string_view s) {
// Returns a SpanId which is a big-endian encoding of a decimal number.
SpanId FromDecimal(uint64_t n) {
+ uint64_t big_endian_n;
+ if constexpr (absl::endian::native == absl::endian::little) {
+ big_endian_n = absl::byteswap(n);
+ } else {
+ big_endian_n = n;
+ }
uint8_t buf[8];
- absl::big_endian::Store64(buf, n);
+ memcpy(buf, static_cast<void*>(&big_endian_n), 8);
return SpanId(buf);
}
// Returns the decimal representation of the SpanId.
uint64_t ToDecimal(const SpanId& span_id) {
- uint64_t n;
- span_id.CopyTo(reinterpret_cast<uint8_t*>(&n));
- return absl::big_endian::ToHost64(n);
+ uint64_t big_endian_n;
+ span_id.CopyTo(reinterpret_cast<uint8_t*>(&big_endian_n));
+ uint64_t host_n;
+ if constexpr (absl::endian::native == absl::endian::little) {
+ return absl::byteswap(big_endian_n);
+ } else {
+ return big_endian_n;
+ }
}
} // namespace
diff --git a/opencensus/trace/internal/local_span_store_impl.cc b/opencensus/trace/internal/local_span_store_impl.cc
index 4c71003..85d6f2a 100644
--- a/opencensus/trace/internal/local_span_store_impl.cc
+++ b/opencensus/trace/internal/local_span_store_impl.cc
@@ -22,7 +22,6 @@
#include <utility>
#include <vector>
-#include "absl/base/internal/endian.h"
#include "absl/base/thread_annotations.h"
#include "absl/strings/string_view.h"
#include "absl/synchronization/mutex.h"
diff --git a/opencensus/trace/internal/local_span_store_impl.h b/opencensus/trace/internal/local_span_store_impl.h
index e2286f1..a082c49 100644
--- a/opencensus/trace/internal/local_span_store_impl.h
+++ b/opencensus/trace/internal/local_span_store_impl.h
@@ -25,7 +25,6 @@
#include <utility>
#include <vector>
-#include "absl/base/internal/endian.h"
#include "absl/base/thread_annotations.h"
#include "absl/strings/string_view.h"
#include "absl/synchronization/mutex.h"
diff --git a/opencensus/trace/internal/running_span_store_impl.cc b/opencensus/trace/internal/running_span_store_impl.cc
index 0ec2101..c6aeed7 100644
--- a/opencensus/trace/internal/running_span_store_impl.cc
+++ b/opencensus/trace/internal/running_span_store_impl.cc
@@ -21,7 +21,6 @@
#include <utility>
#include <vector>
-#include "absl/base/internal/endian.h"
#include "absl/base/thread_annotations.h"
#include "absl/strings/string_view.h"
#include "absl/synchronization/mutex.h"