thejerf / suture

Supervisor trees for Go.
MIT License
1.32k stars 74 forks source link

Lack of observability during successful operation #76

Open jalaziz opened 7 months ago

jalaziz commented 7 months ago

So far I'm loving suture, but one thing that is less than ideal is the lack of observability during normal, successful operation. It would be great if events could be emitted for service start and normal service stop.

With these additional events, it should be possible to trace all important lifecycle events.

jalaziz commented 7 months ago

I just found #69. I understand the sentiment there, but I still think it would be valuable to have the events built-into suture for a few reasons:

  1. It makes event hook handling easier (e.g. no need to wrap sutureslog)
  2. It avoids the need to wrap each and every service and supervisor to emit the events.
  3. Sending the supervisor of a service in the event is not trivial from outside of suture.

I realize these may not be compelling enough reasons, but the general observability of the system is incomplete without these events.