Add a ValueRecorder to the otlp example and properly start the IntervalMetricReader (#3143)
* Add a ValueRecorder to the otlp example and properly start the IntervalMetricReader Also, fix a broken collector config for the latest dev version. * formatting
This commit is contained in:
parent
7773a71417
commit
1dbb9b4426
|
|
@ -28,7 +28,6 @@ exporters:
|
||||||
|
|
||||||
processors:
|
processors:
|
||||||
batch:
|
batch:
|
||||||
queued_retry:
|
|
||||||
|
|
||||||
extensions:
|
extensions:
|
||||||
health_check:
|
health_check:
|
||||||
|
|
@ -42,7 +41,7 @@ service:
|
||||||
pipelines:
|
pipelines:
|
||||||
traces:
|
traces:
|
||||||
receivers: [otlp]
|
receivers: [otlp]
|
||||||
processors: [batch, queued_retry]
|
processors: [batch]
|
||||||
exporters: [logging, zipkin, jaeger]
|
exporters: [logging, zipkin, jaeger]
|
||||||
metrics:
|
metrics:
|
||||||
receivers: [otlp]
|
receivers: [otlp]
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ public final class ExampleConfiguration {
|
||||||
.setMetricExporter(metricExporter)
|
.setMetricExporter(metricExporter)
|
||||||
.setMetricProducers(Collections.singleton(meterProvider))
|
.setMetricProducers(Collections.singleton(meterProvider))
|
||||||
.setExportIntervalMillis(1000)
|
.setExportIntervalMillis(1000)
|
||||||
.build();
|
.buildAndStart();
|
||||||
|
|
||||||
Runtime.getRuntime().addShutdownHook(new Thread(intervalMetricReader::shutdown));
|
Runtime.getRuntime().addShutdownHook(new Thread(intervalMetricReader::shutdown));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ package io.opentelemetry.example.otlp;
|
||||||
|
|
||||||
import io.opentelemetry.api.OpenTelemetry;
|
import io.opentelemetry.api.OpenTelemetry;
|
||||||
import io.opentelemetry.api.metrics.LongCounter;
|
import io.opentelemetry.api.metrics.LongCounter;
|
||||||
|
import io.opentelemetry.api.metrics.LongValueRecorder;
|
||||||
import io.opentelemetry.api.metrics.Meter;
|
import io.opentelemetry.api.metrics.Meter;
|
||||||
import io.opentelemetry.api.metrics.MeterProvider;
|
import io.opentelemetry.api.metrics.MeterProvider;
|
||||||
import io.opentelemetry.api.trace.Span;
|
import io.opentelemetry.api.trace.Span;
|
||||||
|
|
@ -37,8 +38,11 @@ public final class OtlpExporterExample {
|
||||||
Tracer tracer = openTelemetry.getTracer("io.opentelemetry.example");
|
Tracer tracer = openTelemetry.getTracer("io.opentelemetry.example");
|
||||||
Meter meter = meterProvider.get("io.opentelemetry.example");
|
Meter meter = meterProvider.get("io.opentelemetry.example");
|
||||||
LongCounter counter = meter.longCounterBuilder("example_counter").build();
|
LongCounter counter = meter.longCounterBuilder("example_counter").build();
|
||||||
|
LongValueRecorder recorder =
|
||||||
|
meter.longValueRecorderBuilder("super_timer").setUnit("ms").build();
|
||||||
|
|
||||||
for (int i = 0; i < 10; i++) {
|
for (int i = 0; i < 10; i++) {
|
||||||
|
long startTime = System.currentTimeMillis();
|
||||||
Span exampleSpan = tracer.spanBuilder("exampleSpan").startSpan();
|
Span exampleSpan = tracer.spanBuilder("exampleSpan").startSpan();
|
||||||
try (Scope scope = exampleSpan.makeCurrent()) {
|
try (Scope scope = exampleSpan.makeCurrent()) {
|
||||||
counter.add(1);
|
counter.add(1);
|
||||||
|
|
@ -46,6 +50,7 @@ public final class OtlpExporterExample {
|
||||||
exampleSpan.setAttribute("exampleNumber", i);
|
exampleSpan.setAttribute("exampleNumber", i);
|
||||||
Thread.sleep(100);
|
Thread.sleep(100);
|
||||||
} finally {
|
} finally {
|
||||||
|
recorder.record(System.currentTimeMillis() - startTime);
|
||||||
exampleSpan.end();
|
exampleSpan.end();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue