Hi all,

so regarding this [1] I figured that we also need a mechanism to
regularly trigger health checks so the service interface(s) can be
registered/unregistered - for this the idea is to introduce a
HealthCheckMonitor [2]. For the service marker interfaces I chose
Healthy, Unhealthy (that can be used with a target filter to select
relevant tags) and SystemReady (a shortcut, see [3]) as it is a
very prominent case. All this will AFAICT work well with the new
Condition service - it's just an additional property to services
Healthy/Unhealthy, also those interfaces can extend the Condition
interface once it's available.

See [4] for the PR. Feedback welcome, in particular around the
naming of interfaces and the HealthCheckMonitor.

Best Regards
Georg

[1] https://issues.apache.org/jira/browse/FELIX-6245
[2] https://issues.apache.org/jira/browse/FELIX-6250

[3]
@Reference
SystemReady systemReady;
// is shortcut for
@Reference(target="(tag=systemready)")
Healthy healthy;

[4] https://github.com/apache/felix-dev/pull/12/files


On 2020-03-19 15:36, Robert Munteanu wrote:
On Thu, 2020-03-19 at 14:47 +0100, Andrei Dulvac wrote:
Awesome, Ray, thanks for sharing.

On Thu, 19 Mar 2020 at 14:36, Georg Henzler <[email protected]>
wrote:

> Hi,
>
> so currently this is not yet possible, but it should be easy enough
> to
> get there.
> I created the issue [1] for this. Thanks Raymond for the link to
> the
> Condition
> Service Draft RFC, I have to read this in detail first but I think
> that
> should not
> be too hard to implement it in this direction to be prepared once
> this
> is final.

Thanks all. So I guess for now I have to live with systemready support
only.

For background, I am using the SystemReady marker service to determine
when an application has started and compute some metrics.

I am 'weakly binding' to system ready by just a servicetracker for the
SystemReady interface, without actually importing the classes. The
reason is that I want my bundle to start ASAP and start tracking
events.

Tyring something more specific for healtchecks would be hard without
actually binding to the code, so I'll pass on that.

Thanks,
Robert

>
> Best Regards
> -Georg
>
> [1] https://issues.apache.org/jira/browse/FELIX-6245
>
>
> On 2020-03-19 14:15, Raymond Auge wrote:
> > Hey guys, I know this is likely premature for what you need, but
> > I
> > wanted
> > to also point you to the OSGi Condition Service RFC [1] which
> > attempts
> > to
> > address exactly these types of scenarios.
> >
> > [1]
> >
> 
https://github.com/osgi/design/blob/master/rfcs/rfc0242/rfc-0242-Condition-Service.pdf
> > Sincerely,
> > - Ray
> >
> > On Thu, Mar 19, 2020 at 8:48 AM Andrei Dulvac <[email protected]>
> > wrote:
> >
> > > Hi Robert.
> > >
> > > Apologies for the long delay.
> > >
> > > I had a look as well as the Felix HCs and AFAICT there is no
> > > such
> > > "marker"
> > > service registered that you can listen for. The original design
> > > for
> > > HCs was
> > > not for readiness, but for more generic checks.
> > > You might be stuck with a listener of sorts on all checks using
> > > this
> > > tag:
> > >
> > >
> 
https://github.com/apache/felix-dev/blob/master/healthcheck/generalchecks/src/main/java/org/apache/felix/hc/generalchecks/FrameworkStartCheck.java#L46
> > > Maybe Georg can help with more clear instructions.
> > >
> > > We should also add a systemready tag to the Felix HCs.
> > >
> > > Personally, I think we need to have systemready implemented
> > > with HCs
> > > but
> > > keep the current API or merge the two properly.
> > >
> > > Sorry I couldn't be more helpful.
> > > - Andrei
> > >
> > > On Fri, Mar 13, 2020 at 6:47 PM Robert Munteanu <
> > > [email protected]>
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > I am using the old systemready bundle and I configured a
> > > > component to
> > > > react a component when the system ready by reacting when the
> > > > SystemReady service becomes available.
> > > >
> > > > How can I do the same with the new healtchecks bundle? I
> > > > tried the
> > > > README [1] and the migration guide [2] but got no ideas.
> > > >
> > > > BTW, the page at [3] points to a missing README file.
> > > >
> > > > Thanks,
> > > > Robert
> > > >
> > > > [1]:
> > > https://github.com/apache/felix-dev/blob/master/healthcheck/README.md
> > > > [2]:
> > > >
> https://sling.apache.org/documentation/bundles/sling-health-check-tool.html
> > > > [3]:
> > > >
> 
http://felix.apache.org/documentation/subprojects/apache-felix-healthchecks.html
> > > >
> > > > -----------------------------------------------------------
> > > > ----------
> > > > To unsubscribe, e-mail: [email protected]
> > > > For additional commands, e-mail: [email protected]
> > > >
> > > >
>
> -----------------------------------------------------------------
> ----
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to