17
17
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22
20
#include "common.h"
23
22
#include "sysinfo.h"
25
static int DISKREADOPS1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
27
char key[MAX_STRING_LEN];
29
snprintf(key,sizeof(key)-1,"disk_read_ops1[%s]",param);
31
return get_stat(key, flags, result);
34
static int DISKREADOPS5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
36
char key[MAX_STRING_LEN];
38
snprintf(key,sizeof(key)-1,"disk_read_ops5[%s]",param);
40
return get_stat(key, flags, result);
43
static int DISKREADOPS15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
45
char key[MAX_STRING_LEN];
47
snprintf(key,sizeof(key)-1,"disk_read_ops15[%s]",param);
49
return get_stat(key, flags, result);
52
static int DISKREADBLKS1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
54
char key[MAX_STRING_LEN];
56
snprintf(key,sizeof(key)-1,"disk_read_blks1[%s]",param);
58
return get_stat(key, flags, result);
61
static int DISKREADBLKS5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
63
char key[MAX_STRING_LEN];
65
snprintf(key,sizeof(key)-1,"disk_read_blks5[%s]",param);
67
return get_stat(key, flags, result);
70
static int DISKREADBLKS15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
72
char key[MAX_STRING_LEN];
74
snprintf(key,sizeof(key)-1,"disk_read_blks15[%s]",param);
76
return get_stat(key, flags, result);
79
static int DISKWRITEOPS1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
81
char key[MAX_STRING_LEN];
83
snprintf(key,sizeof(key)-1,"disk_write_ops1[%s]",param);
85
return get_stat(key, flags, result);
88
static int DISKWRITEOPS5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
90
char key[MAX_STRING_LEN];
92
snprintf(key,sizeof(key)-1,"disk_write_ops5[%s]",param);
94
return get_stat(key, flags, result);
97
static int DISKWRITEOPS15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
99
char key[MAX_STRING_LEN];
101
snprintf(key,sizeof(key)-1,"disk_write_ops15[%s]",param);
103
return get_stat(key, flags, result);
106
static int DISKWRITEBLKS1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
108
char key[MAX_STRING_LEN];
110
snprintf(key,sizeof(key)-1,"disk_write_blks1[%s]",param);
112
return get_stat(key, flags, result);
115
static int DISKWRITEBLKS5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
117
char key[MAX_STRING_LEN];
119
snprintf(key,sizeof(key)-1,"disk_write_blks5[%s]",param);
121
return get_stat(key, flags, result);
124
static int DISKWRITEBLKS15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
126
char key[MAX_STRING_LEN];
128
snprintf(key,sizeof(key)-1,"disk_write_blks15[%s]",param);
130
return get_stat(key, flags, result);
133
24
int VFS_DEV_WRITE(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
136
#define DEV_FNCLIST struct dev_fnclist_s
146
{"ops", "avg1" , DISKWRITEOPS1},
147
{"ops", "avg5" , DISKWRITEOPS5},
148
{"ops", "avg15", DISKWRITEOPS15},
149
{"bps", "avg1" , DISKWRITEBLKS1},
150
{"bps", "avg5" , DISKWRITEBLKS5},
151
{"bps", "avg15", DISKWRITEBLKS15},
27
return SYSINFO_RET_FAIL;
155
30
char devname[MAX_STRING_LEN];
156
31
char type[MAX_STRING_LEN];
157
32
char mode[MAX_STRING_LEN];
189
63
if(mode[0] == '\0')
191
65
/* default parameter */
192
sprintf(mode, "avg1");
195
for(i=0; fl[i].type!=0; i++)
197
if(strncmp(type, fl[i].type, MAX_STRING_LEN)==0)
199
if(strncmp(mode, fl[i].mode, MAX_STRING_LEN)==0)
201
return (fl[i].function)(cmd, devname, flags, result);
206
return SYSINFO_RET_FAIL;
66
zbx_snprintf(mode, sizeof(mode), "avg1");
71
SET_MSG_RESULT(result, strdup("Collector is not started!"));
72
return SYSINFO_RET_OK;
75
if( 0 == strcmp(type,"ops"))
77
if( 0 == strcmp(mode,"avg1")) SET_DBL_RESULT(result, collector->diskdevices.XXX1)
78
else if( 0 == strcmp(mode,"avg5")) SET_DBL_RESULT(result, collector->diskdevices.XXX5)
79
else if( 0 == strcmp(mode,"avg15")) SET_DBL_RESULT(result, collector->diskdevices.XXX15)
80
else return SYSINFO_RET_FAIL;
83
else if( 0 == strcmp(type,"bps"))
85
if( 0 == strcmp(mode,"avg1")) SET_DBL_RESULT(result, collector->diskdevices.XXX1)
86
else if( 0 == strcmp(mode,"avg5")) SET_DBL_RESULT(result, collector->diskdevices.XXX5)
87
else if( 0 == strcmp(mode,"avg15")) SET_DBL_RESULT(result, collector->diskdevices.XXX15)
88
else return SYSINFO_RET_FAIL;
93
return SYSINFO_RET_FAIL;
96
return SYSINFO_RET_OK;
209
100
int VFS_DEV_READ(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
212
#define DEV_FNCLIST struct dev_fnclist_s
222
{"ops", "avg1" , DISKREADOPS1},
223
{"ops", "avg5" , DISKREADOPS5},
224
{"ops", "avg15", DISKREADOPS15},
225
{"bps", "avg1" , DISKREADBLKS1},
226
{"bps", "avg5" , DISKREADBLKS5},
227
{"bps", "avg15", DISKREADBLKS15},
103
return SYSINFO_RET_FAIL;
231
106
char devname[MAX_STRING_LEN];
232
107
char type[MAX_STRING_LEN];
233
108
char mode[MAX_STRING_LEN];
265
139
if(mode[0] == '\0')
267
141
/* default parameter */
268
sprintf(mode, "avg1");
271
for(i=0; fl[i].type!=0; i++)
273
if(strncmp(type, fl[i].type, MAX_STRING_LEN)==0)
275
if(strncmp(mode, fl[i].mode, MAX_STRING_LEN)==0)
277
return (fl[i].function)(cmd, devname, flags, result);
282
return SYSINFO_RET_FAIL;
142
zbx_snprintf(mode, sizeof(mode), "avg1");
145
if(NULL == collector)
147
SET_MSG_RESULT(result, strdup("Collector is not started!"));
148
return SYSINFO_RET_OK;
151
if( 0 == strcmp(type,"ops"))
153
if( 0 == strcmp(mode,"avg1")) SET_DBL_RESULT(result, collector->diskdevices.XXX1)
154
else if( 0 == strcmp(mode,"avg5")) SET_DBL_RESULT(result, collector->diskdevices.XXX5)
155
else if( 0 == strcmp(mode,"avg15")) SET_DBL_RESULT(result, collector->diskdevices.XXX15)
156
else return SYSINFO_RET_FAIL;
159
else if( 0 == strcmp(type,"bps"))
161
if( 0 == strcmp(mode,"avg1")) SET_DBL_RESULT(result, collector->diskdevices.XXX1)
162
else if( 0 == strcmp(mode,"avg5")) SET_DBL_RESULT(result, collector->diskdevices.XXX5)
163
else if( 0 == strcmp(mode,"avg15")) SET_DBL_RESULT(result, collector->diskdevices.XXX15)
164
else return SYSINFO_RET_FAIL;
169
return SYSINFO_RET_FAIL;
172
return SYSINFO_RET_OK;
285
176
static int DISK_IO(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)