本文整理汇总了Java中com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher类的典型用法代码示例。如果您正苦于以下问题:Java HystrixMetricsPublisher类的具体用法?Java HystrixMetricsPublisher怎么用?Java HystrixMetricsPublisher使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HystrixMetricsPublisher类属于com.netflix.hystrix.strategy.metrics包,在下文中一共展示了HystrixMetricsPublisher类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: init
import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; //导入依赖的package包/类
/**
* registers the {@link ExecutionContextAwareHystrixStrategy}
*/
public static void init() {
// keeps references of existing Hystrix plugins.
HystrixConcurrencyStrategy existingConcurrencyStrategy = HystrixPlugins.getInstance().getConcurrencyStrategy();
HystrixEventNotifier eventNotifier = HystrixPlugins.getInstance().getEventNotifier();
HystrixMetricsPublisher metricsPublisher = HystrixPlugins.getInstance().getMetricsPublisher();
HystrixPropertiesStrategy propertiesStrategy = HystrixPlugins.getInstance().getPropertiesStrategy();
HystrixCommandExecutionHook commandExecutionHook = HystrixPlugins.getInstance().getCommandExecutionHook();
// reset the Hystrix plugin
HystrixPlugins.reset();
// configure the plugin
HystrixPlugins.getInstance().registerConcurrencyStrategy(new ExecutionContextAwareHystrixStrategy(existingConcurrencyStrategy));
HystrixPlugins.getInstance().registerEventNotifier(eventNotifier);
HystrixPlugins.getInstance().registerMetricsPublisher(metricsPublisher);
HystrixPlugins.getInstance().registerPropertiesStrategy(propertiesStrategy);
HystrixPlugins.getInstance().registerCommandExecutionHook(commandExecutionHook);
log.info("Context propagation enabled for Hystrix.");
}
开发者ID:enadim,项目名称:spring-cloud-ribbon-extensions,代码行数:21,代码来源:PreservesExecutionContextHystrixStrategy.java
示例2: init
import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; //导入依赖的package包/类
@PostConstruct
public void init() {
// Keeps references of existing Hystrix plugins.
HystrixEventNotifier eventNotifier = HystrixPlugins.getInstance()
.getEventNotifier();
HystrixMetricsPublisher metricsPublisher = HystrixPlugins.getInstance()
.getMetricsPublisher();
HystrixPropertiesStrategy propertiesStrategy = HystrixPlugins.getInstance()
.getPropertiesStrategy();
HystrixCommandExecutionHook commandExecutionHook = HystrixPlugins.getInstance()
.getCommandExecutionHook();
HystrixPlugins.reset();
// Registers existing plugins excepts the Concurrent Strategy plugin.
HystrixPlugins.getInstance().registerConcurrencyStrategy(
new SecurityContextConcurrencyStrategy(existingConcurrencyStrategy));
HystrixPlugins.getInstance().registerEventNotifier(eventNotifier);
HystrixPlugins.getInstance().registerMetricsPublisher(metricsPublisher);
HystrixPlugins.getInstance().registerPropertiesStrategy(propertiesStrategy);
HystrixPlugins.getInstance().registerCommandExecutionHook(commandExecutionHook);
}
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:23,代码来源:HystrixSecurityAutoConfiguration.java
示例3: TracingConcurrencyStrategy
import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; //导入依赖的package包/类
private TracingConcurrencyStrategy(Tracer tracer) {
this.tracer = tracer;
try {
this.delegateStrategy = HystrixPlugins.getInstance().getConcurrencyStrategy();
if (this.delegateStrategy instanceof TracingConcurrencyStrategy) {
return;
}
HystrixCommandExecutionHook commandExecutionHook =
HystrixPlugins.getInstance().getCommandExecutionHook();
HystrixEventNotifier eventNotifier = HystrixPlugins.getInstance().getEventNotifier();
HystrixMetricsPublisher metricsPublisher =
HystrixPlugins.getInstance().getMetricsPublisher();
HystrixPropertiesStrategy propertiesStrategy =
HystrixPlugins.getInstance().getPropertiesStrategy();
HystrixPlugins.reset();
HystrixPlugins.getInstance().registerConcurrencyStrategy(this);
HystrixPlugins.getInstance().registerCommandExecutionHook(commandExecutionHook);
HystrixPlugins.getInstance().registerEventNotifier(eventNotifier);
HystrixPlugins.getInstance().registerMetricsPublisher(metricsPublisher);
HystrixPlugins.getInstance().registerPropertiesStrategy(propertiesStrategy);
} catch (Exception ex) {
log.log(Level.SEVERE, "Failed to register " + TracingConcurrencyStrategy.class +
", to HystrixPlugins", ex);
}
}
开发者ID:OpenFeign,项目名称:feign-opentracing,代码行数:28,代码来源:TracingConcurrencyStrategy.java
示例4: SleuthHystrixConcurrencyStrategy
import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; //导入依赖的package包/类
public SleuthHystrixConcurrencyStrategy(Tracer tracer, TraceKeys traceKeys) {
this.tracer = tracer;
this.traceKeys = traceKeys;
try {
this.delegate = HystrixPlugins.getInstance().getConcurrencyStrategy();
if (this.delegate instanceof SleuthHystrixConcurrencyStrategy) {
// Welcome to singleton hell...
return;
}
HystrixCommandExecutionHook commandExecutionHook = HystrixPlugins
.getInstance().getCommandExecutionHook();
HystrixEventNotifier eventNotifier = HystrixPlugins.getInstance()
.getEventNotifier();
HystrixMetricsPublisher metricsPublisher = HystrixPlugins.getInstance()
.getMetricsPublisher();
HystrixPropertiesStrategy propertiesStrategy = HystrixPlugins.getInstance()
.getPropertiesStrategy();
logCurrentStateOfHysrixPlugins(eventNotifier, metricsPublisher,
propertiesStrategy);
HystrixPlugins.reset();
HystrixPlugins.getInstance().registerConcurrencyStrategy(this);
HystrixPlugins.getInstance()
.registerCommandExecutionHook(commandExecutionHook);
HystrixPlugins.getInstance().registerEventNotifier(eventNotifier);
HystrixPlugins.getInstance().registerMetricsPublisher(metricsPublisher);
HystrixPlugins.getInstance().registerPropertiesStrategy(propertiesStrategy);
}
catch (Exception e) {
log.error("Failed to register Sleuth Hystrix Concurrency Strategy", e);
}
}
开发者ID:reshmik,项目名称:Zipkin,代码行数:32,代码来源:SleuthHystrixConcurrencyStrategy.java
示例5: logCurrentStateOfHysrixPlugins
import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; //导入依赖的package包/类
private void logCurrentStateOfHysrixPlugins(HystrixEventNotifier eventNotifier,
HystrixMetricsPublisher metricsPublisher,
HystrixPropertiesStrategy propertiesStrategy) {
log.debug("Current Hystrix plugins configuration is [" + "concurrencyStrategy ["
+ this.delegate + "]," + "eventNotifier [" + eventNotifier + "],"
+ "metricPublisher [" + metricsPublisher + "]," + "propertiesStrategy ["
+ propertiesStrategy + "]," + "]");
log.debug("Registering Sleuth Hystrix Concurrency Strategy.");
}
开发者ID:reshmik,项目名称:Zipkin,代码行数:10,代码来源:SleuthHystrixConcurrencyStrategy.java
示例6: logCurrentStateOfHysrixPlugins
import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; //导入依赖的package包/类
private void logCurrentStateOfHysrixPlugins(HystrixEventNotifier eventNotifier,
HystrixMetricsPublisher metricsPublisher,
HystrixPropertiesStrategy propertiesStrategy) {
if (log.isDebugEnabled()) {
log.debug("Current Hystrix plugins configuration is [" + "concurrencyStrategy ["
+ this.delegate + "]," + "eventNotifier [" + eventNotifier + "],"
+ "metricPublisher [" + metricsPublisher + "]," + "propertiesStrategy ["
+ propertiesStrategy + "]," + "]");
log.debug("Registering Sleuth Hystrix Concurrency Strategy.");
}
}
开发者ID:spring-cloud,项目名称:spring-cloud-sleuth,代码行数:12,代码来源:SleuthHystrixConcurrencyStrategy.java
示例7: HystrixPrometheusMetricsPublisher
import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; //导入依赖的package包/类
private HystrixPrometheusMetricsPublisher(boolean exportProperties,
boolean exportDeprecatedMetrics,
HystrixMetricsCollector collector,
HystrixMetricsPublisher metricsPublisherDelegate) {
this.collector = collector;
this.exportProperties = exportProperties;
this.exportDeprecatedMetrics = exportDeprecatedMetrics;
this.metricsPublisherDelegate = metricsPublisherDelegate;
}
开发者ID:ahus1,项目名称:prometheus-hystrix,代码行数:10,代码来源:HystrixPrometheusMetricsPublisher.java
示例8: ComposedHystrixMetricsPublisher
import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; //导入依赖的package包/类
public ComposedHystrixMetricsPublisher(HystrixMetricsPublisher... publishers) {
log.trace("Creating ComposedHystrixMetricsPublisher");
this.publishers = Arrays.asList(publishers);
}
开发者ID:ringcentral,项目名称:hystrix-addons,代码行数:5,代码来源:ComposedHystrixMetricsPublisher.java
示例9: buildAndRegister
import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; //导入依赖的package包/类
public void buildAndRegister() {
HystrixPlugins plugins = HystrixPlugins.getInstance();
// memorize the registered plugins
HystrixCommandExecutionHook commandExecutionHook = plugins.getCommandExecutionHook();
HystrixEventNotifier eventNotifier = plugins.getEventNotifier();
HystrixMetricsPublisher metricsPublisher = plugins.getMetricsPublisher();
HystrixPropertiesStrategy propertiesStrategy = plugins.getPropertiesStrategy();
HystrixConcurrencyStrategy concurrencyStrategy = plugins.getConcurrencyStrategy();
HystrixMetricsCollector collector = new HystrixMetricsCollector(namespace,
new Consumer<Histogram.Builder>() {
@Override
public void accept(Histogram.Builder builder) {
if (metrics == MetricsType.EXPONENTIAL) {
builder.exponentialBuckets(exponentialStart, exponentialFactor, exponentialCount);
} else if (metrics == MetricsType.LINEAR) {
builder.linearBuckets(linearStart, linearWidth, linearCount);
} else if (metrics == MetricsType.DISTINCT) {
builder.buckets(distinctBuckets);
} else if (metrics == MetricsType.DEFAULT) {
// nothing to do
} else {
throw new IllegalStateException("unknown enum state " + metrics);
}
}
}).register(registry);
// wrap the metrics publisher plugin
HystrixPrometheusMetricsPublisher wrappedMetricsPublisher =
new HystrixPrometheusMetricsPublisher(exportProperties,
exportDeprecatedMetrics, collector, metricsPublisher);
// reset all plugins
HystrixPlugins.reset();
// the following statement wouldn't be necessary, but I'm paranoid that reset might
// change the plugin instance.
plugins = HystrixPlugins.getInstance();
// set previous values for all plugins, but not if they would use the default implementation,
// as this would block the slot for plugins to be registered.
// REASON: if there was no previous setting, Hystrix would have returned the default implementation
// and not all other plugin use the reset-and-wrap approach we do here.
// ASSUMPTION: the default strategies/hooks can't wrap a different strategy/hook
// CAVEAT: instead of a default implementation there is a sophisticated Archaius configuration mechanism
// to determine a class from property settings. There is a corner case where someone would register a
// default implementation manually overriding an Archaius configuration. Therefore this is configurable
// using "registerDefaultPlugins".
if (registerDefaultPlugins || concurrencyStrategy.getClass() != HystrixConcurrencyStrategyDefault.class) {
plugins.registerConcurrencyStrategy(concurrencyStrategy);
}
if (registerDefaultPlugins || commandExecutionHook.getClass() != HystrixCommandExecutionHookDefault.class) {
plugins.registerCommandExecutionHook(commandExecutionHook);
}
if (registerDefaultPlugins || eventNotifier.getClass() != HystrixEventNotifierDefault.class) {
plugins.registerEventNotifier(eventNotifier);
}
if (registerDefaultPlugins || propertiesStrategy.getClass() != HystrixPropertiesStrategyDefault.class) {
plugins.registerPropertiesStrategy(propertiesStrategy);
}
// ... except for the metrics publisher that will now be wrapped
plugins.registerMetricsPublisher(wrappedMetricsPublisher);
}
开发者ID:ahus1,项目名称:prometheus-hystrix,代码行数:69,代码来源:HystrixPrometheusMetricsPublisher.java
注:本文中的com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论