-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ESP32] Platform diagnostics framework #36532
base: master
Are you sure you want to change the base?
[ESP32] Platform diagnostics framework #36532
Conversation
5ef9201
to
97d0be3
Compare
a93a065
to
7178050
Compare
PR #36532: Size comparison from 61e288a to 7178050 Full report (3 builds for cc32xx, stm32)
|
667abcd
to
ed14abb
Compare
PR #36532: Size comparison from 61e288a to ed14abb Full report (68 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
Would have been helpful if something in the PR title or description made it clear this is esp32-only... |
ed14abb
to
6571c5e
Compare
PR #36532: Size comparison from d8ededa to 6571c5e Full report (68 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
examples/temperature-measurement-app/esp32/main/diagnostic-logs-provider-delegate-impl.cpp
Outdated
Show resolved
Hide resolved
...ples/temperature-measurement-app/esp32/main/include/diagnostic-logs-provider-delegate-impl.h
Outdated
Show resolved
Hide resolved
...ples/temperature-measurement-app/esp32/main/include/diagnostic-logs-provider-delegate-impl.h
Outdated
Show resolved
Hide resolved
9e148bb
to
1ce3585
Compare
PR #36532: Size comparison from 0ac52eb to 1ce3585 Full report (11 builds for cc13x4_26x4, cc32xx, qpg, stm32, tizen)
|
1ce3585
to
eb088ab
Compare
PR #36532: Size comparison from ffbc362 to eb088ab Full report (3 builds for cc32xx, stm32)
|
ca96506
to
ba3ac54
Compare
ba3ac54
to
a98b1f8
Compare
PR #36532: Size comparison from ffbc362 to a98b1f8 Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #36532: Size comparison from b56134c to 5bb73f2 Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, stm32, telink, tizen)
|
- Working backend with metric, trace and counter diagnostics - Diagnostic interface implementation with ring buffer storage - Added option ENABLE_ESP_DIAGNOSTICS_TRACE in chip KConfig - Added required options for enabling matter diagnostic trace in project Kconfig
- Resolve buffer issues - Use single buffer for store and retrieve of diagnostics - Resolve data loss issue
…essary comments, format files, namespace changes
- backend: Replace linkedlist with map for counter diagnostics - backend: Pass diagnostic storage as a parameter to backend - esp32_diagnostic_trace: Return actual data size
- esp32_diagnostic_trace: improve storage class design - add extra tlv closing bytes check before copying diagnostic - unify diagnostic entries into a single type
- Add related logic in temperature-measurement-app
- Add private CircularTLVReader and CircularTLVWriter - Remove redundant outer container for tlv's from Retrieve method - Maintain TAG's for diagnostic entry elements - Make diagnostic entry as a constant param to store method - Move Murmurhash to utils namespace
…gnostics - move diagnostic storage buffer to main
…ter to LogProvider - add kconfig option for retrieval buffer size
- pass diagnostic storage instance as a pointer to backend - replace ESPLog statement with ChipLog for logging diagnostic-storage: update IsEmptyBuffer method to IsBufferEmpty - change diagnostic TAG enum class
76ac873
to
81a92a8
Compare
81a92a8
to
b4f724e
Compare
PR #36532: Size comparison from c1506f3 to b4f724e Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
Problem
The existing implementation lacks the ability to collect diagnostics using the diagnostic-logs cluster.
Change Overview
Platform Diagnostic Framework:
Designed to collect, store, and retrieve diagnostic data.
Implemented new backend:
Diagnostic data collection integrated using Matter Traces.
Diagnostic data is stored in a TLVCircularBuffer for efficient memory utilization.
Integration with the Temperature Measurement App for platform esp32.
Testing
Verified commissioning and retrieval of diagnostics using the diagnostic-logs cluster over BDX on the ESP32-C3 chip with the temperature-measurement-app example.