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

Move Diagnostics types from Management.Abstractions to Management.Endpoint #1424

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

bart-vmware
Copy link
Member

Description

This PR moves all types in the namespace Steeltoe.Management.Diagnostics in the Steeltoe.Management.Abstractions project to the Steeltoe.Management.Endpoint project.

Comparing changes with Steeltoe 3.x, I found that some types moved from Endpoint to Abstractions in v4. Upon further inspection, it turns out all of these types are exclusively used by the Metrics actuator. In Steeltoe 3.x, they were shared between Core/Base projects, which required them to live in Abstractions.

Quality checklist

  • Your code complies with our Coding Style.
  • You've updated unit and/or integration tests for your change, where applicable.
  • You've updated documentation for your change, where applicable.
    If your change affects other repositories, such as Documentation, Samples and/or MainSite, add linked PRs here.
  • There's an open issue for the PR that you are making. If you'd like to propose a new feature or change, please open an issue to discuss the change or find an existing issue.
  • You've added required license files and/or file headers (explaining where the code came from with proper attribution), where code is copied from StackOverflow, a blog, or OSS.

…nt.Abstractions project into Management.Endpoint project
@bart-vmware bart-vmware added Component/Management Issues related to Steeltoe Management (actuators) ReleaseLine/4.x Identified as a feature/fix for the 4.x release line labels Jan 11, 2025
@bart-vmware bart-vmware added this to the 4.0.0-m1 milestone Jan 11, 2025
@bart-vmware bart-vmware marked this pull request as ready for review January 11, 2025 18:01
@bart-vmware bart-vmware requested a review from TimHess January 11, 2025 18:01
TimHess
TimHess previously approved these changes Jan 13, 2025
@@ -9,42 +8,6 @@ Steeltoe.Management.Configuration.EndpointPermissions
Steeltoe.Management.Configuration.EndpointPermissions.Full = 2 -> Steeltoe.Management.Configuration.EndpointPermissions
Steeltoe.Management.Configuration.EndpointPermissions.None = 0 -> Steeltoe.Management.Configuration.EndpointPermissions
Steeltoe.Management.Configuration.EndpointPermissions.Restricted = 1 -> Steeltoe.Management.Configuration.EndpointPermissions
Steeltoe.Management.Diagnostics.DiagnosticObserver
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we still need DiagnosticObserver then I think it (and IDiagnosticObserver) should stay in the Abstractions package for extensibility

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even if we still need them, they remain public and extensible. But it is only used by the metrics actuator, so close to that seems the better place to me.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keeping it in Abstractions would be better if (as an example) we wanted to add a DiagnosticObserver for Eureka. Sure it's only used by the endpoint, but another implementation likely wouldn't be in an application and might not want the heavier dependency on Endpoint

Steeltoe.Management.Diagnostics.IDiagnosticsManager
Steeltoe.Management.Diagnostics.IDiagnosticsManager.Start() -> void
Steeltoe.Management.Diagnostics.IDiagnosticsManager.Stop() -> void
Steeltoe.Management.Diagnostics.IRuntimeDiagnosticSource
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there's an argument (though probably undocument) in there somewhere for making IRuntimeDiagnosticSource extensible, so maybe that should stay here

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What would that argument be?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically the same as DiagnosticObserver, though I'm a little less confident on this one. Ultimately, we need to get to the bottom of whether we can remove these entirely

@TimHess TimHess dismissed their stale review January 13, 2025 23:26

This wasn't supposed to be an approval

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component/Management Issues related to Steeltoe Management (actuators) ReleaseLine/4.x Identified as a feature/fix for the 4.x release line
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants