Skip to content

Improve gorouter Route Registry Message Metrics #445

Closed
@hoffmaen

Description

@hoffmaen

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions