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

Include Runtime diagnostics tool into the server #3280

Merged
merged 1 commit into from
Mar 21, 2024

Conversation

arunans23
Copy link
Member

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc.

$subject
Resolves: #2985

Currently, APIM and MI are sharing the synapse runtime for transport and message mediation. In error scenarios, it is time-consuming to gather all the information to investigate the issue. This PR is about implementing a tool that helps to generate the required data for troubleshooting issues quickly.

The Readme guide can be used to get an understanding of the tool. https://github.com/wso2/runtime-diagnostic-tool/blob/main/README.md The configurations are added by default. Once you start the server, the tool will be started as a second process and monitor the server. The diagnostics logs can be found inside /diagnostics-tool/logs. The output zip files are stored inside /diagnostics-tool/data.

High level Architecture can be found below.

Screenshot 2024-03-05 at 17 34 16

There are different watcher threads running in the Diagnostic tool which monitors the server performance and logs. Once an anomaly/error log is detected, the configured Action Executors will be executed and the data will be stored in a Zip file. If a PostAction Executor (FTP, SFTP) is configured, the zip file will be uploaded to the configured location.

@arunans23 arunans23 force-pushed the diagnostics branch 3 times, most recently from cd55905 to 54a9150 Compare March 21, 2024 04:40
@arunans23 arunans23 merged commit 4845814 into wso2:master Mar 21, 2024
6 of 9 checks passed
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.

Implement a diagnostic tool to capture necessary details during an error
2 participants