adservice - java

This commit is contained in:
Megan O'Keefe 2020-02-15 17:51:47 -05:00
parent f0704295d9
commit cfa32d0c10
2 changed files with 54 additions and 13 deletions

View file

@ -34,6 +34,10 @@ spec:
env:
- name: PORT
value: "9555"
- name: OC_STATS
value: "True"
- name: OC_TRACE
value: "True"
#- name: JAEGER_SERVICE_ADDR
# value: "jaeger-collector:14268"
resources:

View file

@ -213,21 +213,17 @@ public final class AdService {
.build();
}
private static void initStackdriver() {
logger.info("Initialize Stackdriver");
private static void initStats() {
boolean ocStats = Boolean.parseBoolean(System.getenv("OC_STATS"));
if (!ocStats) {
logger.info("Stats disabled.");
return;
}
long sleepTime = 10; /* seconds */
int maxAttempts = 5;
boolean statsExporterRegistered = false;
boolean traceExporterRegistered = false;
for (int i = 0; i < maxAttempts; i++) {
try {
if (!traceExporterRegistered) {
StackdriverTraceExporter.createAndRegister(
StackdriverTraceConfiguration.builder().build());
traceExporterRegistered = true;
}
if (!statsExporterRegistered) {
StackdriverStatsExporter.createAndRegister(
StackdriverStatsConfiguration.builder()
@ -240,7 +236,7 @@ public final class AdService {
logger.log(
Level.WARN,
"Failed to register Stackdriver Exporter."
+ " Tracing and Stats data will not reported to Stackdriver. Error message: "
+ " Stats data will not reported to Stackdriver. Error message: "
+ e.toString());
} else {
logger.info("Attempt to register Stackdriver Exporter in " + sleepTime + " seconds ");
@ -252,9 +248,49 @@ public final class AdService {
}
}
}
logger.info("Stackdriver initialization complete.");
logger.info("Stats enabled - Stackdriver Exporter initialized.");
}
private static void initTracing() {
boolean ocTrace = Boolean.parseBoolean(System.getenv("OC_TRACE"));
if (!ocTrace) {
logger.info("Tracing disabled.");
return;
}
long sleepTime = 10; /* seconds */
int maxAttempts = 5;
boolean traceExporterRegistered = false;
for (int i = 0; i < maxAttempts; i++) {
try {
if (!traceExporterRegistered) {
StackdriverTraceExporter.createAndRegister(
StackdriverTraceConfiguration.builder().build());
traceExporterRegistered = true;
}
} catch (Exception e) {
if (i == (maxAttempts - 1)) {
logger.log(
Level.WARN,
"Failed to register Stackdriver Exporter."
+ " Tracing data will not reported to Stackdriver. Error message: "
+ e.toString());
} else {
logger.info("Attempt to register Stackdriver Exporter in " + sleepTime + " seconds ");
try {
Thread.sleep(TimeUnit.SECONDS.toMillis(sleepTime));
} catch (Exception se) {
logger.log(Level.WARN, "Exception while sleeping" + se.toString());
}
}
}
}
logger.info("Tracing enabled - Stackdriver exporter initialized.");
}
private static void initJaeger() {
String jaegerAddr = System.getenv("JAEGER_SERVICE_ADDR");
if (jaegerAddr != null && !jaegerAddr.isEmpty()) {
@ -282,7 +318,8 @@ public final class AdService {
new Thread(
new Runnable() {
public void run() {
initStackdriver();
initStats();
initTracing();
}
})
.start();