@@ -190,5 +190,45 @@ namespace WPEFramework
190190 string& result /* @out @opaque */ ) = 0;
191191
192192 };
193+
194+ // @text:keep
195+ struct EXTERNAL IAppGatewayTelemetry : virtual public Core::IUnknown
196+ {
197+ enum
198+ {
199+ ID = ID_APP_GATEWAY_TELEMETRY
200+ };
201+
202+ // @json:omit
203+ // @text recordTelemetryEvent
204+ // @brief Records a telemetry event with gateway context information
205+ // @param context: Execution context containing requestId, connectionId, appId
206+ // @param eventName: Name of the telemetry event to record
207+ // @param eventData: JSON string containing telemetry event data
208+ // @retval Core::ERROR_NONE: Event recorded successfully
209+ // @retval Core::ERROR_GENERAL: Failed to record the event
210+ // @retval Core::ERROR_UNAVAILABLE: Telemetry service is not available
211+ // @returns Core::hresult
212+ virtual Core::hresult RecordTelemetryEvent (const GatewayContext& context /* @text context */ ,
213+ const string& eventName /* @text eventName */ ,
214+ const string& eventData /* @text eventData */ /* @opaque */ ) = 0;
215+
216+ // @json:omit
217+ // @text recordTelemetryMetric
218+ // @brief Records a telemetry metric with gateway context information
219+ // @param context: Execution context containing requestId, connectionId, appId
220+ // @param metricName: Name of the telemetry metric to record
221+ // @param metricValue: Numeric value of the metric
222+ // @param metricUnit: Unit of measurement for the metric
223+ // @retval Core::ERROR_NONE: Metric recorded successfully
224+ // @retval Core::ERROR_GENERAL: Failed to record the metric
225+ // @retval Core::ERROR_UNAVAILABLE: Telemetry service is not available
226+ // @returns Core::hresult
227+ virtual Core::hresult RecordTelemetryMetric (const GatewayContext& context /* @text context */ ,
228+ const string& metricName /* @text metricName */ ,
229+ const double metricValue /* @text metricValue */ ,
230+ const string& metricUnit /* @text metricUnit */ ) = 0;
231+
232+ };
193233 } // namespace Exchange
194234} // namespace WPEFramework
0 commit comments