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

Enhanced IAgent Model #1049

Open
jeremydmiller opened this issue Oct 1, 2024 · 1 comment
Open

Enhanced IAgent Model #1049

jeremydmiller opened this issue Oct 1, 2024 · 1 comment
Milestone

Comments

@jeremydmiller
Copy link
Member

cc @mysticmind

Today IAgent (the running background processes which would include the projection / subscriptions to marten now, Wolverine's backing for virtual agents)
is this:

public interface IAgent : IHostedService
{
    /// <summary>
    ///     Unique identification for this agent within the Wolverine system
    /// </summary>
    Uri Uri { get; }
    
    // Added in 3.0, doesn't really do much for you
    AgentStatus Status { get; }
}

public enum AgentStatus
{
    Started,
    Stopped
}

Two ideas for extension:

  • For maybe 3.0 and definitely by 4.0, how about we add IHealthCheck directly into the IAgent model?
  • Have the IAgent s expose a description of what metrics and/or Otel spans they export. Marten's projections export a counter on events processed, a histogram of the "gap", and spans for loading, grouping, and execution. Maybe that can be used to integrate inside of Critter Watch with PromQL calls
@mysticmind
Copy link
Member

Yes, above should be a good starting point.

@jeremydmiller jeremydmiller modified the milestones: 3.0, 4.0 Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants