Netflix / Turbine

SSE Stream Aggregator
Apache License 2.0
835 stars 255 forks source link

Turbine Stream Empty Ping #98

Open karthik101 opened 9 years ago

karthik101 commented 9 years ago

We are using hystrix-dashboard-1.4.9.war and turbine-web-1.0.0.war in Jboss, after doing a curl request, What I have noticed is that, on the aggregated turbine stream, the turbine stream only publishes metrics for methods that have activity.

Is this something that can be configured differently or is this a bug with turbine?

In the example below, you see data for the operation called Updateidentity that is published at the time when the method was hit, but afterwards you just see reporting empty pings.

Here is an example from the raw turbine stream:

$ curl http://example.com/turbine/turbine.stream

: ping data: {"rollingCountFailure":0,"propertyValue_executionIsolationThreadInterruptOnTimeout":true,"rollingCountTimeout":0,"threadPool":"SecurityServiceGroup","rollingCountExceptionsThrown":0,"rollingCountFallbackSuccess":0,"errorCount":0,"type":"HystrixCommand","propertyValue_circuitBreakerEnabled":true,"reportingHosts":1,"propertyValue_executionTimeoutInMilliseconds":1000,"latencyTotal":{"0":0,"95":0,"99.5":0,"90":0,"25":0,"99":0,"75":0,"100":0,"50":0},"currentConcurrentExecutionCount":0,"rollingCountFallbackRejection":0,"rollingCountSemaphoreRejected":0,"rollingCountResponsesFromCache":0,"rollingCountShortCircuited":0,"propertyValue_circuitBreakerForceClosed":false,"name":"UpdateIdentityCommand","propertyValue_executionIsolationThreadPoolKeyOverride":"null","rollingCountSuccess":0,"propertyValue_requestLogEnabled":true,"requestCount":0,"rollingCountBadRequests":0,"errorPercentage":0,"rollingCountCollapsedRequests":0,"rollingMaxConcurrentExecutionCount":0,"propertyValue_circuitBreakerSleepWindowInMilliseconds":500,"latencyTotal_mean":0,"propertyValue_circuitBreakerForceOpen":false,"propertyValue_circuitBreakerRequestVolumeThreshold":20,"rollingCountEmit":0,"propertyValue_circuitBreakerErrorThresholdPercentage":50,"propertyValue_executionIsolationStrategy":"THREAD","rollingCountFallbackFailure":0,"isCircuitBreakerOpen":false,"propertyValue_executionIsolationSemaphoreMaxConcurrentRequests":10,"propertyValue_executionIsolationThreadTimeoutInMilliseconds":1000,"propertyValue_metricsRollingStatisticalWindowInMilliseconds":10000,"propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests":10,"latencyExecute":{"0":0,"95":0,"99.5":0,"90":0,"25":0,"99":0,"75":0,"100":0,"50":0},"group":"SecurityServiceGroup","latencyExecute_mean":0,"propertyValue_requestCacheEnabled":true,"rollingCountThreadPoolRejected":0}

data: {"rollingCountFailure":0,"propertyValue_executionIsolationThreadInterruptOnTimeout":true,"rollingCountTimeout":0,"threadPool":"SecurityServiceGroup","rollingCountExceptionsThrown":0,"rollingCountFallbackSuccess":0,"errorCount":0,"type":"HystrixCommand","propertyValue_circuitBreakerEnabled":true,"reportingHosts":1,"propertyValue_executionTimeoutInMilliseconds":1000,"latencyTotal":{"0":0,"95":0,"99.5":0,"90":0,"25":0,"99":0,"75":0,"100":0,"50":0},"currentConcurrentExecutionCount":0,"rollingCountFallbackRejection":0,"rollingCountSemaphoreRejected":0,"rollingCountResponsesFromCache":0,"rollingCountShortCircuited":0,"propertyValue_circuitBreakerForceClosed":false,"name":"CreateIdentityCommand","propertyValue_executionIsolationThreadPoolKeyOverride":"null","rollingCountSuccess":0,"propertyValue_requestLogEnabled":true,"requestCount":0,"rollingCountBadRequests":0,"errorPercentage":0,"rollingCountCollapsedRequests":0,"rollingMaxConcurrentExecutionCount":0,"propertyValue_circuitBreakerSleepWindowInMilliseconds":500,"latencyTotal_mean":0,"propertyValue_circuitBreakerForceOpen":false,"propertyValue_circuitBreakerRequestVolumeThreshold":20,"rollingCountEmit":0,"propertyValue_circuitBreakerErrorThresholdPercentage":50,"propertyValue_executionIsolationStrategy":"THREAD","rollingCountFallbackFailure":0,"isCircuitBreakerOpen":false,"propertyValue_executionIsolationSemaphoreMaxConcurrentRequests":10,"propertyValue_executionIsolationThreadTimeoutInMilliseconds":1000,"propertyValue_metricsRollingStatisticalWindowInMilliseconds":10000,"propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests":10,"latencyExecute":{"0":0,"95":0,"99.5":0,"90":0,"25":0,"99":0,"75":0,"100":0,"50":0},"group":"SecurityServiceGroup","latencyExecute_mean":0,"propertyValue_requestCacheEnabled":true,"rollingCountThreadPoolRejected":0}

data: {"rollingCountCommandRejections":0,"rollingMaxActiveThreads":0,"currentPoolSize":4,"currentActiveCount":0,"currentCompletedTaskCount":16,"propertyValue_queueSizeRejectionThreshold":50,"type":"HystrixThreadPool","reportingHosts":1,"propertyValue_metricsRollingStatisticalWindowInMilliseconds":10000,"name":"SecurityServiceGroup","currentLargestPoolSize":16,"currentCorePoolSize":30,"currentQueueSize":0,"rollingCountThreadsExecuted":0,"currentTaskCount":16,"currentMaximumPoolSize":30}

: ping : ping : ping : ping : ping : ping : ping

based on this issue #94 i tried turbine-web-0.5.war but instead of empty ping messages i see continuous time stamps.

Here is the curl output: $ curl http://example.com/turbine/turbine.stream : ping data: {"rollingCountCommandRejections":0,"rollingMaxActiveThreads":0,"currentPoolSize":4,"currentActiveCount":0,"currentCompletedTaskCount":16,"propertyValue_queueSizeRejectionThreshold":50,"type":"HystrixThreadPool","reportingHosts":1,"propertyValue_metricsRollingStatisticalWindowInMilliseconds":10000,"name":"SecurityServiceGroup","currentLargestPoolSize":16,"currentCorePoolSize":30,"currentQueueSize":0,"rollingCountThreadsExecuted":0,"currentTaskCount":16,"currentMaximumPoolSize":30}

data: {"rollingCountFailure":0,"propertyValue_executionIsolationThreadInterruptOnTimeout":true,"rollingCountTimeout":0,"threadPool":"SecurityServiceGroup","rollingCountExceptionsThrown":0,"rollingCountFallbackSuccess":0,"errorCount":0,"type":"HystrixCommand","propertyValue_circuitBreakerEnabled":true,"reportingHosts":1,"propertyValue_executionTimeoutInMilliseconds":1000,"latencyTotal":{"0":0,"95":0,"99.5":0,"90":0,"25":0,"99":0,"75":0,"100":0,"50":0},"currentConcurrentExecutionCount":0,"rollingCountFallbackRejection":0,"rollingCountSemaphoreRejected":0,"rollingCountResponsesFromCache":0,"rollingCountShortCircuited":0,"propertyValue_circuitBreakerForceClosed":false,"name":"UpdateIdentityCommand","propertyValue_executionIsolationThreadPoolKeyOverride":"null","rollingCountSuccess":0,"propertyValue_requestLogEnabled":true,"requestCount":0,"rollingCountBadRequests":0,"errorPercentage":0,"rollingCountCollapsedRequests":0,"rollingMaxConcurrentExecutionCount":0,"propertyValue_circuitBreakerSleepWindowInMilliseconds":500,"latencyTotal_mean":0,"propertyValue_circuitBreakerForceOpen":false,"propertyValue_circuitBreakerRequestVolumeThreshold":20,"rollingCountEmit":0,"propertyValue_circuitBreakerErrorThresholdPercentage":50,"propertyValue_executionIsolationStrategy":"THREAD","rollingCountFallbackFailure":0,"isCircuitBreakerOpen":false,"propertyValue_executionIsolationSemaphoreMaxConcurrentRequests":10,"propertyValue_executionIsolationThreadTimeoutInMilliseconds":1000,"propertyValue_metricsRollingStatisticalWindowInMilliseconds":10000,"propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests":10,"latencyExecute":{"0":0,"95":0,"99.5":0,"90":0,"25":0,"99":0,"75":0,"100":0,"50":0},"group":"SecurityServiceGroup","latencyExecute_mean":0,"propertyValue_requestCacheEnabled":true,"rollingCountThreadPoolRejected":0}

