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

Add FSM loop timings #2868

Merged
merged 1 commit into from
Jan 17, 2025
Merged

Add FSM loop timings #2868

merged 1 commit into from
Jan 17, 2025

Conversation

myaut
Copy link

@myaut myaut commented Jan 15, 2025

As the issue #2854 demonstrates, Main FSM loop performance is crucial for overall GoBGP performance. While we're far from hitting those limits yet, we want to be sure that we have enough capacity in FSM loop.

To achieve that, we add FSM loop timing histograms, which are showing:
- timing_sec - amount of time handling each message took
- wait_sec - amount of time each message spent in a channel before it was received by the main FSM loop. The latter (wait times) allows to detect situation when FSM loop performance is inadequate, while the former (timings) allows to understand which component causes such delays.

For the sake of simplicity, further classification of message types, such as RouterID of the peer or name of gRPC operation is not made.

As the issue osrg#2854 demonstrates, Main FSM loop performance is crucial
for overall GoBGP performance. While we're far from hitting those limits yet,
we want to be sure that we have enough capacity in FSM loop.

To achieve that, we add FSM loop timing histograms, which are showing:
    - timing_sec - amount of time handling each message took
    - wait_sec - amount of time each message spent in a channel before
      it was received by the main FSM loop.
The latter (wait times) allows to detect situation when FSM loop performance
is inadequate, while the former (timings) allows to understand which
component causes such delays.

For the sake of simplicity, further classification of message types, such
as RouterID of the peer or name of gRPC operation is not made.
@fujita fujita merged commit 792b985 into osrg:master Jan 17, 2025
39 checks passed
@fujita
Copy link
Member

fujita commented Jan 17, 2025

Looks interesting. Pushed, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants