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

Improve gorouter Route Registry Message Metrics #445

Open
hoffmaen opened this issue Nov 26, 2024 · 0 comments
Open

Improve gorouter Route Registry Message Metrics #445

hoffmaen opened this issue Nov 26, 2024 · 0 comments

Comments

@hoffmaen
Copy link
Contributor

hoffmaen commented Nov 26, 2024

Proposed Change

As a developer and/or operator,

I want to know the number of routes added, updated and not modified via route register Registry Messages. I also want to know the number of routes removed and endpoints removed via route unregister Registry Messages.

So that I can measure the number of each action.


Currently, gorouter is emitting one metric for Registry.Register, and one metric for Registry.Unregister. Hence, we know the sum of routes added, updated and unmodified, and the number of Endpoints unregistered, including endpoint and route unregistration.

As performance cost for these actions differ (e.g. route update is more expensive than route unmodified), it is favorable to enhance the current metric for (un)registration, so that it can be split by actions.

Acceptance criteria

  • Metrics for Route.Register are enhanced by the update action (added, updated, unmodified)
  • Metrics for Route.Unregister are enhanced by the update action (endpoint removed, route removed)

Proposed solution

Pull-Request: cloudfoundry/gorouter#456

For route.Register, we replace registry_message[.component] with these metrics:

  • registry_message.endpoint-added[.component]
  • registry_message.endpoint-updated[.component]
  • registry_message.endpoint-not-updated[.component]

For route.Unregister, we replace unregistry_message[.component] with these metrics:

  • unregistry_message.endpoint-unregistered[.component]
  • unregistry_message.endpoint-not-unregistered[.component]

Additionally, when the route is [removed|https://github.com/cloudfoundry/gorouter/blob/aa6650d27dc7ba82f6b75bcae1a061f7594c5b58/registry/registry.go#L203], we emit:

  • unregistry_message.route-unregistered[.component]

The log messages have also been renamed, so metric names and log messages are the same in each case.

maxmoehl pushed a commit to sap-contributions/routing-release that referenced this issue Nov 26, 2024
Submodule src/code.cloudfoundry.org/gorouter e768fec0..5174c184:
  > Fix integration maxheader test for gorouter (cloudfoundry#445)
  > Remove extra printf
  > Set ReadHeaderTimeout on gorouter and route-services servers
Submodule src/code.cloudfoundry.org/routing-acceptance-tests b6732e58..2fc354ee:
  > Add read header timeout to address G112 (cloudfoundry#24)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

1 participant