@Test public void providesBackendTotalConnections() { BackendServices backendServices = newBackendServices( application("app", origin("app-01", "localhost", 9090), origin("app-02", "localhost", 9091))); MemoryBackedRegistry<BackendService> backendServicesRegistry = new MemoryBackedRegistry<>(); backendServices.forEach(backendServicesRegistry::add); metricRegistry.register("origins.app.app-01.connectionspool.available-connections", gauge(100)); metricRegistry.register("origins.app.app-01.connectionspool.busy-connections", gauge(300)); metricRegistry.register("origins.app.app-01.connectionspool.pending-connections", gauge(500)); metricRegistry.register("origins.app.app-02.connectionspool.available-connections", gauge(200)); metricRegistry.register("origins.app.app-02.connectionspool.busy-connections", gauge(400)); metricRegistry.register("origins.app.app-02.connectionspool.pending-connections", gauge(600)); DashboardData.Backend backend = newDashboardData(backendServicesRegistry).downstream().firstBackend(); DashboardData.ConnectionsPoolsAggregate connectionsPool = backend.totalConnections(); assertThat(connectionsPool.available(), is(300)); assertThat(connectionsPool.busy(), is(700)); assertThat(connectionsPool.pending(), is(1100)); }
@JsonProperty("downstream") public Downstream downstream() { return downstream; }
DashboardData { @JsonProperty("downstream") public Downstream downstream() { return downstream; } }
DashboardData { @JsonProperty("downstream") public Downstream downstream() { return downstream; } DashboardData(MetricRegistry metrics, Registry<BackendService> backendServicesRegistry, String serverId, Version version, EventBus eventBus); }
DashboardData { @JsonProperty("downstream") public Downstream downstream() { return downstream; } DashboardData(MetricRegistry metrics, Registry<BackendService> backendServicesRegistry, String serverId, Version version, EventBus eventBus); @JsonProperty("server") Server server(); @JsonProperty("downstream") Downstream downstream(); @JsonProperty("publishTime") long publishTime(); }
DashboardData { @JsonProperty("downstream") public Downstream downstream() { return downstream; } DashboardData(MetricRegistry metrics, Registry<BackendService> backendServicesRegistry, String serverId, Version version, EventBus eventBus); @JsonProperty("server") Server server(); @JsonProperty("downstream") Downstream downstream(); @JsonProperty("publishTime") long publishTime();  }