Skip to content

Commit

Permalink
adding error counters
Browse files Browse the repository at this point in the history
  • Loading branch information
jchoi614 committed Jul 2, 2024
1 parent 80ac96c commit 5911d0b
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.lyft.data.gateway.ha.handler;

import com.codahale.metrics.Counter;
import com.codahale.metrics.Meter;
import com.codahale.metrics.MetricRegistry;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Strings;
import com.google.common.io.CharStreams;
Expand Down Expand Up @@ -28,6 +30,8 @@
import org.eclipse.jetty.http.HttpStatus;
import org.eclipse.jetty.util.Callback;

import static com.codahale.metrics.MetricRegistry.name;

@Slf4j
public class QueryIdCachingProxyHandler extends ProxyHandler {
public static final String PROXY_TARGET_HEADER = "proxytarget";
Expand Down Expand Up @@ -57,13 +61,20 @@ public class QueryIdCachingProxyHandler extends ProxyHandler {
private final Meter requestMeter;
private final int serverApplicationPort;

private final Counter errorCounter4xx;
private final Counter errorCounter5xx;
private final MetricRegistry metrics = new MetricRegistry();

public QueryIdCachingProxyHandler(
QueryHistoryManager queryHistoryManager,
RoutingManager routingManager,
RoutingGroupSelector routingGroupSelector,
int serverApplicationPort,
Meter requestMeter) {
Meter requestMeter,
MetricRegistry metrics) {
this.requestMeter = requestMeter;
this.errorCounter4xx = metrics.counter(name(QueryIdCachingProxyHandler.class, "4xx"));
this.errorCounter5xx = metrics.counter(name(QueryIdCachingProxyHandler.class, "5xx"));;
this.routingManager = routingManager;
this.routingGroupSelector = routingGroupSelector;
this.queryHistoryManager = queryHistoryManager;
Expand Down Expand Up @@ -270,6 +281,12 @@ protected void postConnectionHook(
} catch (Exception e) {
log.error("Error in proxying falling back to super call", e);
}
// if (response.getStatus() >= 500){
// errorCounter5xx.inc();
// } else if (response.getStatus() >= 400){
// errorCounter4xx.inc();
// }

super.postConnectionHook(request, response, buffer, offset, length, callback);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.lyft.data.gateway.ha.module;

import com.codahale.metrics.Counter;
import com.codahale.metrics.Meter;
import com.codahale.metrics.MetricRegistry;
import com.google.inject.Provides;
import com.google.inject.Singleton;
import com.lyft.data.baseapp.AppModule;
Expand All @@ -23,6 +25,8 @@
import com.lyft.data.proxyserver.ProxyServerConfiguration;
import io.dropwizard.setup.Environment;

import static com.codahale.metrics.MetricRegistry.name;

public class HaGatewayProviderModule extends AppModule<HaGatewayConfiguration, Environment> {

private final ResourceGroupsManager resourceGroupsManager;
Expand All @@ -42,9 +46,9 @@ public HaGatewayProviderModule(HaGatewayConfiguration configuration, Environment
}

protected ProxyHandler getProxyHandler() {
MetricRegistry metrics = getEnvironment().metrics();
Meter requestMeter =
getEnvironment()
.metrics()
metrics
.meter(getConfiguration().getRequestRouter().getName() + ".requests");

// By default, use routing group header to route
Expand All @@ -61,7 +65,8 @@ protected ProxyHandler getProxyHandler() {
getRoutingManager(),
routingGroupSelector,
getApplicationPort(),
requestMeter);
requestMeter,
metrics);
}

@Provides
Expand Down
7 changes: 7 additions & 0 deletions proxyserver/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<dropwizard.version>1.3.29</dropwizard.version>
</properties>


Expand Down Expand Up @@ -62,6 +63,12 @@
<artifactId>mockwebserver</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>4.2.7</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down

0 comments on commit 5911d0b

Please sign in to comment.