Skip to content

Switch firmware to the protobuf-free exporters and drop protobuf and Abseil #114

Closed

Description

@ltowarek

Parent

Part of #102

What to build

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

Blocked by

Activity

  1. ltowarek commented on Sep 11, 2026

    @ltowarek
    OwnerAuthor

    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.

  2. added a commit that references this issue on Nov 6, 2026
    79fb529
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions