commit 01b021cb7b294cc5fb55bab11cb344cfc09fb278
parent 9f238f9dc7bf9ab15f5bcd4dd2bf8e5c16124e10
Author: Michael van Straten <mvanstraten@mozilla.com>
Date: Thu, 2 Oct 2025 16:04:15 +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:
4 files changed, 57 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.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: