blob: 0797296df7c1b1f148321b96ec2eee52b421fd01 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
<!--
*
* Copyright (C) 2013 Continental Automotive Systems, Inc.
*
* Author: Jean-Pierre.Bogler@continental-corporation.com
*
* Describes the "Info" interface of the NodeHealthMonitor
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* Date Author Reason
* 05th Feb. 2013 Jean-Pierre Bogler Initial creation
*
-->
<node>
<!-- org.genivi.NodeHealthMonitor.Info:
This is a DBUS interface that is used to interact between interested
parties and the Node Health Monitor.
-->
<interface name="org.genivi.NodeHealthMonitor.Info">
<!-- RegisterAppStatus:
@AppName: Type='STRING'; Description='This is the unit name of the
application that has failed'
@AppStatus: Type='NhmAppStatus_e'; Description='This can be used to
specify the status of the application that has failed.
It will be based upon the enum NHM_ApplicationStatus_e'
This method will be used by an NHM client to register that an
application has failed or recovered from a previous failure.
The Node Health Monitor will maintain an internal list of the
applications that are currently in a failed state.
Additionally it will maintain a count of the currently failed
applications that can be used to trigger a system restart if the
value gets too high.
The NHM will also call the NSM method SetAppHealthStatus which will
allow the NSM to disable any sessions that might have been enabled
by the failed application.
-->
<method name="RegisterAppStatus">
<arg name="AppName" type="s" direction="in" />
<arg name="AppStatus" type="i" direction="in" />
</method>
<!-- ReadStatistics:
@AppName: Type='STRING'; Description='This will be the name of the
application for which the calling application wants to know
the failure count for. If this value is an empty string the
NHM will return the failure statistics for the whole node'
@CurrentFailCount: Type='UINT32'; Description='This value will be the
number of failures that have occurred in this
lifecycle'
@TotalFailures: Type='UINT32'; Description='This will be the total
number of failures that have occurred in the past X
amount of lifecycles. The value of X will be
configurable at build time'
@TotalLifecycles: Type='UINT32'; Description='This value will be the
number of lifecycles that are being used for the
statistics collection (i.e. 5 failures in 8 LCs)'
@ErrorStatus: Type='NhmError_Status_e'; Description='This parameter
will be used as a return value'
This method can be used to read the failure count of either a
particular application or of the Node itself
-->
<method name="ReadStatistics">
<arg name="AppName" type="s" direction="in" />
<arg name="CurrentFailCount" type="u" direction="out" />
<arg name="TotalFailures" type="u" direction="out" />
<arg name="TotalLifecycles" type="u" direction="out" />
<arg name="ErrorStatus" type="i" direction="out" />
</method>
<!-- RequestNodeRestart:
@AppName: Type='STRING'; Description='This is the unit name of the
application that has failed'
@ErrorStatus: Type='NhmError_Status_e'; Description='This parameter
will be used as a return value'
This method can be used by an NHM client to request a node restart if
a critical application can not be recovered. The Node Health Monitor
will have the possibility to internally evaluate whether the failed
application is important enough to warrant the restarting of the node.
The NHM will then forward the request to the NSM who will evaluate
whether a restart is allowed at the current time.
-->
<method name="RequestNodeRestart">
<arg name="AppName" type="s" direction="in" />
<arg name="ErrorStatus" type="i" direction="out" />
</method>
<!-- AppHealthStatus:
@AppName: Type='STRING'
@AppStatus: Type='AppHealthStatus'
This DBUS signal can be used by a client to be notified about
AppHealth status changes
-->
<signal name="AppHealthStatus">
<arg name="AppName" type="s" />
<arg name="AppStatus" type="i" />
</signal>
</interface>
</node>
|