Skip to content

Commit 80f520e

Browse files
authored
Merge pull request #542 from rdkcentral/feature/CPESP-7410
RDKEMW-2993 : Add Telemetry Plugin
2 parents 568ab07 + e5acb80 commit 80f520e

File tree

2 files changed

+51
-1
lines changed

2 files changed

+51
-1
lines changed

apis/Ids.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,9 @@ namespace Exchange {
300300

301301
ID_FRONT_PANEL = ID_ENTOS_OFFSET + 0x3E0,
302302
ID_FRONT_PANEL_LIGHTS_LIST_ITERATOR = ID_FRONT_PANEL + 1,
303-
ID_FRONT_PANEL_BLINK_INFO_LIST_ITERATOR = ID_FRONT_PANEL + 2
303+
ID_FRONT_PANEL_BLINK_INFO_LIST_ITERATOR = ID_FRONT_PANEL + 2,
304+
305+
ID_TELEMETRYMETRICS = ID_ENTOS_OFFSET + 0x3F0
304306
};
305307
}
306308
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* If not stated otherwise in this file or this component's LICENSE file the
3+
* following copyright and licenses apply:
4+
*
5+
* Copyright 2025 RDK Management
6+
*
7+
* Licensed under the Apache License, Version 2.0 (the "License");
8+
* you may not use this file except in compliance with the License.
9+
* You may obtain a copy of the License at
10+
*
11+
* http://www.apache.org/licenses/LICENSE-2.0
12+
*
13+
* Unless required by applicable law or agreed to in writing, software
14+
* distributed under the License is distributed on an "AS IS" BASIS,
15+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
* See the License for the specific language governing permissions and
17+
* limitations under the License.
18+
*/
19+
20+
#pragma once
21+
22+
#include "Module.h"
23+
24+
namespace WPEFramework {
25+
namespace Exchange {
26+
27+
// @text:keep
28+
struct EXTERNAL ITelemetryMetrics : virtual public Core::IUnknown {
29+
enum { ID = ID_TELEMETRYMETRICS };
30+
31+
/** @brief Record the telementryMetrics add new hash values to existing hash */
32+
// @text record
33+
// @param id string identifier for the telemetry record.
34+
// @param telemetryMetrics jsonString hash contains key value pair of telemetryData
35+
// @param markerName Groups related metrics
36+
virtual Core::hresult Record(const string& id, const string& telemetryMetrics, const string& markerName) = 0;
37+
38+
/** @brief Publish the Telemetry Data
39+
makes a T2 call that records all the key / value pairs in
40+
hash. The existing id and hash are cleared after publish.*/
41+
// @text publish
42+
// @param id string identifier for the telemetry record.
43+
// @param markerName Groups related metrics
44+
virtual Core::hresult Publish(const string& id, const string& markerName) = 0;
45+
};
46+
}// namespace Exchange
47+
}// namespace WPEFramework
48+

0 commit comments

Comments
 (0)