You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Switch firmware to the protobuf-free exporters and drop protobuf and Abseil #114
Firmware that emits traces, metrics and logs through the protobuf-free OTLP/JSON exporters over the cJSON writer backend, and links neither protobuf nor Abseil.
Target: this repository, on the integration branch.
All three signals must switch together: leaving any one on the protobuf path keeps the runtime linked and yields no binary saving. Profiles already need no protobuf and stay as they are.
With the dependency gone, the workarounds this component carries solely to keep protobuf and Abseil compiling and linking for an embedded target should be removed.
Acceptance criteria
Traces, metrics and logs export through the protobuf-free path over the cJSON backend
The firmware links neither protobuf nor Abseil
Workarounds that existed only for protobuf or Abseil are deleted
Kconfig lets the protobuf-based exporters be selected instead, for comparison
The component builds with exceptions and RTTI disabled, as before
Binary inspection confirms protobuf and Abseil are absent
Implemented in 9ab0551e4faa7206621b188a19defcc728f3f49d ("Export traces, metrics and logs over OTLP/JSON without protobuf", branch otlp-json-no-protobuf, "Closes #114"). Traces, metrics and logs export through the protobuf-free path over the cJSON backend, the firmware links neither protobuf nor Abseil (image 2.39 MB → 1.42 MB on examples/otlp), and the Kconfig choice keeps the protobuf exporters selectable for comparison.
One caveat on the third acceptance criterion: the protobuf/Abseil-only workarounds are gated on ESP_OPENTELEMETRY_NEEDS_PROTOBUF rather than deleted, because the protobuf encoding and the JTAG exporters still need them. Finishing that as an actual deletion is tracked separately in #118, which this commit split out.
Activity
ltowarek commentedon Sep 11, 2026
Implemented in
9ab0551e4faa7206621b188a19defcc728f3f49d("Export traces, metrics and logs over OTLP/JSON without protobuf", branchotlp-json-no-protobuf, "Closes #114"). Traces, metrics and logs export through the protobuf-free path over the cJSON backend, the firmware links neither protobuf nor Abseil (image 2.39 MB → 1.42 MB on examples/otlp), and the Kconfig choice keeps the protobuf exporters selectable for comparison.One caveat on the third acceptance criterion: the protobuf/Abseil-only workarounds are gated on
ESP_OPENTELEMETRY_NEEDS_PROTOBUFrather than deleted, because the protobuf encoding and the JTAG exporters still need them. Finishing that as an actual deletion is tracked separately in #118, which this commit split out.Export traces, metrics and logs over OTLP/JSON without protobuf