Skip to content

RDKCOM-5420: TELEMETRY-2 Dynamic telemetry markers for Dynamic Tables in Telemetry#161

Merged
shibu-kv merged 3 commits into
rdkcentral:developfrom
onkar-panchare1:develop
May 4, 2026
Merged

RDKCOM-5420: TELEMETRY-2 Dynamic telemetry markers for Dynamic Tables in Telemetry#161
shibu-kv merged 3 commits into
rdkcentral:developfrom
onkar-panchare1:develop

Conversation

@onkar-panchare1
Copy link
Copy Markdown
Contributor

Description:
Introduced marker type DataModelTable for dynamic tables in telemetry.

Enhanced T2 agent to resolve and collect data from all instances of multi-instance object tables when dynamic markers are configured.

Added logic to parse DataModelTable, filter markers based on telemetry profile configuration, and encode them in telemetry reports after collection, ensuring telemetry reports include per-instance data for configured dynamic markers.

Added support for an "index" parameter in configuration to restrict data collection to specific indexes if required.

Reason for change:
Enable telemetry to capture dynamic, per-instance data from tables (e.g., Host table, Wi-Fi associated devices) where indexes are not fixed, ensuring richer and more flexible telemetry collection.

@onkar-panchare1 onkar-panchare1 requested a review from a team August 28, 2025 12:02
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Aug 28, 2025

CLA assistant check
All committers have signed the CLA.

@onkar-panchare1
Copy link
Copy Markdown
Contributor Author

@shibu-kv Kindly help with more details on coverity scan failed

@shibu-kv
Copy link
Copy Markdown
Contributor

@onkar-panchare1 Thank you for the contribution.
Could you please help with incorporating below suggestions :
1] The report profile schemas are available in the repo here - https://github.com/rdkcentral/telemetry/tree/develop/schemas
Could you please amend the schemas that aligns with the new capabilities supported in the report profile configuration.
2] This project maintains an integration test suite as well in location - https://github.com/rdkcentral/telemetry/tree/develop/test/functional-tests
Could you please help to add tests to add coverage for this new feature addition as well.
3] To maintain a uniform formatting we do enforce a common formatter based on linux utility astyle.
Please format this contribution by running below commands in your fork :
find . -name '.c' -o -name '.h' | xargs astyle --options=.astylerc
find . -name '*.orig' -type f -delete

Formatter configs are already on the project - https://github.com/rdkcentral/telemetry/blob/develop/.astylerc

Copy link
Copy Markdown
Contributor

@shibu-kv shibu-kv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting to incorporate few changes outlined ingeneric comments.

@onkar-panchare1
Copy link
Copy Markdown
Contributor Author

Requesting to incorporate few changes outlined ingeneric comments.

Hi @shibu-kv
I have updated the MR with uniform formatting and have updated the schema to support new capabilities.
I will be adding tests soon, the MR can be reviewed.

@onkar-panchare1 onkar-panchare1 requested a review from a team as a code owner September 5, 2025 10:47
@pradeeptakdas pradeeptakdas changed the title TELEMETRY-2: Dynamic telemetry markers for Dynamic Tables in Telemetry RDKCOM-5431: TELEMETRY-2 Dynamic telemetry markers for Dynamic Tables in Telemetry Sep 16, 2025
shibu-kv
shibu-kv previously approved these changes Sep 22, 2025
@shibu-kv
Copy link
Copy Markdown
Contributor

Changes looks good. Waiting for the CI workflows results.

@pradeeptakdas pradeeptakdas changed the title RDKCOM-5431: TELEMETRY-2 Dynamic telemetry markers for Dynamic Tables in Telemetry RDKCOM-5420: TELEMETRY-2 Dynamic telemetry markers for Dynamic Tables in Telemetry Sep 23, 2025
@onkar-panchare1 onkar-panchare1 force-pushed the develop branch 2 times, most recently from 26090f3 to 0c74757 Compare October 7, 2025 06:01
@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

rdkcmf-jenkins commented Nov 2, 2025

Coverity Issue - Data race condition

Accessing "profile->cachedReportList" without holding lock "_Profile.reuseThreadMutex". Elsewhere, "_Profile.cachedReportList" is written to with "_Profile.reuseThreadMutex" held 5 out of 7 times.

Medium Impact, CWE-366
MISSING_LOCK

Issue location

This issue was discovered outside the diff for this Pull Request. You can find it at:
source/bulkdata/profile.c:1460

@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

rdkcmf-jenkins commented Nov 2, 2025

Coverity Issue - Data race condition

Accessing "profile->grepSeekProfile->execCounter" without holding lock "plMutex". Elsewhere, "_GrepSeekProfile.execCounter" is written to with "plMutex" held 2 out of 2 times.

Medium Impact, CWE-366
MISSING_LOCK

Issue location

This issue was discovered outside the diff for this Pull Request. You can find it at:
source/bulkdata/profile.c:349

Comment thread source/t2parser/t2parser.c
Comment thread source/t2parser/t2parser.c
Comment thread source/t2parser/t2parser.c
@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

Coverity Issue - Use after free

Passing freed pointer "header" as an argument to "T2Log".

High Impact, CWE-416
USE_AFTER_FREE

Issue location

This issue was discovered outside the diff for this Pull Request. You can find it at:
source/t2parser/t2parser.c:1343

Comment thread source/t2parser/t2parser.c Outdated
T2Debug("[[Added parameter:%s]]\n", header);
}
if (content) {
free(content);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverity Issue - Free of array-typed value

"free" frees incorrect pointer "content".

High Impact, CWE-590
BAD_FREE

T2Error("%s Error in adding parameter to profile %s \n", __FUNCTION__, profile->name);
if (content)
{
free(content);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverity Issue - Free of array-typed value

"free" frees incorrect pointer "content".

High Impact, CWE-590
BAD_FREE

shibu-kv
shibu-kv previously approved these changes Jan 22, 2026
Description:
Introduced marker type DataModelTable for dynamic tables in telemetry.

Enhanced T2 agent to resolve and collect data from all instances of multi-instance object tables when dynamic markers are configured.

Added logic to parse DataModelTable, filter markers based on telemetry profile configuration, and encode them in telemetry reports after collection, ensuring telemetry reports include per-instance data for configured dynamic markers.

Added support for an "index" parameter in configuration to restrict data collection to specific indexes if required.

Reason for change:
Enable telemetry to capture dynamic, per-instance data from tables (e.g., Host table, Wi-Fi associated devices) where indexes are not fixed, ensuring richer and more flexible telemetry collection.

Signed-off-by: onkar.panchare1 <onkar.panchare@telekom-digital.com>
@shibu-kv
Copy link
Copy Markdown
Contributor

shibu-kv commented May 4, 2026

By passing and merging with below known tech debts :

L1 unit tests are failing due to critical bugs:

NULL Pointer Dereference in profile.c (CRASH - highest priority)
Memory Leaks in reportgen.c (2 error paths)
Buffer Overflow Risk in reportgen.c (unbounded strcat)
Error Handling Issues in t2parser.c (continues with invalid data)
USE_AFTER_FREE in t2parser.c (Coverity HIGH severity)

Merging so that team an work on addressing the issues from latest and greatest code from develop. Not all dev groups are having access to update contributors' fork.

@shibu-kv shibu-kv merged commit a53e6c8 into rdkcentral:develop May 4, 2026
6 of 10 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators May 4, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

community-contribution Contribution from community

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants