Hi all,
The proposal [SSM-0001] Public API redesign for swift-metrics-extras is now up and In Review.
The review period will run until Dec 2nd - please feel free to post your feedback either as a reply to this thread, or on the pull request.
Thanks!
Hi all,
The proposal [SSM-0001] Public API redesign for swift-metrics-extras is now up and In Review.
The review period will run until Dec 2nd - please feel free to post your feedback either as a reply to this thread, or on the pull request.
Thanks!
Thank you for posting @kukushechkin, hereâs a few notes:
Technical direction
This is all solid, looks good, letâs do it ![]()
Why 1.0 â-extrasâ? Should this become swift-system-metrics or some other name?
You rightly observe that the only feature this package has is âsystem metricsâ, and your overall proposal to decouple it from MetricsSystem sounds fine as well.
However, this brings me to the key question: why 1.0 the âswift-metrics-extrasâ package (as is) at all? It is not what we actually want from this package, and in general the extras packages are causing us headaches in terms of versioning anyway.
Why wouldn't weâif the goal is to 1.0 the system metricsâchanging the package to become the system metrics package, and then 1.0 that new package? This way we avoid proliferating this "grab bag" of potential features which are problematic in the long run.
The problem with â-extrasâ packages is that it could contain âanythingâ and the future directions you listed, donât really account for that; theyâre preparing for a future where this is âthe system metrics packageâ, what if someone invented some random feature and wanted to contribute it, weâd be likely to say ânoâ and that they can do it in their own package.
TL;DR;
Agreed on the technical direction, but we should consider ending the -extras package and giving this a name appropriate to its purpose and roadmap. I see âkilling offâ the extras package as a net win, and we set a cleaner path forward for the actual systems metrics package.
I agree the -extras name is not very descriptive, and the new name should be swift-system-metrics (unless there would be a better alternative). However, I would not do it at the same time as changing the API. We do not need to implement the API change right away. I suggest we finish the API change proposal acceptance process, then open a new proposal with renaming the package (or archiving the existing one and creating a new repo?) to accommodate the new accepted API.
Renaming a package is also a breaking change, as package aliases don't work reliably in Xcode. So it would be good to gate it behind a major version bump anyway.
Yeah the âbreakâ is both the rename, and the API changes leading to 1.0 so they need to be coordinated.
Thank you for the feedback. As far as I see there is no issues left with the technical side of the proposal, it is accepted and is now Ready for Implementation.
The main feedback is we should not release a 1.0 without changing the package name to something more appropriate.