aix nfs metrics impl
This commit is contained in:
parent
f3ac51daa5
commit
34c15a533b
|
@ -2287,30 +2287,134 @@ sigar_tcp_stat_get(sigar_t *sigar,
|
|||
tcpstat->out_rsts = 0;
|
||||
}
|
||||
|
||||
#define NFS_V2_STAT_SET(type) \
|
||||
nfsstat->null = proto.u.nfsv2.type.null; \
|
||||
nfsstat->getattr = proto.u.nfsv2.type.getattr; \
|
||||
nfsstat->setattr = proto.u.nfsv2.type.setattr; \
|
||||
nfsstat->root = proto.u.nfsv2.type.root; \
|
||||
nfsstat->lookup = proto.u.nfsv2.type.lookup; \
|
||||
nfsstat->readlink = proto.u.nfsv2.type.readlink; \
|
||||
nfsstat->read = proto.u.nfsv2.type.read; \
|
||||
nfsstat->writecache = proto.u.nfsv2.type.writecache; \
|
||||
nfsstat->write = proto.u.nfsv2.type.write; \
|
||||
nfsstat->create = proto.u.nfsv2.type.create; \
|
||||
nfsstat->remove = proto.u.nfsv2.type.remove; \
|
||||
nfsstat->rename = proto.u.nfsv2.type.rename; \
|
||||
nfsstat->link = proto.u.nfsv2.type.link; \
|
||||
nfsstat->symlink = proto.u.nfsv2.type.symlink; \
|
||||
nfsstat->mkdir = proto.u.nfsv2.type.mkdir; \
|
||||
nfsstat->rmdir = proto.u.nfsv2.type.rmdir; \
|
||||
nfsstat->readdir = proto.u.nfsv2.type.readdir; \
|
||||
nfsstat->fsstat = proto.u.nfsv2.type.statfs
|
||||
|
||||
int sigar_nfs_client_v2_get(sigar_t *sigar,
|
||||
sigar_nfs_client_v2_t *nfsstat)
|
||||
{
|
||||
perfstat_id_t id;
|
||||
perfstat_protocol_t proto;
|
||||
|
||||
if (sigar_perfstat_init(sigar) != SIGAR_OK) {
|
||||
return SIGAR_ENOTIMPL;
|
||||
}
|
||||
|
||||
SIGAR_SSTRCPY(id.name, "nfsv2");
|
||||
|
||||
if (sigar->perfstat.protocol(&id, &proto, 1) != 1) {
|
||||
return ENOENT;
|
||||
}
|
||||
|
||||
NFS_V2_STAT_SET(client);
|
||||
|
||||
return SIGAR_OK;
|
||||
}
|
||||
|
||||
int sigar_nfs_server_v2_get(sigar_t *sigar,
|
||||
sigar_nfs_server_v2_t *nfsstat)
|
||||
{
|
||||
perfstat_id_t id;
|
||||
perfstat_protocol_t proto;
|
||||
|
||||
if (sigar_perfstat_init(sigar) != SIGAR_OK) {
|
||||
return SIGAR_ENOTIMPL;
|
||||
}
|
||||
|
||||
SIGAR_SSTRCPY(id.name, "nfsv2");
|
||||
|
||||
if (sigar->perfstat.protocol(&id, &proto, 1) != 1) {
|
||||
return ENOENT;
|
||||
}
|
||||
|
||||
NFS_V2_STAT_SET(server);
|
||||
|
||||
return SIGAR_OK;
|
||||
}
|
||||
|
||||
#define NFS_V3_STAT_SET(type) \
|
||||
nfsstat->null = proto.u.nfsv3.type.null; \
|
||||
nfsstat->getattr = proto.u.nfsv3.type.getattr; \
|
||||
nfsstat->setattr = proto.u.nfsv3.type.setattr; \
|
||||
nfsstat->lookup = proto.u.nfsv3.type.lookup; \
|
||||
nfsstat->access = proto.u.nfsv3.type.access; \
|
||||
nfsstat->readlink = proto.u.nfsv3.type.readlink; \
|
||||
nfsstat->read = proto.u.nfsv3.type.read; \
|
||||
nfsstat->write = proto.u.nfsv3.type.write; \
|
||||
nfsstat->create = proto.u.nfsv3.type.create; \
|
||||
nfsstat->mkdir = proto.u.nfsv3.type.mkdir; \
|
||||
nfsstat->symlink = proto.u.nfsv3.type.symlink; \
|
||||
nfsstat->mknod = proto.u.nfsv3.type.mknod; \
|
||||
nfsstat->remove = proto.u.nfsv3.type.remove; \
|
||||
nfsstat->rmdir = proto.u.nfsv3.type.rmdir; \
|
||||
nfsstat->rename = proto.u.nfsv3.type.rename; \
|
||||
nfsstat->link = proto.u.nfsv3.type.link; \
|
||||
nfsstat->readdir = proto.u.nfsv3.type.readdir; \
|
||||
nfsstat->readdirplus = proto.u.nfsv3.type.readdirplus; \
|
||||
nfsstat->fsstat = proto.u.nfsv3.type.fsstat; \
|
||||
nfsstat->fsinfo = proto.u.nfsv3.type.fsinfo; \
|
||||
nfsstat->pathconf = proto.u.nfsv3.type.pathconf; \
|
||||
nfsstat->commit = proto.u.nfsv3.type.commit
|
||||
|
||||
int sigar_nfs_client_v3_get(sigar_t *sigar,
|
||||
sigar_nfs_client_v3_t *nfsstat)
|
||||
{
|
||||
perfstat_id_t id;
|
||||
perfstat_protocol_t proto;
|
||||
|
||||
if (sigar_perfstat_init(sigar) != SIGAR_OK) {
|
||||
return SIGAR_ENOTIMPL;
|
||||
}
|
||||
|
||||
SIGAR_SSTRCPY(id.name, "nfsv3");
|
||||
|
||||
if (sigar->perfstat.protocol(&id, &proto, 1) != 1) {
|
||||
return ENOENT;
|
||||
}
|
||||
|
||||
NFS_V3_STAT_SET(client);
|
||||
|
||||
return SIGAR_OK;
|
||||
}
|
||||
|
||||
int sigar_nfs_server_v3_get(sigar_t *sigar,
|
||||
sigar_nfs_server_v3_t *nfsstat)
|
||||
{
|
||||
perfstat_id_t id;
|
||||
perfstat_protocol_t proto;
|
||||
|
||||
if (sigar_perfstat_init(sigar) != SIGAR_OK) {
|
||||
return SIGAR_ENOTIMPL;
|
||||
}
|
||||
|
||||
SIGAR_SSTRCPY(id.name, "nfsv3");
|
||||
|
||||
if (sigar->perfstat.protocol(&id, &proto, 1) != 1) {
|
||||
return ENOENT;
|
||||
}
|
||||
|
||||
NFS_V3_STAT_SET(server);
|
||||
|
||||
return SIGAR_OK;
|
||||
}
|
||||
|
||||
/* derived from pidentd's k_aix432.c */
|
||||
int sigar_proc_port_get(sigar_t *sigar, int protocol,
|
||||
unsigned long port, sigar_pid_t *pidp)
|
||||
|
|
Loading…
Reference in New Issue