Add opentelemetry to mapper-framework for enhancing pushmethod.#5628
Conversation
|
cc @wbc6080 |
wbc6080
left a comment
There was a problem hiding this comment.
Thank you very much for your contribution! But I have a few questions about this solution:
1.opentelemetry does not seem to be a database. I don’t quite understand why this part of the function should be placed in the database processing part of the mapper-framework data plane.
2. In addition to providing the function of pushing to the database, the current mapper-framework can also push data to user applications through http/mqtt. Why can't we directly access the prometheus api through http to complete data push, but need to use opentelemetry?
fixed
The current http implementation does not match this remote_write_spec And why we should providing opentelemetry push? https://opentelemetry.io/ecosystem/vendors/ |
|
Hi, @forsaken628 Would you be willing to attend KubeEdge community meeting (Wednesdays at 16:00-17:30 every week)? we can disscuss in detail about this feature. |
Is it possible to change the differences you mentioned based on the existing HTTP push methods? Here, the push method is for some databases, and it may not be necessary to add a separate opentelemetry push method. |
|
The main question here is: What is HTTP push? What is pushmethod? If it's just a URL or a configuration, and all subsequent issues can be resolved through secondary development. Please consider 'mysql://localhost:3306/db?parseTime=true'; It's also a URL. Why distinguish between HTTP push, MQTT push, and DB push? If it's just the current implementation, it's too rudimentary to do anything. |
The endpoint of push designed with pushmethod is usually a database, such as Redis, mysql,influxdb, HTTP, on the other hand, is a user-defined API interface for pushing to upper level applications. What you mentioned here is a typical API interface for pushing to upper level applications, so it may not be appropriate to include pushmethod. If it is only suitable for the ones you listed, due to some differences between request headers and HTTP, I think adding a new type of push method may make the Mapper framework too cumbersome, after all, the Mapper framework is just a basic template framework. Or would it be more appropriate to implement a ready-made mapper based on Promethus and place it in our rep:https://github.com/kubeedge/mappers-go? @wbc6080 |
|
I also don't think it's reasonable to add a specific push mechanism solely for Prometheus. However, the OpenTelemetry protocol is not only for support Prometheus but also for support various other database, including Apache SkyWalking, ClickHouse, GreptimeDB, Elastic, and so on. https://opentelemetry.io/ecosystem/vendors/ |
|
This is indeed a relatively large feature implementation. I think it is more appropriate to introduce it at a regular community meeting and see the opinions of other developers. @forsaken628 Do you have time to attend the regular meeting this Wednesday, May 29, from 4:00 to 5:30 pm? And could you show some materials such as proposal or other documentation to explain this part to everyone? |
|
ok @wbc6080 |
|
Hi, @forsaken628 I have added this topic in community meeting agenda https://docs.google.com/document/d/1Sr5QS_Z04uPfRbA7PrXr3aPwCRpx7EtsyHq7mp6CnHs/edit#heading=h.tzlhovcfulbj. Welcome you to take part in meeting at 16:00 today, and the meeting link is https://zoom.us/j/4167237304 |
|
Good job ! opentelemetry is a very popular monitoring framework currently. I think the method based on opentelemetry is very good. Others can also refer to this code to realize the integration of opentelemetry and other components. |
fisherxu
left a comment
There was a problem hiding this comment.
@forsaken628 The lint error has been fixed in #5730, you can remove the last commit
Signed-off-by: coldWater <forsaken628@gmail.com>
Signed-off-by: coldWater <forsaken628@gmail.com>
Signed-off-by: coldWater <forsaken628@gmail.com>
wbc6080
left a comment
There was a problem hiding this comment.
Thanks! cc @WillardHu @fisherxu
/lgtm
Signed-off-by: coldWater <forsaken628@gmail.com>
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: fisherxu The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Add opentelemetry to mapper-framework for enhancing pushmethod db.
Which issue(s) this PR fixes:
Fixes #5478
Special notes for your reviewer:
similar as #5376
Does this PR introduce a user-facing change?: