-
Notifications
You must be signed in to change notification settings - Fork 49
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
feat: Definition of monitoring indicators #104
Comments
At present, due to work reasons, the proposal has not been completed, and I hope to give suggestions on this Friday |
can refer to: The label of Metrics:
Metrics details:
|
MetricesName, eventbridge_eventrule_trigger_latency -> eventbridge_eventtarget_trigger_latency |
Thank you very much for your reply! I will try my best to complete the design of the proposal and the related indicator definition form this week |
Background&Motivation
Due to the summary of the previous meetings, we have obtained the back pressure mechanism based on the PID algorithm in spark, and passed the test to deliver events through eventbus, so we need to define monitoring indicators and collect indicators based on opentelemry
What needs to be done
In the current startup process of rocketmq-eventbridge, when we start to set up a synchronization task and fill in the corresponding source..transform.sink, the task is always isolated with the identifier of runnerName, which means that we need to count the indicator dimensions Should use runnerName as label.
After starting the program, in the starting thread, there will be three threads executing in sequence (EventSubcuriber, EventBusListener, EventRuleTransfer, EventTargetPusher). If the user posts an event, I will explain the indicators we care about in the three threads one by one:
In the EventBusListener thread, because it is located at the most upstream of pulling messages, and according to the PID algorithm, it is necessary to calculate the oscillation formula for the downstream feedback indicators to control the backpressure effect under large traffic, so two key indicators need to be set:
In the EventRuleTransfer thread, due to subscribing to related event rules and needing to maintain the TransForm operation in each of the above task processing links, the user needs to know whether the operation is successful or failed, and the following indicators are defined:
Since subscription rules are CPU-intensive operations, we should pay attention to the number of asynchronous calling threads in progress, so as not to be blocked during the asynchronous to synchronous transition due to a large number of asynchronous threads for a long time
For eventTarget Pusher, it is located in the last processing link of delivery to the target end. The system divides its positioning into two parts:
Define the following indicators:
Why do this
We need to provide eventbridge with observability capabilities to monitor the statistics of the event delivery process and adjust parameters. At the same time, it is also preparing for future access to crd resources of kubernetes
What benefits are bred
It is easy to troubleshoot problems, optimize parameters, and adjust retry strategies
How to achieve it(Alpha)
The label of Metrics:
Metrics details:
continue..
The text was updated successfully, but these errors were encountered: