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

MC Diagnostic Mode #10059

Merged
merged 6 commits into from
Jan 13, 2024
Merged

Conversation

PowerfulBacon
Copy link
Member

@PowerfulBacon PowerfulBacon commented Oct 21, 2023

About The Pull Request

Adds in a diagnostic mode and subsystem tick reporting into the stat panel.
When the MC is in diagnostic mode, it will report all tick information to metrics so that it can be parsed in kibana. Note that this is a huge amount of data and should only be turned on when necessary.
Uses a circular queue so that it won't destroy performance.

We will probably need a kibana index in order to properly process the key'd data https://stackoverflow.com/questions/74989241/elastic-search-json-field-query-with-number-key

Why It's Good For The Game

This will be really handy for finding out which subsystems are choking out the MC.

Testing Photographs and Procedure

image

image

message.txt

Changelog

🆑
code: Adds in a diagnostic mode to the master controller.
/:cl:

@PowerfulBacon PowerfulBacon marked this pull request as ready for review October 21, 2023 08:40
@PowerfulBacon
Copy link
Member Author

Json output looks like this.
image

This might feed to kibana as master_controller.diagnostic_report.1128 but I'm hoping its smart enough to be able to filter those

@PowerfulBacon
Copy link
Member Author

Testmerging without config changes, do not apply config changes until we get the all clear from crossed that the kibana stuff should be fine

Copy link
Member

@EvilDragonfiend EvilDragonfiend left a comment

Choose a reason for hiding this comment

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

I think there should be an in-game fast toggle button to access this since changing config takes time but you might miss the moment while reconfiguring live servers (in case we set this system disabled in default.)

@EvilDragonfiend EvilDragonfiend added the Test Merged This PR is currently in rotation label Oct 24, 2023
@PowerfulBacon
Copy link
Member Author

PowerfulBacon commented Oct 24, 2023

I think there should be an in-game fast toggle button to access this since changing config takes time but you might miss the moment while reconfiguring live servers (in case we set this system disabled in default.)

The toggle button simply changes if the data is being written to kibana or not, which I don't want people to activate unless they actually know what they are doing so making it highly acccessible would have people pressing it without knowing what it actually does.

The in-game diagnostics on the MC is efficient and so will display regardless of the flag being set or not.

@PowerfulBacon
Copy link
Member Author

The tick proportions should be based on the tick time rather than relative to other systems, otherwise we cannot compare across ticks.

@EvilDragonfiend
Copy link
Member

I still believe there should be a fast button to diagnose such critical issues when it's necessary, but if you think it's not necessary, whatever

Copy link
Member

@itsmeow itsmeow left a comment

Choose a reason for hiding this comment

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

Yeah this is fine

@PowerfulBacon
Copy link
Member Author

image

@Crossedfall Crossedfall added this pull request to the merge queue Jan 13, 2024
Merged via the queue into BeeStation:master with commit e56b1d7 Jan 13, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants