example-orca: fix lost streamTracerFactor (#9411)

This commit is contained in:
yifeizhuang 2022-07-25 16:28:58 -07:00 committed by GitHub
parent 5f1a1d4f35
commit cc9505f6bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 10 deletions

View File

@ -124,16 +124,24 @@ final class CustomBackendMetricsLoadBalancerProvider extends LoadBalancerProvide
return result;
}
// Installs ORCA per-query metrics reporting listener.
return LoadBalancer.PickResult.withSubchannel(
result.getSubchannel(),
OrcaPerRequestUtil.getInstance().newOrcaClientStreamTracerFactory(
new OrcaPerRequestUtil.OrcaPerRequestReportListener() {
@Override
public void onLoadReport(MetricReport orcaLoadReport) {
System.out.println("Example load balancer received per-rpc metrics report:\n"
+ orcaLoadReport);
}
}));
final OrcaPerRequestUtil.OrcaPerRequestReportListener orcaListener =
new OrcaPerRequestUtil.OrcaPerRequestReportListener() {
@Override
public void onLoadReport(MetricReport orcaLoadReport) {
System.out.println("Example load balancer received per-rpc metrics report:\n"
+ orcaLoadReport);
}
};
if (result.getStreamTracerFactory() == null) {
return LoadBalancer.PickResult.withSubchannel(
result.getSubchannel(),
OrcaPerRequestUtil.getInstance().newOrcaClientStreamTracerFactory(orcaListener));
} else {
return LoadBalancer.PickResult.withSubchannel(
result.getSubchannel(),
OrcaPerRequestUtil.getInstance().newOrcaClientStreamTracerFactory(
result.getStreamTracerFactory(), orcaListener));
}
}
}
}

View File

@ -43,6 +43,7 @@ java_library(
"//api",
"//context",
"@com_google_code_findbugs_jsr305//jar",
"@com_google_errorprone_error_prone_annotations//jar",
"@com_google_guava_guava//jar",
],
)