Commit c8f7949d by Administrator

Merge branch 'feature/redisCacheHitRate' into 'master'

feat: [none] 修改默认全局采样率

See merge request rays/pcloud-common-parent!146
parents fe412300 44cd16b7
...@@ -2,28 +2,19 @@ package com.pcloud.common.core.zipkin; ...@@ -2,28 +2,19 @@ package com.pcloud.common.core.zipkin;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.pcloud.common.utils.HttpKit;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.bootstrap.config.PropertySourceLocator; import org.springframework.cloud.bootstrap.config.PropertySourceLocator;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.context.environment.EnvironmentChangeEvent;
import org.springframework.cloud.netflix.eureka.EurekaDiscoveryClient;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationContextAware;
import org.springframework.context.event.EventListener;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import org.springframework.core.env.PropertySource; import org.springframework.core.env.PropertySource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.net.URL;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
/** /**
* 刷新本地采样率 * 刷新本地采样率
...@@ -109,6 +100,9 @@ public class RefreshSamplerLocalProperties implements ApplicationContextAware, I ...@@ -109,6 +100,9 @@ public class RefreshSamplerLocalProperties implements ApplicationContextAware, I
*/ */
public void loadSamplerProperties(Float globalPercentage, String uriSampleMapJsonStr) { public void loadSamplerProperties(Float globalPercentage, String uriSampleMapJsonStr) {
//获取容器的percentageLocalSampler //获取容器的percentageLocalSampler
if (null == percentageLocalSampler) {
percentageLocalSampler = (PercentageLocalSampler) applicationContext.getBean("percentageLocalSampler");
}
SamplerLocalProperties samplerLocalProperties = percentageLocalSampler.getConfiguration(); SamplerLocalProperties samplerLocalProperties = percentageLocalSampler.getConfiguration();
SamplerLocalProperties samplerRemoteLocalProperties = new SamplerLocalProperties(); SamplerLocalProperties samplerRemoteLocalProperties = new SamplerLocalProperties();
//全局采样率配置更新 //全局采样率配置更新
......
package com.pcloud.common.core.zipkin; package com.pcloud.common.core.zipkin;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.cloud.sleuth.Sampler; import org.springframework.cloud.sleuth.Sampler;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
...@@ -9,6 +10,7 @@ import org.springframework.context.annotation.Configuration; ...@@ -9,6 +10,7 @@ import org.springframework.context.annotation.Configuration;
* 重新配置自定义采样率 * 重新配置自定义采样率
*/ */
@Configuration @Configuration
@AutoConfigureBefore(RefreshSamplerLocalProperties.class)
public class ZipkinConfig { public class ZipkinConfig {
//ZipkinAutoConfiguration使用@ConditionalOnMissingBean注解的,也就是容器中不存在这个Bean的时候,才初始化他自己默认的配置,可以重写他的配置 //ZipkinAutoConfiguration使用@ConditionalOnMissingBean注解的,也就是容器中不存在这个Bean的时候,才初始化他自己默认的配置,可以重写他的配置
@Bean @Bean
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment