-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
API Review for Simmy in v8 #1571
Conversation
ApiReview/API.Polly.Core/NoDocs/Polly.Simmy/OutcomeChaosPipelineBuilderExtensions.cs
Outdated
Show resolved
Hide resolved
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1571 +/- ##
=======================================
Coverage 84.53% 84.53%
=======================================
Files 307 307
Lines 6777 6777
Branches 1043 1043
=======================================
Hits 5729 5729
Misses 839 839
Partials 209 209
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
ApiReview/API.Polly.Core/NoDocs/Polly.Simmy.Outcomes/OutcomeStrategyOptions.TResult.cs
Outdated
Show resolved
Hide resolved
|
||
namespace Polly.Simmy; | ||
|
||
public abstract class MonkeyStrategy : ResilienceStrategy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Top Level Comment:
There are 3 terms in this PR that basically represent the same thing:
- Monkey
- Simmy
- Chaos
Do you think we can consolidate and align this somehow?
@martintmk I think all of them are still valid tho, I mean from a brand standpoint if you will, back when Simmy was conceived, kinda the reasoning or the slogan was "Simmy is a monkey to create chaos" and it was developed mapping that, meaning that the Monkey is the one in charge to unleash the chaos as the more basic chaos unit let's say, thus the public base class that consumer can extend to implement their own monkies, for instance, I might want a monkey called Caesar that implements a strategy to stop nodes in a K8s cluster. Now, Simmy is our monkey implementation that offers a set of common chaos strategies.
@joelhulen thoughts?
Moved the this from the #1459 PR.
Alternative naming:
Polly.Simmy
->Polly.Chaos
(namespace)MonkeyStrategy
->ChaosStrategy
MonkeyStrategy<T>
->ChaosStrategy<T>
Personally, I feel this is a cleaner naming, but Simmy would lose the branding and effective dissolve into Polly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no strong thoughts on branded vs. not, but I agree that the naming should be consistent whichever is chosen.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My two cents is that Simmy has been around for a few years now, and there's fairly steady traffic to the repo (11 clones and 147 unique visitors in the past two weeks alone, not to mention almost 500 stars). I know that @vany0114 has done a bit of work raising awareness of the project. I also like the monkey logo :) All said, I think there is a bit of brand awareness that I don't think we necessarily need to throw away. However, I like the clarity of the proposed naming. But because of the previous points, I'm OK with sticking to the branded naming as long as, like @martincostello said, we stay consistent in the naming. We also should be very descriptive in the XML document and related published documentation to prevent any confusion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If both @martincostello and @joelhulen are fine with current API and don't have any other suggestions I am fine exposing Simmy as it is now.
@vany0114 Can you create a tasks to expose Simmy in 8.2.0?
What needs to be done:
- Make the API public
- Prepare docs for new chaos strategies
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you create a tasks to expose Simmy in 8.2.0?
@martintmk by "creating the tasks" you mean the PR(s) right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be better to create an issue here:
https://github.com/App-vNext/Polly/issues/new/choose
Something like [Feature] Expose the Simmy APIs
ApiReview/API.Polly.Core/NoDocs/Polly.Simmy/BehaviorChaosPipelineBuilderExtensions.cs
Outdated
Show resolved
Hide resolved
ApiReview/API.Polly.Core/NoDocs/Polly.Simmy/EnabledGeneratorArguments.cs
Show resolved
Hide resolved
|
||
namespace Polly.Simmy; | ||
|
||
public static class LatencyChaosPipelineBuilderExtensions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar thoughts on the class name here.
ApiReview/API.Polly.Core/NoDocs/Polly.Simmy/OutcomeChaosPipelineBuilderExtensions.cs
Outdated
Show resolved
Hide resolved
ApiReview/API.Polly.Core/NoDocs/Polly.Simmy/BehaviorChaosPipelineBuilderExtensions.cs
Outdated
Show resolved
Hide resolved
bf6e205
to
0c8fbec
Compare
@martintmk I think this PR is not a draft anymore right? I guess that's why I cannot mark comments as resolved 🤔 |
Strange, maybe I should mark it as ready for review? |
Yep I think so. |
API changes addressed and will be exposed in #1784 |
Details on the issue fix or feature implementation
Based on #1459
Confirm the following