-
Notifications
You must be signed in to change notification settings - Fork 184
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
Rocketmq Protocol Identification and Analysis #328
Conversation
…ation and add some attributes Signed-off-by: thenicetgp <13120413800@163.com>
Signed-off-by: thenicetgp <13120413800@163.com>
Signed-off-by: thenicetgp <13120413800@163.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll merge this PR after you update the changelog.
c78f4b8
to
794f786
Compare
Thanks, the |
docs/prometheus_metrics.md
Outdated
@@ -140,6 +147,7 @@ These two terms are composed of two parts. | |||
- **mysql**: `Error Code` of the error response. | |||
- **dubbo**: `Error Code` of Dubbo request. | |||
- **redis**: `0` if there is no error; `1` otherwise. | |||
- - **rocketmq**: `Response Code` of RocketMQ response. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is an extra -
.
- - **rocketmq**: `Response Code` of RocketMQ response. | |
- **rocketmq**: `Response Code` of RocketMQ response. |
794f786
to
c3f186c
Compare
Signed-off-by: thenicetgp <13120413800@163.com>
c3f186c
to
6efdd7e
Compare
Rocketmq Protocol Identification and Analysis (KindlingProject#328)
Summary
1. Design of Header
Since there are two types of rocketmq codecs, JSON and ROCKETMQ, when SerializeType is JSON, the json string is directly intercepted according to headerLength and then deserialized to obtain the header. When SerializeType is ROCKETMQ, it is read in sequence. Combining the two types of headers can be designed as follows:
2. parseRocketMQRequest and parseRocketMQResponse
3. Test whether the parsing process is correct TestParseRocketmqJsonAndRocketMQ
kindling/collector/pkg/component/analyzer/network/protocol/rocketmq/rocketmq_parser_test.go
Screenshots
4. Add Attribute indicator
4.1 rocketmq_request
4.2 rocketmq_response
5. Unit Test and Benchmark Test
5.1 Attribute indicators to be confirmed
5.2 created testdata/rocketmq/XXX.yml
5.3 Unit Test
5.4 Benchmark Test
6. label key convertor
7. Grafana
Does this close any open issues?
Closes #227
Other Information
Any other information that is important to this PR.