Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce component status reporting #6560

Commits on Nov 21, 2022

  1. Introduce component status reporting

    This is an alternate to open-telemetry#6550
    
    ## Summary of changes
    
    - Add component status concept. Components can report their status via
      Host.ReportComponentStatus(). Interested extensions can watch status events
      if they implement StatusWatcher interface.
      This is similar to how PipelineWatcher works today.
    - Deprecate Host.ReportFatalError() in favour of Host.ReportComponentStatus().
    
    ## TODO after this is merged
    
    - healthcheck extension must implement StatusWatcher.
    - Replace all ReportFatalError() calls by ReportComponentStatus() calls in core and contrib.
    
    ## Open Questions
    
    - StatusWatchers need to be able to tell if all current components are healthy.
      It is assumed that the listeners need to maintain a map of components and track
      the status of each component. This works only if we assume that the set of
      components cannot change during the lifetime of the listener. This assumption
      is true today but can change in the future if we introduce partial pipeline
      restarts where only modified/added/removed components are recreated (this will
      break listener's assumption and the map will become invalid). Should we
      instead keep track of this entire status map in the Host and broadcast the
      entire status to the listeners as a whole instead of (or in addition to)
      individual component events?
    tigrannajaryan committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    444ed5d View commit details
    Browse the repository at this point in the history