Split src/ into workarounds/ and integration/; add per-feature examples and README tables#47
Conversation
…nd propagation examples
- Move src/esp_posix_shims.c → src/workarounds/posix_shims.c
- Move src/esp_{http_client_transport,opentelemetry}.* → src/integration/
- Move shims/absl_encode_varint_bool_fix.h → src/workarounds/absl_varint_bool.h
- Move shims/sys/mman.h → src/workarounds/sys/mman.h
- Move shims/time.h → src/workarounds/time.h
- Move shims/FindCURL.cmake → cmake/FindCURL.cmake
- Update CMakeLists.txt and cmake/protobuf_setup.cmake for new paths
- Add one-line upstream-cause comments to each workaround file
- Add examples/ostream/ (OStreamSpanExporter + SimpleSpanProcessor, QEMU)
- Add examples/propagation/ (W3C TraceContext inject across HTTP boundary)
- Add READMEs to ostream, propagation, batch, and simple examples
- Update README with Workarounds table, Integrations table, and Tested Features table
Closes #37
Co-authored-by: Lukasz Towarek <ltowarek@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@claude fix CI |
|
Claude finished @ltowarek's task in 13m 5s —— View job Fixing CI
|
|
@claude continue work on #47 (comment) |
|
Claude finished @ltowarek's task in 12m 42s —— View job CI Fix Applied
Root cause: Linker error in Fix applied in std::shared_ptr<HttpClientFactory> GetDefaultHttpClientFactory() {
static auto factory = std::make_shared<HttpClientFactory>();
return factory;
}Note: If CI shows a compile error about the return type, the upstream |
|
@claude fix it |
|
Claude finished @ltowarek's task in 4m 23s —— View job CI Fix Applied
Root cause: Fix applied in std::shared_ptr<HttpClientFactory> GetDefaultHttpClientFactory() {
struct EspHttpClientFactory : public HttpClientFactory {
std::shared_ptr<HttpClient> Create() override {
return HttpClientFactory::Create();
}
std::shared_ptr<HttpClient> Create(
const std::shared_ptr<opentelemetry::sdk::common::ThreadInstrumentation>& ti) override {
return HttpClientFactory::Create(ti);
}
std::shared_ptr<HttpClientSync> CreateSync() override {
return HttpClientFactory::CreateSync();
}
};
static auto factory = std::make_shared<EspHttpClientFactory>();
return factory;
}| Branch |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
870486d to
ead99b7
Compare
|
@claude add kconfig to all examples, just like you did for the propagation example |
|
Claude finished @ltowarek's task in 2m 20s —— View job Adding Kconfig to All Examples
Done. Added |
The ostream example exports spans directly to the serial console and needs no external configuration (no Wi-Fi, no network endpoint), so the menu is minimal — matching the pattern used in the batch and propagation examples. Co-authored-by: Lukasz Towarek <ltowarek@users.noreply.github.com>
|
@claude batch example also is missing kconfig |
|
Claude finished @ltowarek's task in 48s —— View job Batch Example Kconfig Check
No changes needed. The batch example already has It includes Wi-Fi credentials (SSID and password) since the batch example sends spans over the network. This is the same pattern used in the propagation example. For reference, all three examples now have
|

Implements issue #37: reorganises source into
src/workarounds/andsrc/integration/subtrees, moves shims into the workarounds tree, addsexamples/ostream/andexamples/propagation/, and updates the README with Workarounds, Integrations, and Tested Features tables.Closes #37
Generated with Claude Code