-
Notifications
You must be signed in to change notification settings - Fork 872
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
Add Apolloconfig Inst... #12787
Comments
We'd welcome a contribution for this.
My guess would be that there are no semantic conventions for this, contributors are welcome to work on this in the the semantic conventions repository. |
Ok, I have time to do this work recently, but it is my first contribution. Is there any slack that can provide help, such as tests, docs, etc. |
hi @freshchen, you can find the Java Slack channel here: https://github.com/open-telemetry/community#implementation-sigs another option also is to contribute OpenTelemetry instrumentation directly to the Apolloconfig project |
@trask Thx for post the link。I have completed my first instrumentation PR. The whole process was very smooth. The CI & Doc of this project is cool. |
During the code review, there were quite a few discussions. I think some gaps exist. Below, I’ll provide some additional explanations, hoping to help you define this instrumentation. 1 Expect1.1 demoModifying the configuration on the apollo web page will not only update the spring environment in real time。 I add some logic through the @ApolloConfigChangeListener annotation. For example, when changing the oauth clientId & clientSecret of a third party, we expect to first verify that the new configuration meets the business needs, and then replace the value in the program. @ApolloConfigChangeListener
private void onChange(ConfigChangeEvent changeEvent) {
log.info("try to change xxx service clientId & clientSecret");
oauthClient.getToken();
oauthClient.checkTokenScope();
log.info("new clientId & clientSecret enabled");
}
# Two fake endpoint
@GetMapping("/oauth/token")
public RestResponse<String> token() {
log.info("get oauth token by ak*****sd / sa*******ada");
return RestResponse.success("test");
}
@GetMapping("/oauth/token/scopeCheck")
public RestResponse<String> tokenTest() {
log.info("the new token contains all required scopes");
return RestResponse.success("test");
}
# and client
@RestClient("OauthClient")
public interface OauthClient {
@GetExchange("/oauth/token")
RestResponse<String> getToken();
@GetExchange("/oauth/token/scopeCheck")
RestResponse<String> checkTokenScope();
} 1.2 expect observable signalThe observable signal I expect is as follows For Trace: For Log:
2 discuss2.1 About Signal TypeFirst of all, through the above demo, I think this should not be a 0 during event 2.2 About Span AttributeThe following figure is the web page of Apollo. You can see that it splits and reuses the configuration namespace granularity. The minimum granularity of configuration release is namespace. In order to avoid involving sensitive information and reduce the storage cost of span, I think it is not necessary to put the changed configuration items into the span. 2.3 About How Apollo client workFinally, I will provide some of my personal understanding of the configuration changes of this project. |
We have a biweekly meeting that is friendly for Asian developers in time. If you have time, you can join us to discuss it tomorrow morning. This is meeting hyperlink: https://zoom.us/j/97160857165?pwd=N3Bwc0s1MVVJWjZkK0E0QXJWSWhoZz09 |
Should we include more metrics about the config/registry center including:
Theses metrics may be more useful to users compared to a single span. |
Sorry,Sorry, I just saw this, is there any conclusion to the meeting? |
Sure, it is necessary, I think this work the same applies to nacos, etc. |
Is your feature request related to a problem? Please describe.
https://github.com/apolloconfig/apollo is a cloud native configuration management system。Apolloconfig uses http long connection to update configuration in real time. And the realtime update support gray.
When we meet strange problems, you need to check whether the configuration has been sent to the corresponding POD.
Describe the solution you'd like
Is it possible to add an apolloconfig inst to intercept the onchage method?
What I don't know is whether there is semantic for configuration updates.
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: