You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Alain <al...@gmail.com> on 2021/06/06 15:16:45 UTC
HealthCheck tags
Switched from SystemReady to HealthChecks and all is fine with my
services.list and components.list just by changing the PID.
I added some additional checks from the list of generalchecks like so:
Dictionary<String, Object> props = new Hashtable<>();
props.put(HC_TAGS, new String[] {"cpu"});
String pid = "org.apache.felix.hc.generalchecks.CpuCheck";
Configuration config = cm.getConfiguration(pid, "?");
config.update(props);
and I have an HealthCheckMonitor configured:
private void registerHealthMonitor() throws IOException {
Set<String> tags2Check = new HashSet<>();
tags2Check.add("systemalive");
tags2Check.add("cpu");
Dictionary<String, Object> props = new Hashtable<>();
props.put("tags", tags2Check);
props.put("intervalInSec", Long.valueOf(5));
String pid = "org.apache.felix.hc.core.impl.monitor.HealthCheckMonitor";
Configuration config = cm.getConfiguration(pid, "?");
config.update(props);
}
which is working fine with my event handler.
Received event: org/apache/felix/health/tag/cpu/STATUS_CHANGED
previousStatus: null
status: TEMPORARILY_UNAVAILABLE
executionResult: CombinedExecutionResult [size=0 overall
status=TEMPORARILY_UNAVAILABLE, finishedAt=null, elapsedTimeInMs=0,
timedOut=false]
result: Result [status=TEMPORARILY_UNAVAILABLE, resultLog=ResultLog:
[TEMPORARILY_UNAVAILABLE Overall status TEMPORARILY_UNAVAILABLE]]
Now if I run:
hc:exec cpu
It doesn't pick up the tag.
Running hc:list -v only shows the systemalive health checks:
hc:list -v
OSGi Framework Ready Check systemalive
org.apache.felix.healthcheck.generalchecks
DS Components Ready Check systemalive
org.apache.felix.healthcheck.generalchecks
Services Ready Check systemalive
org.apache.felix.healthcheck.generalchecks
Why is this happening and how can I target those tags, like my cpu here ?
Thanks
Alain
Re: HealthCheck tags
Posted by Alain <al...@gmail.com>.
I found the answer to my question, I needed to use hc.tags and not hc_tags
as defined in the metatype file (forgot that part).
Alain
On Sun, Jun 6, 2021 at 11:16 AM Alain <al...@gmail.com> wrote:
> Switched from SystemReady to HealthChecks and all is fine with my
> services.list and components.list just by changing the PID.
>
> I added some additional checks from the list of generalchecks like so:
>
> Dictionary<String, Object> props = new Hashtable<>();
> props.put(HC_TAGS, new String[] {"cpu"});
> String pid = "org.apache.felix.hc.generalchecks.CpuCheck";
> Configuration config = cm.getConfiguration(pid, "?");
> config.update(props);
>
> and I have an HealthCheckMonitor configured:
> private void registerHealthMonitor() throws IOException {
> Set<String> tags2Check = new HashSet<>();
> tags2Check.add("systemalive");
> tags2Check.add("cpu");
> Dictionary<String, Object> props = new Hashtable<>();
> props.put("tags", tags2Check);
> props.put("intervalInSec", Long.valueOf(5));
> String pid = "org.apache.felix.hc.core.impl.monitor.HealthCheckMonitor";
> Configuration config = cm.getConfiguration(pid, "?");
> config.update(props);
> }
>
> which is working fine with my event handler.
> Received event: org/apache/felix/health/tag/cpu/STATUS_CHANGED
> previousStatus: null
> status: TEMPORARILY_UNAVAILABLE
> executionResult: CombinedExecutionResult [size=0 overall
> status=TEMPORARILY_UNAVAILABLE, finishedAt=null, elapsedTimeInMs=0,
> timedOut=false]
> result: Result [status=TEMPORARILY_UNAVAILABLE, resultLog=ResultLog:
> [TEMPORARILY_UNAVAILABLE Overall status TEMPORARILY_UNAVAILABLE]]
>
> Now if I run:
> hc:exec cpu
> It doesn't pick up the tag.
>
> Running hc:list -v only shows the systemalive health checks:
> hc:list -v
> OSGi Framework Ready Check systemalive
> org.apache.felix.healthcheck.generalchecks
> DS Components Ready Check systemalive
> org.apache.felix.healthcheck.generalchecks
> Services Ready Check systemalive
> org.apache.felix.healthcheck.generalchecks
>
> Why is this happening and how can I target those tags, like my cpu here ?
>
> Thanks
> Alain
>
>