aboutsummaryrefslogtreecommitdiffstats
path: root/lib/otp_mibs/mibs/OTP-MIB.mib
blob: 693319eae422ce0ecfedf00c583cbfe4632b303f (plain) (blame)
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
--
-- %CopyrightBegin%
-- 
-- Copyright Ericsson AB 1996-2016. All Rights Reserved.
-- 
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
-- 
--     http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
-- 
-- %CopyrightEnd%
--

OTP-MIB DEFINITIONS ::= BEGIN
 
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Counter64, Gauge32, Integer32
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DisplayString
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    otpModules, otpApplications
        FROM OTP-REG
    ;

otpModule MODULE-IDENTITY
    LAST-UPDATED    "201307160700Z"
    ORGANIZATION    "Ericsson"
    CONTACT-INFO
        "Contact:    Erlang Support see license agreement for Erlang/OTP."
    DESCRIPTION
        "This is a MIB for a distributed OTP system, with one SNMP
        agent executing at one node only.  Each Erlang node in the
        OTP system is represented by one row in the erlNodeTable."

    REVISION        "201307160700Z"
    DESCRIPTION
        "Updated various types to be able to reflect larger values.
        The objects erlNodeReductions, erlNodeInBytes, erlNodeOutBytes as well
        as the type MilliSeconds have been updated to Counter64."

    REVISION        "200305090900Z"
    DESCRIPTION
        "Changed CONTACT-INFO as it was outdated, made it more generic
	to avoid such changes in the future."
    
    REVISION        "199712010900Z"
    DESCRIPTION
        "Converted to v2 SMI and placed in the OTP tree."

    REVISION        "199608191700Z"
    DESCRIPTION
        "The initial revision of MIB module OTP-MIB."

    ::= { otpModules 3 }

otpMIB          OBJECT IDENTIFIER ::= { otpApplications 1 }
otpMIBConformance
                OBJECT IDENTIFIER ::= { otpMIB 1 }
otpMIBObjects   OBJECT IDENTIFIER ::= { otpMIB 2 }

-- Datatypes

MilliSeconds ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The MilliSeconds type represents a Counter which represents
        the time, in milliseconds between two epochs.  When objects
	are defined which use this type, the description of the object
	identifies both of the reference epochs."
    SYNTAX      Counter64


-- Managed Objects

erlang          OBJECT IDENTIFIER ::= { otpMIBObjects 1 }
appls           OBJECT IDENTIFIER ::= { otpMIBObjects 2 }

erlNodeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ErlNodeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table with info on each erlang node in the system."
    ::= { erlang 1 }

erlNodeEntry OBJECT-TYPE
    SYNTAX      ErlNodeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the erlNodeTable."
    INDEX   { erlNodeId }
    ::= { erlNodeTable 1 }

ErlNodeEntry ::= SEQUENCE {
    erlNodeId           Integer32,
    erlNodeName         DisplayString,
    erlNodeMachine      DisplayString,      
    erlNodeVersion      DisplayString,
    erlNodeRunQueue     Gauge32,
    erlNodeRunTime      MilliSeconds,
    erlNodeWallClock    MilliSeconds,
    erlNodeReductions   Counter64,
    erlNodeProcesses    Gauge32,
    erlNodeInBytes      Counter64,
    erlNodeOutBytes     Counter64
}

erlNodeId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An integer that uniquely identifies the erlang node."
    ::= { erlNodeEntry 1 }

erlNodeName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The symbolic name of the erlang node."
    ::= { erlNodeEntry 2 }

erlNodeMachine OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The virtual machine executing the erlang node"
    ::= { erlNodeEntry 3 }

erlNodeVersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The version number of the virtual machine"
    ::= { erlNodeEntry 4 }

erlNodeRunQueue OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of processes scheduled to run"
    ::= { erlNodeEntry 5 }

erlNodeRunTime OBJECT-TYPE
    SYNTAX      MilliSeconds
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total cpu time in milliseconds since the 
        system started"
    ::= { erlNodeEntry 6 }

erlNodeWallClock OBJECT-TYPE
    SYNTAX      MilliSeconds
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total real time in milliseconds since the 
        system started"
    ::= { erlNodeEntry 7 }  

erlNodeReductions OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of function calls since the system started"
    ::= { erlNodeEntry 8 }

erlNodeProcesses OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of running processes in the system."
    ::= { erlNodeEntry 9 }

erlNodeInBytes  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of bytes delivered to the system"
    ::= { erlNodeEntry 10 }

erlNodeOutBytes  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of bytes delivered from the system"
    ::= { erlNodeEntry 11 }


applTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ApplEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table with all currently running applications
        for each node."
    ::= { appls 1 }

applEntry OBJECT-TYPE
    SYNTAX      ApplEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the applTable."
    INDEX   { erlNodeId, applId }
    ::= { applTable 1 }

ApplEntry ::= SEQUENCE {
    applId      Integer32,
    applName    DisplayString,
    applDescr   DisplayString,
    applVsn     DisplayString
}

applId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An integer that uniquely identifies the application."
    ::= { applEntry 1 }

applName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the application."
    ::= { applEntry 2 }

applDescr OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A short description of the application."
    ::= { applEntry 3 }

applVsn OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The version of the application."
    ::= { applEntry 4 }


-- conformance information

otpMIBCompliances
                OBJECT IDENTIFIER ::= { otpMIBConformance 1 }
otpMIBGroups    OBJECT IDENTIFIER ::= { otpMIBConformance 2 }


-- compliance statements

otpBasicCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for SNMPv2 entities which
        implement the OTP-MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { erlGroup, applGroup }

    ::= { otpMIBCompliances 1 }


-- units of conformance

erlGroup OBJECT-GROUP
    OBJECTS { erlNodeName,
              erlNodeMachine,
              erlNodeVersion,
              erlNodeRunQueue,
              erlNodeRunTime,
              erlNodeWallClock,
              erlNodeReductions,
              erlNodeProcesses,
              erlNodeInBytes,
              erlNodeOutBytes }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing basic instrumentation
        of the Erlang runtime system."
    ::= { otpMIBGroups 1 }

applGroup OBJECT-GROUP
    OBJECTS { applName,
              applDescr,
              applVsn }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing basic instrumentation
        of the applications in the OTP system."
    ::= { otpMIBGroups 2 }


END