)]}'
{
  "commit": "2146aba7b84858054282440b7da36f410c29821c",
  "tree": "bbbe97f00bd03d6645449b08fcfd2a73cc68f7a1",
  "parents": [
    "e42d6b1acee2cfd8aa8516b5de5ee3754981ffb8"
  ],
  "author": {
    "name": "Mahesh",
    "email": "92411857+pimpalemahesh@users.noreply.github.com",
    "time": "Wed Apr 16 20:37:35 2025 +0530"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Apr 16 15:07:35 2025 +0000"
  },
  "message": "[ESP32] Platform diagnostics framework (#36532)\n\n* esp32 diagnostic trace\n\n- Working backend with metric, trace and counter diagnostics\n- Diagnostic interface implementation with ring buffer storage\n- Added option ENABLE_ESP_DIAGNOSTICS_TRACE in chip KConfig\n- Added required options for enabling matter diagnostic trace in project Kconfig\n\n* example/temperature-measurement-app\n- Resolve buffer issues\n- Use single buffer for store and retrieve of diagnostics\n- Resolve data loss issue\n\n* backend: Add description for diagnosticstorage interface, remove unncessary comments, format files, namespace changes\n\n* temperature_measurement_app: Review changes\n\n* esp32_diagnostic_trace: Review changes\n- backend: Replace linkedlist with map for counter diagnostics\n- backend: Pass diagnostic storage as a parameter to backend\n- esp32_diagnostic_trace: Return actual data size\n\n* temperature_measurement_app: Review changes\n\n* backend: map for counter diagnostics related changes\n- esp32_diagnostic_trace: improve storage class design\n- add extra tlv closing bytes check before copying diagnostic\n- unify diagnostic entries into a single type\n\n* example: Remove redundant code\n\n* diagnostic-buffer: clear buffer after successful bdx log transfer\n- Add related logic in temperature-measurement-app\n\n* diagnostic-storage: Remove singltone design for storage instance\n- Add private CircularTLVReader and CircularTLVWriter\n- Remove redundant outer container for tlv\u0027s from Retrieve method\n- Maintain TAG\u0027s for diagnostic entry elements\n- Make diagnostic entry as a constant param to store method\n- Move Murmurhash to utils namespace\n\n* temperature-measurement-app: use seperate buffer for retrieval of diagnostics\n- move diagnostic storage buffer to main\n\n* temperature-measurement-app: pass diagnostic storage Instance as pointer to LogProvider\n- add kconfig option for retrieval buffer size\n\n* backend: update methods to propagate error to level up\n- pass diagnostic storage instance as a pointer to backend\n- replace ESPLog statement with ChipLog for logging\ndiagnostic-storage: update IsEmptyBuffer method to IsBufferEmpty\n- change diagnostic TAG enum class\n\n* temperature-measurement-app: review changes\n\n* esp32_diagnostic_trace: review changes\n\n* esp32_diagnostic_trace: Add clearBuffer() method, update api documentation\n\n* fixed trace instant filter\n\n* esp_diagnostic_trace: add clearbuffer method to diagnostic interface\n\n* diagnostics: add decode method\n\n* readme update\n\n* Review changes\n\n* Modified chip log statements, make string values mutable\n\n* Restyled changes\n\n* backend: copyright header change, retrieve api return value changed\n\n* diagnosticEntry: add invalid valuetype\n\n* Review comments\n\n* review comments\n-DiagnosticEntry structure change\n-Encode, Decode, Retrieve diagnostic method changes\n\n* fix read entryes type in log prints\n\n* esp29_diagnostic_trace: Add tests for Encode, Decode, Store and Retrieve methods of the diagnostic storage\n\n* review comments\n- moved diagnostic storage specific tests to the esp32_diagnostic_trace\n  folder\n- removed dependency of tracing and esp32 specific code form tests\n\n* replace size_t with uint32_t for diagnostic storage\n\n* diangostic test: converted int value to uint to address implicit convertsion error",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7d3cc5440d4653806e29933434fb6b89916a7741",
      "old_mode": 33188,
      "old_path": "config/esp32/components/chip/CMakeLists.txt",
      "new_id": "19d87b5ca5f6ecb6539be2b0894b0cbf957a3406",
      "new_mode": 33188,
      "new_path": "config/esp32/components/chip/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "96ad4229635097884008b9510ad1c47e57531ca6",
      "old_mode": 33188,
      "old_path": "config/esp32/components/chip/Kconfig",
      "new_id": "9d9eb716db1d52cf52906459ca5af90b10e01126",
      "new_mode": 33188,
      "new_path": "config/esp32/components/chip/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "a3276ae37299a68b0dcbdc2c66828ac11cd3a0bc",
      "old_mode": 33188,
      "old_path": "examples/temperature-measurement-app/esp32/README.md",
      "new_id": "0fa56a400b07b34a489ba95897fec8e7c4d6cb36",
      "new_mode": 33188,
      "new_path": "examples/temperature-measurement-app/esp32/README.md"
    },
    {
      "type": "modify",
      "old_id": "4ec2e859c0b1f5470aed27ec5f83e96d9ad123f9",
      "old_mode": 33188,
      "old_path": "examples/temperature-measurement-app/esp32/main/Kconfig.projbuild",
      "new_id": "c17b5b4ae2e7802928407f9d4dae6f10b1f4b260",
      "new_mode": 33188,
      "new_path": "examples/temperature-measurement-app/esp32/main/Kconfig.projbuild"
    },
    {
      "type": "modify",
      "old_id": "3160bf71e12574287e241a45aec7edffa0483412",
      "old_mode": 33188,
      "old_path": "examples/temperature-measurement-app/esp32/main/diagnostic-logs-provider-delegate-impl.cpp",
      "new_id": "3e46656ad5320be259b40935c5d5da5f1da52dd0",
      "new_mode": 33188,
      "new_path": "examples/temperature-measurement-app/esp32/main/diagnostic-logs-provider-delegate-impl.cpp"
    },
    {
      "type": "modify",
      "old_id": "fc1350ed3ec265759467b597602f4a6cc7763c18",
      "old_mode": 33188,
      "old_path": "examples/temperature-measurement-app/esp32/main/include/diagnostic-logs-provider-delegate-impl.h",
      "new_id": "a32b60060ab4395427a162c4352e792959af1fc2",
      "new_mode": 33188,
      "new_path": "examples/temperature-measurement-app/esp32/main/include/diagnostic-logs-provider-delegate-impl.h"
    },
    {
      "type": "modify",
      "old_id": "9f7a73011a19a8fc67b292050db705a3ab7eb1ee",
      "old_mode": 33188,
      "old_path": "examples/temperature-measurement-app/esp32/main/main.cpp",
      "new_id": "8451ed6fb8f303edb3062268650d9ce72f8dde7d",
      "new_mode": 33188,
      "new_path": "examples/temperature-measurement-app/esp32/main/main.cpp"
    },
    {
      "type": "modify",
      "old_id": "4aaf4930a30b363b9062bbd4ff05e828a448389e",
      "old_mode": 33188,
      "old_path": "scripts/tools/check_includes_config.py",
      "new_id": "94b3742ca6d87336fd6b6ef705532cd9646455d9",
      "new_mode": 33188,
      "new_path": "scripts/tools/check_includes_config.py"
    },
    {
      "type": "modify",
      "old_id": "f4227da5995b1d227e90aa86e58252759e240d34",
      "old_mode": 33188,
      "old_path": "src/BUILD.gn",
      "new_id": "fdccfef835e8b56c741c4be589fa734918f2194d",
      "new_mode": 33188,
      "new_path": "src/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9d5d88d1beb0abfd7c06f5aee3d3c7e384397ffe",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "229eb8f9d70c84fbfae1e8cdc0890b45a800a9c1",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/Counter.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7145363fefbf807578f66f99ac07980d122cbb32",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/Counter.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d91944368163269a35c4ac257047f837b67251fd",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/DiagnosticEntry.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bc49285f27824071abe10df4cd6c9729a5c983e5",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/DiagnosticEntry.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b9a82b143682fc226542d42056cc1d55baf0a394",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/DiagnosticStorage.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "49da8b89e74aa4791e1c303fdc9408b3428ba965",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/DiagnosticStorage.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e3c12130237144d146ed3c1008e3217ab4bb4a38",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/DiagnosticTracing.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b9a6be73ec5e79be848d9c510aa857e4bf6861b4",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/DiagnosticTracing.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "567b0d2da808fc19179e2d8e3bf2b8ef2ba0aca6",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/include/matter/tracing/macros_impl.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2bd05a836ff213c8afeffba6d7c0870fa90fb30a",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/tests/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "08b4c40afe12a8d1a1faf21f3ea5b43a573066a6",
      "new_mode": 33188,
      "new_path": "src/tracing/esp32_diagnostic_trace/tests/TestESP32DiagnosticTrace.cpp"
    }
  ]
}
