commit 35b354e5b5a006f521c9184178a85fa1605479b9
parent d4d119533fc6fcca7b2532586bb6eb117523c169
Author: Michael van Straten <mvanstraten@mozilla.com>
Date: Mon, 6 Oct 2025 13:02:54 +0000
Bug 1991427 - Switch otel-proto definitions to use `LITE_RUNTIME` r=jari
This should reduce the number of static ctors as well as being related
to Bug 1816848, although this might not have been the cause.
Differential Revision: https://phabricator.services.mozilla.com/D266666
Diffstat:
5 files changed, 59 insertions(+), 3 deletions(-)
diff --git a/third_party/opentelemetry-cpp/moz.build b/third_party/opentelemetry-cpp/moz.build
@@ -9,7 +9,6 @@ DIRS += [
"sdk/src",
]
-
TEST_DIRS += ["exporters/memory"]
with Files("**"):
diff --git a/third_party/opentelemetry-cpp/third_party/opentelemetry-proto/moz.build b/third_party/opentelemetry-cpp/third_party/opentelemetry-proto/moz.build
@@ -20,6 +20,8 @@ EXPORTS.opentelemetry.proto.collector.trace.v1 = [
"opentelemetry/proto/collector/trace/v1/trace_service.pb.h"
]
+DEFINES["GOOGLE_PROTOBUF_NO_RTTI"] = True
+
SOURCES += [
"opentelemetry/proto/collector/trace/v1/trace_service.pb.cc",
"opentelemetry/proto/common/v1/common.pb.cc",
diff --git a/third_party/opentelemetry-cpp/third_party/opentelemetry-proto/moz.yaml b/third_party/opentelemetry-cpp/third_party/opentelemetry-proto/moz.yaml
@@ -46,7 +46,10 @@ vendoring:
- opentelemetry/proto/trace/v1/trace.pb.cc
- opentelemetry/proto/trace/v1/trace.pb.h
- update-actions:
+ patches:
+ - patches/add-lite_runtime-optimization-to-protos.patch
+
+ post-patch-actions:
- action: run-script
script: "{topsrcdir}/toolkit/components/protobuf/scripts/protoc_wrapper.py"
cwd: "{topsrcdir}"
diff --git a/third_party/opentelemetry-cpp/third_party/opentelemetry-proto/patches/add-lite_runtime-optimization-to-protos.patch b/third_party/opentelemetry-cpp/third_party/opentelemetry-proto/patches/add-lite_runtime-optimization-to-protos.patch
@@ -0,0 +1,52 @@
+diff --git a/opentelemetry/proto/collector/trace/v1/trace_service.proto b/opentelemetry/proto/collector/trace/v1/trace_service.proto
+index efbbedbe4545..6a439642915c 100644
+--- a/opentelemetry/proto/collector/trace/v1/trace_service.proto
++++ b/opentelemetry/proto/collector/trace/v1/trace_service.proto
+@@ -14,6 +14,8 @@
+
+ syntax = "proto3";
+
++option optimize_for = LITE_RUNTIME;
++
+ package opentelemetry.proto.collector.trace.v1;
+
+ import "opentelemetry/proto/trace/v1/trace.proto";
+diff --git a/opentelemetry/proto/common/v1/common.proto b/opentelemetry/proto/common/v1/common.proto
+index 57c9f86e0067..452f27edca95 100644
+--- a/opentelemetry/proto/common/v1/common.proto
++++ b/opentelemetry/proto/common/v1/common.proto
+@@ -14,6 +14,8 @@
+
+ syntax = "proto3";
+
++option optimize_for = LITE_RUNTIME;
++
+ package opentelemetry.proto.common.v1;
+
+ option csharp_namespace = "OpenTelemetry.Proto.Common.V1";
+diff --git a/opentelemetry/proto/resource/v1/resource.proto b/opentelemetry/proto/resource/v1/resource.proto
+index 05d4456840f4..54c9471466f2 100644
+--- a/opentelemetry/proto/resource/v1/resource.proto
++++ b/opentelemetry/proto/resource/v1/resource.proto
+@@ -14,6 +14,8 @@
+
+ syntax = "proto3";
+
++option optimize_for = LITE_RUNTIME;
++
+ package opentelemetry.proto.resource.v1;
+
+ import "opentelemetry/proto/common/v1/common.proto";
+diff --git a/opentelemetry/proto/trace/v1/trace.proto b/opentelemetry/proto/trace/v1/trace.proto
+index 24442853edcf..c6470638a97a 100644
+--- a/opentelemetry/proto/trace/v1/trace.proto
++++ b/opentelemetry/proto/trace/v1/trace.proto
+@@ -14,6 +14,8 @@
+
+ syntax = "proto3";
+
++option optimize_for = LITE_RUNTIME;
++
+ package opentelemetry.proto.trace.v1;
+
+ import "opentelemetry/proto/common/v1/common.proto";
diff --git a/toolkit/components/protobuf/scripts/protoc_wrapper.py b/toolkit/components/protobuf/scripts/protoc_wrapper.py
@@ -64,7 +64,7 @@ def _download_protoc_binary(revision):
if not isinstance(member, ZipInfo):
member = self.getinfo(member)
- targetpath = super(ZipFile, self)._extract_member(member, targetpath, pwd)
+ targetpath = ZipFile._extract_member(self, member, targetpath, pwd)
attr = member.external_attr >> 16
if attr != 0: