question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Would like to use Hystrix with many independent deployments that have the same ApplicationContext.id, but this breaks the HystrixDashboard

See original GitHub issue

In a nutshell, using Docker, for example, where our name, profile(s), and port are the same, when we try to use Hystrix & aggregate data through Turbine to display it to a Hystrix Dashboard, we get bad results due to the code in org.springframework.cloud.netflix.hystrix.stream.HystrixStreamTask

private void addServiceData(JsonGenerator json, ServiceInstance localService)
        throws IOException {
    json.writeObjectFieldStart("origin");
    json.writeStringField("host", localService.getHost());
    json.writeNumberField("port", localService.getPort());
    json.writeStringField("serviceId", localService.getServiceId());
    if (this.properties.isSendId()) {
        json.writeStringField("id", this.context.getId());
    }
    json.writeEndObject();
}

The ‘id’ field here ends up being the same for all deployments, yet it carries differing information payloads, and that messes up the aggration along the bus into Turbine & the Hystrix Dashboard.

Might I suggest making that a combination of the other three fields?

localService.serviceId:localService.Host:localService.Port?

Or, perhaps have a property that could be dropped in?

Issue Analytics

  • State:closed
  • Created 8 years ago
  • Comments:8 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
spencergibbcommented, Feb 11, 2016

Sorry, the property name changed when we moved to spring-cloud-stream. hystrix.stream.queue.send-id=false.

0reactions
TabberGitcommented, Feb 11, 2016

Perfect. Thank you.

Yes, close away.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Spring Cloud Netflix
RELEASE. This project provides Netflix OSS integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other ...
Read more >
Spring Cloud - Indico
Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service.
Read more >
Eager Initialization of Singletons - Micronaut Documentation
Therefore as for Micronaut 2.0, you can specify whether you want to eager ... and provides many of the same tools and utilities...
Read more >
Thorntail Runtime Guide - Red Hat Customer Portal
Depending on where you want to deploy your application use the relevant web ... Many configuration properties in Thorntail contain these.
Read more >
SpringCloud官方参考文档
It follows the same rules as the Config Server and has the same external configuration through encrypt.* . Thus, you can use encrypted ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found