data: {"rollingCountFailure":0,"propertyValue_executionIsolationThreadInterruptOnTimeout":true,"rollingCountTimeout":0,"threadPool":"SecurityServiceGroup","rollingCountExceptionsThrown":0,"rollingCountFallbackSuccess":0,"errorCount":0,"type":"HystrixCommand","propertyValue_circuitBreakerEnabled":true,"reportingHosts":1,"propertyValue_executionTimeoutInMilliseconds":1000,"latencyTotal":{"0":0,"95":0,"99.5":0,"90":0,"25":0,"99":0,"75":0,"100":0,"50":0},"currentConcurrentExecutionCount":0,"rollingCountFallbackRejection":0,"rollingCountSemaphoreRejected":0,"rollingCountResponsesFromCache":0,"rollingCountShortCircuited":0,"propertyValue_circuitBreakerForceClosed":false,"name":"CreateIdentityCommand","propertyValue_executionIsolationThreadPoolKeyOverride":"null","rollingCountSuccess":0,"propertyValue_requestLogEnabled":true,"requestCount":0,"rollingCountBadRequests":0,"errorPercentage":0,"rollingCountCollapsedRequests":0,"rollingMaxConcurrentExecutionCount":0,"propertyValue_circuitBreakerSleepWindowInMilliseconds":500,"latencyTotal_mean":0,"propertyValue_circuitBreakerForceOpen":false,"propertyValue_circuitBreakerRequestVolumeThreshold":20,"rollingCountEmit":0,"propertyValue_circuitBreakerErrorThresholdPercentage":50,"propertyValue_executionIsolationStrategy":"THREAD","rollingCountFallbackFailure":0,"isCircuitBreakerOpen":false,"propertyValue_executionIsolationSemaphoreMaxConcurrentRequests":10,"propertyValue_executionIsolationThreadTimeoutInMilliseconds":1000,"propertyValue_metricsRollingStatisticalWindowInMilliseconds":10000,"propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests":10,"latencyExecute":{"0":0,"95":0,"99.5":0,"90":0,"25":0,"99":0,"75":0,"100":0,"50":0},"group":"SecurityServiceGroup","latencyExecute_mean":0,"propertyValue_requestCacheEnabled":true,"rollingCountThreadPoolRejected":0}

: ping data: {"timestamp":1437654063636,"name":"meta","reportingHostsLast10Seconds":1,"type":"meta"}

: ping data: {"timestamp":1437654066637,"name":"meta","reportingHostsLast10Seconds":1,"type":"meta"}

: ping data: {"timestamp":1437654070638,"name":"meta","reportingHostsLast10Seconds":1,"type":"meta"}

: ping data: {"timestamp":1437654074638,"name":"meta","reportingHostsLast10Seconds":1,"type":"meta"}

: ping data: {"timestamp":1437654077639,"name":"meta","reportingHostsLast10Seconds":1,"type":"meta"}

I can see Both turbine steams in hystrix dashboard fine.

sesto commented 9 years ago

+1