add Service.Exe ptql support
This commit is contained in:
parent
5df4850bf3
commit
b83b819b00
|
@ -72,6 +72,7 @@ public class TestPTQL extends SigarTestCase {
|
|||
"Service.Name.ct=Oracle",
|
||||
"Service.DisplayName.re=DHCP|DNS",
|
||||
"Service.Path.ct=svchost",
|
||||
"Service.Exe.Ieq=inetinfo.exe",
|
||||
OTHER_JAVA_PROCESS, //all java procs cept this one
|
||||
"Cpu.Percent.ge=0.2",
|
||||
"State.Name.sw=java,Args.*.eq=org.jboss.Main", //jboss
|
||||
|
|
|
@ -666,7 +666,8 @@ enum {
|
|||
PTQL_PID_FILE,
|
||||
PTQL_PID_SERVICE_NAME,
|
||||
PTQL_PID_SERVICE_DISPLAY,
|
||||
PTQL_PID_SERVICE_PATH
|
||||
PTQL_PID_SERVICE_PATH,
|
||||
PTQL_PID_SERVICE_EXE
|
||||
};
|
||||
|
||||
#ifdef SIGAR_64BIT
|
||||
|
@ -700,6 +701,10 @@ static int ptql_branch_init_service(ptql_parse_branch_t *parsed,
|
|||
else if (strEQ(parsed->attr, "Path")) {
|
||||
branch->flags = PTQL_PID_SERVICE_PATH;
|
||||
}
|
||||
else if (strEQ(parsed->attr, "Exe")) {
|
||||
/* basename of Path */
|
||||
branch->flags = PTQL_PID_SERVICE_EXE;
|
||||
}
|
||||
else {
|
||||
return ptql_error(error, "Unsupported %s attribute: %s",
|
||||
parsed->name, parsed->attr);
|
||||
|
@ -785,7 +790,7 @@ static int sigar_services_walk(sigar_services_walker_t *walker,
|
|||
}
|
||||
for (i=0; i<ss.count; i++) {
|
||||
int status;
|
||||
char *value;
|
||||
char *value = NULL;
|
||||
char *name = ss.services[i].lpServiceName;
|
||||
|
||||
if (branch == NULL) {
|
||||
|
@ -801,9 +806,16 @@ static int sigar_services_walk(sigar_services_walker_t *walker,
|
|||
value = ss.services[i].lpDisplayName;
|
||||
break;
|
||||
case PTQL_PID_SERVICE_PATH:
|
||||
case PTQL_PID_SERVICE_EXE:
|
||||
status = ptql_service_query_config(ss.handle, name, config);
|
||||
if (status == SIGAR_OK) {
|
||||
value = config->lpBinaryPathName;
|
||||
if (branch->flags == PTQL_PID_SERVICE_EXE) {
|
||||
value = strrchr(config->lpBinaryPathName, '\\');
|
||||
if (value) ++value;
|
||||
}
|
||||
if (value == NULL) {
|
||||
value = config->lpBinaryPathName;
|
||||
}
|
||||
}
|
||||
else {
|
||||
continue;
|
||||
|
|
Loading…
Reference in New Issue