Hi Dev team If you are familiar with the latest OAP core, you will know, we register id for the endpoint. But this design has the following issues 1. The register has low performance as it can't be run in parral even we have clustering OAP. Even worse, in the cluster mode, the register is slower 2. The ID is designed as an integer, it could be run out in some time. We don't have good idea to restore or extend it. 3. Endpoint including the parameter(such as, inside the URI) is always an issue, and could only be improved in the agent plugin, but never could be fixed.
The new changes are 1. Use `EndpointTraffic` to replace `EndpointInventory`. EndpointTraffic is a manual metrics, not a register inventory. 2. ID register would not happen, and service_id + base64(endpoint name) will be used as the entity id. 3. EndpointTraffic also keeps the time series feature like all other metrics, so it could be removed by TTL. 4. EndpointRelation follows the changes of EndpointInevntory removal. It keeps the source-service_id + base64(source endpoint name) and dest-service_id + base64(dest endpoint name). All the changes have been landed on the branch remove-endpoint-register <https://github.com/apache/skywalking/tree/remove-endpoint-register> in the main repo. It passed the compiling locally, but not e2e and plugin change has not been made(no endpoint register) I am working on local debugging if you have interests, welcome to join me. I expect this is the most important change since 5.0 core design and should be landed in the 7.1.0 Sheng Wu 吴晟 Twitter, wusheng1108