Skip to content

使 AbstractConfigRepository#fireRepositoryChange 参数稳定 #91

Closed
@freshchen

Description

@freshchen

你的特性请求和某个问题有关吗?请描述

维护者们好,我正在给可观测项目 otel 的 javaagent 中加入对 apollo 的支持 https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12794,可以从 1.0 支持到 2.3 版本,目前我把 namespace 作为关键属性放在了链路中,但我发现在 main 分支中我使用的 agent 切入点被改变了,这样我就需要针对 2.3 后的版本再做一次适配
image

清晰简洁地描述一下你希望的解决方案

是否可以确保这个方法的第一个参数是 namespace
com.ctrip.framework.apollo.internals.AbstractConfigRepository#fireRepositoryChange

其它背景

下面是我目前的可观测 demo

代码

@ApolloConfigChangeListener
    private void onChange1(ConfigChangeEvent changeEvent) {
        log.info("Custom onChange1 {}", changeEvent);
        testClient.test();
    }

@ApolloConfigChangeListener
private void onChange2(ConfigChangeEvent changeEvent) {
    log.info("Custom onChange2 {}", changeEvent);
    testClient.test1();
}

当我在 UI 更新配置后的链路

image

关键日志

2024-11-28 21:08:09,246 [tid=b7a437719fdde5de64d9bc29c5e3583d sid=7e738bea44a1fa3c] [Apollo-Config-3][INFO] c.b.mapcloud.one.javaagent.test.App.? - Custom onChange2 com.ctrip.framework.apollo.internals.InterestedConfigChangeEvent@4db17048

2024-11-28 21:08:09,248 [tid=b7a437719fdde5de64d9bc29c5e3583d sid=7e738bea44a1fa3c] [Apollo-Config-2][INFO] c.b.mapcloud.one.javaagent.test.App.? - Custom onChange1 com.ctrip.framework.apollo.internals.InterestedConfigChangeEvent@47cc916c

2024-11-28 21:08:09,249 [tid=b7a437719fdde5de64d9bc29c5e3583d sid=7e738bea44a1fa3c] [Apollo-Config-1][INFO] c.c.f.a.s.p.AutoUpdateConfigChangeListener.? - Auto update apollo changed value successfully, new value: false, key: auto.dump.enabled, beanName: app, field: com.baidu.mapcloud.one.javaagent.test.App$$EnhancerBySpringCGLIB$$31ca0440.dumpEnabled

2024-11-28 21:08:09,451 [tid=b7a437719fdde5de64d9bc29c5e3583d sid=7e738bea44a1fa3c] [pool-7-thread-1][INFO] c.b.m.c.openfeign.logger.FeignLog.? - FeignResp client=TestClient#test() ; httpCode=200 ; url=http://localhost:8103/test

2024-11-28 21:08:09,451 [tid=b7a437719fdde5de64d9bc29c5e3583d sid=7e738bea44a1fa3c] [pool-7-thread-2][INFO] c.b.m.c.openfeign.logger.FeignLog.? - FeignResp client=TestClient#test1() ; httpCode=200 ; url=http://localhost:8103/test/1
... ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions