Adding channel acquire time metric for http client

This commit is contained in:
Pankaj Kumar 2024-09-20 17:34:13 +05:30
parent 6977417945
commit 8300ee5368
4 changed files with 16 additions and 5 deletions

View File

@ -31,6 +31,7 @@ import org.apache.druid.guice.annotations.EscalatedClient;
import org.apache.druid.guice.annotations.EscalatedGlobal; import org.apache.druid.guice.annotations.EscalatedGlobal;
import org.apache.druid.guice.annotations.Global; import org.apache.druid.guice.annotations.Global;
import org.apache.druid.java.util.common.StringUtils; import org.apache.druid.java.util.common.StringUtils;
import org.apache.druid.java.util.emitter.service.ServiceEmitter;
import org.apache.druid.java.util.http.client.HttpClient; import org.apache.druid.java.util.http.client.HttpClient;
import org.apache.druid.java.util.http.client.HttpClientConfig; import org.apache.druid.java.util.http.client.HttpClientConfig;
import org.apache.druid.java.util.http.client.HttpClientInit; import org.apache.druid.java.util.http.client.HttpClientInit;
@ -87,6 +88,8 @@ public class HttpClientModule implements Module
private final boolean isEscalated; private final boolean isEscalated;
private final boolean eagerByDefault; private final boolean eagerByDefault;
private Escalator escalator; private Escalator escalator;
private ServiceEmitter emitter;
public HttpClientProvider(Class<? extends Annotation> annotationClazz, boolean isEscalated, boolean eagerByDefault) public HttpClientProvider(Class<? extends Annotation> annotationClazz, boolean isEscalated, boolean eagerByDefault)
{ {
@ -96,9 +99,10 @@ public class HttpClientModule implements Module
} }
@Inject @Inject
public void inject(Escalator escalator) public void inject(Escalator escalator, ServiceEmitter emitter)
{ {
this.escalator = escalator; this.escalator = escalator;
this.emitter = emitter;
} }
@Override @Override
@ -125,7 +129,8 @@ public class HttpClientModule implements Module
HttpClient client = HttpClientInit.createClient( HttpClient client = HttpClientInit.createClient(
builder.build(), builder.build(),
getLifecycleProvider().get() getLifecycleProvider().get(),
emitter
); );
if (isEscalated) { if (isEscalated) {

View File

@ -25,6 +25,7 @@ import com.google.inject.Key;
import com.google.inject.servlet.GuiceFilter; import com.google.inject.servlet.GuiceFilter;
import org.apache.druid.guice.annotations.Self; import org.apache.druid.guice.annotations.Self;
import org.apache.druid.java.util.common.lifecycle.Lifecycle; import org.apache.druid.java.util.common.lifecycle.Lifecycle;
import org.apache.druid.java.util.emitter.core.NoopEmitter;
import org.apache.druid.java.util.http.client.HttpClient; import org.apache.druid.java.util.http.client.HttpClient;
import org.apache.druid.java.util.http.client.HttpClientConfig; import org.apache.druid.java.util.http.client.HttpClientConfig;
import org.apache.druid.java.util.http.client.HttpClientInit; import org.apache.druid.java.util.http.client.HttpClientInit;
@ -128,7 +129,8 @@ public abstract class BaseJettyTest
.withReadTimeout(Duration.ZERO) .withReadTimeout(Duration.ZERO)
.withEagerInitialization(true) .withEagerInitialization(true)
.build(), .build(),
druidLifecycle druidLifecycle,
new NoopEmitter()
); );
} }
catch (Exception e) { catch (Exception e) {

View File

@ -34,6 +34,7 @@ import org.apache.druid.guice.LazySingleton;
import org.apache.druid.guice.LifecycleModule; import org.apache.druid.guice.LifecycleModule;
import org.apache.druid.guice.annotations.Self; import org.apache.druid.guice.annotations.Self;
import org.apache.druid.initialization.Initialization; import org.apache.druid.initialization.Initialization;
import org.apache.druid.java.util.emitter.core.NoopEmitter;
import org.apache.druid.java.util.http.client.HttpClient; import org.apache.druid.java.util.http.client.HttpClient;
import org.apache.druid.java.util.http.client.HttpClientConfig; import org.apache.druid.java.util.http.client.HttpClientConfig;
import org.apache.druid.java.util.http.client.HttpClientInit; import org.apache.druid.java.util.http.client.HttpClientInit;
@ -385,7 +386,8 @@ public class JettyCertRenewTest extends BaseJettyTest
try { try {
client = HttpClientInit.createClient( client = HttpClientInit.createClient(
getSslConfig(), getSslConfig(),
lifecycle lifecycle,
new NoopEmitter()
); );
} }
catch (Exception e) { catch (Exception e) {

View File

@ -35,6 +35,7 @@ import org.apache.druid.guice.LifecycleModule;
import org.apache.druid.guice.annotations.Self; import org.apache.druid.guice.annotations.Self;
import org.apache.druid.initialization.Initialization; import org.apache.druid.initialization.Initialization;
import org.apache.druid.java.util.common.concurrent.Execs; import org.apache.druid.java.util.common.concurrent.Execs;
import org.apache.druid.java.util.emitter.core.NoopEmitter;
import org.apache.druid.java.util.http.client.HttpClient; import org.apache.druid.java.util.http.client.HttpClient;
import org.apache.druid.java.util.http.client.HttpClientConfig; import org.apache.druid.java.util.http.client.HttpClientConfig;
import org.apache.druid.java.util.http.client.HttpClientInit; import org.apache.druid.java.util.http.client.HttpClientInit;
@ -501,7 +502,8 @@ public class JettyTest extends BaseJettyTest
try { try {
client = HttpClientInit.createClient( client = HttpClientInit.createClient(
sslConfig, sslConfig,
lifecycle lifecycle,
new NoopEmitter()
); );
} }
catch (Exception e) { catch (Exception e) {