August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)

Kamaelia.Apps.Grey.WakeableIntrospector

On Demand/Wakeable Introspector

This component grabs a list of all running/runnable components whenever it receives a message on its inbox "inbox". This list is then sorted, and noted to a logfile.

Example Usage

This component is intended to be used with PeriodicWakeup, as follows:

Pipeline(
     PeriodicWakeup(interval=20),
     WakeableIntrospector(logfile="/tmp/trace"),
)

How does it work?

This component uses the fact that we can ask the scheduler for a list of running componenents, takes this, sorts it and dumps the result to a logfile.

It then sits quietly waking for a message (any message) on the inbox "inbox".

Termination

This component is not well behaved regarding termination, in that it does not have any shutdown conditions.

TODO

In retrospect, it may've been nicer to split the introspection from the logging. Better termination/shutdown would be a good idea.


Kamaelia.Apps.Grey.WakeableIntrospector.WakeableIntrospector

class WakeableIntrospector(Axon.Component.component)

Inboxes

Outboxes

Methods defined here

Warning!

You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.

main(self)

noteToLog(self, line)

Feedback

Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!

Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.

-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT