jaeger cum fuck love get fucked you mother fucker
parent
8cf701d408
commit
3f23240ded
|
@ -0,0 +1,8 @@
|
||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<profile version="1.0">
|
||||||
|
<option name="myName" value="Project Default" />
|
||||||
|
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true">
|
||||||
|
<option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,io.opentelemetry.context.ImplicitContextKeyed,makeCurrent" />
|
||||||
|
</inspection_tool>
|
||||||
|
</profile>
|
||||||
|
</component>
|
|
@ -0,0 +1,159 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="AutoImportSettings">
|
||||||
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
|
</component>
|
||||||
|
<component name="ChangeListManager">
|
||||||
|
<list default="true" id="0f41691c-0555-42fa-871c-696e835fdcc1" name="Changes" comment="">
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
|
||||||
|
</list>
|
||||||
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
|
</component>
|
||||||
|
<component name="FileTemplateManagerImpl">
|
||||||
|
<option name="RECENT_TEMPLATES">
|
||||||
|
<list>
|
||||||
|
<option value="Class" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="Git.Settings">
|
||||||
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectColorInfo">{
|
||||||
|
"associatedIndex": 1
|
||||||
|
}</component>
|
||||||
|
<component name="ProjectId" id="2XzrKhWhzn1ftuh1BdX52WhmbVY" />
|
||||||
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||||
|
<component name="ProjectViewState">
|
||||||
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
|
<option name="showLibraryContents" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PropertiesComponent">{
|
||||||
|
"keyToString": {
|
||||||
|
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
||||||
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
|
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
||||||
|
"WebServerToolWindowFactoryState": "false",
|
||||||
|
"git-widget-placeholder": "main",
|
||||||
|
"last_opened_file_path": "/home/brett/Documents/Brock/CS 3P95/Assignments/Assignment 2 Java/libs",
|
||||||
|
"node.js.detected.package.eslint": "true",
|
||||||
|
"node.js.detected.package.tslint": "true",
|
||||||
|
"node.js.selected.package.eslint": "(autodetect)",
|
||||||
|
"node.js.selected.package.tslint": "(autodetect)",
|
||||||
|
"nodejs_package_manager_path": "npm",
|
||||||
|
"project.structure.last.edited": "Modules",
|
||||||
|
"project.structure.proportion": "0.15",
|
||||||
|
"project.structure.side.proportion": "0.2",
|
||||||
|
"settings.editor.selected.configurable": "reference.settings.project.maven.repository.indices",
|
||||||
|
"vue.rearranger.settings.migration": "true"
|
||||||
|
}
|
||||||
|
}</component>
|
||||||
|
<component name="RecentsManager">
|
||||||
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
|
<recent name="$PROJECT_DIR$/in" />
|
||||||
|
</key>
|
||||||
|
</component>
|
||||||
|
<component name="RunManager" selected="Maven.Maven Client">
|
||||||
|
<configuration name="Maven Client" type="MavenRunConfiguration" factoryName="Maven">
|
||||||
|
<MavenSettings>
|
||||||
|
<option name="myGeneralSettings" />
|
||||||
|
<option name="myRunnerSettings" />
|
||||||
|
<option name="myRunnerParameters">
|
||||||
|
<MavenRunnerParameters>
|
||||||
|
<option name="cmdOptions" />
|
||||||
|
<option name="profiles">
|
||||||
|
<set />
|
||||||
|
</option>
|
||||||
|
<option name="goals">
|
||||||
|
<list>
|
||||||
|
<option value="compile" />
|
||||||
|
<option value="exec:java" />
|
||||||
|
<option value="-Dexec.mainClass=client.Client" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="pomFileName" />
|
||||||
|
<option name="profilesMap">
|
||||||
|
<map />
|
||||||
|
</option>
|
||||||
|
<option name="projectsCmdOptionValues">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="resolveToWorkspace" value="false" />
|
||||||
|
<option name="workingDirPath" value="$PROJECT_DIR$" />
|
||||||
|
</MavenRunnerParameters>
|
||||||
|
</option>
|
||||||
|
</MavenSettings>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
<configuration name="Maven Server" type="MavenRunConfiguration" factoryName="Maven">
|
||||||
|
<MavenSettings>
|
||||||
|
<option name="myGeneralSettings" />
|
||||||
|
<option name="myRunnerSettings" />
|
||||||
|
<option name="myRunnerParameters">
|
||||||
|
<MavenRunnerParameters>
|
||||||
|
<option name="cmdOptions" />
|
||||||
|
<option name="profiles">
|
||||||
|
<set />
|
||||||
|
</option>
|
||||||
|
<option name="goals">
|
||||||
|
<list>
|
||||||
|
<option value="compile" />
|
||||||
|
<option value="exec:java" />
|
||||||
|
<option value="-Dexec.mainClass=server.Server" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="pomFileName" />
|
||||||
|
<option name="profilesMap">
|
||||||
|
<map />
|
||||||
|
</option>
|
||||||
|
<option name="projectsCmdOptionValues">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="resolveToWorkspace" value="false" />
|
||||||
|
<option name="workingDirPath" value="$PROJECT_DIR$" />
|
||||||
|
</MavenRunnerParameters>
|
||||||
|
</option>
|
||||||
|
</MavenSettings>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
<list>
|
||||||
|
<item itemvalue="Maven.Maven Server" />
|
||||||
|
<item itemvalue="Maven.Maven Client" />
|
||||||
|
</list>
|
||||||
|
</component>
|
||||||
|
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||||
|
<component name="TaskManager">
|
||||||
|
<task active="true" id="Default" summary="Default task">
|
||||||
|
<changelist id="0f41691c-0555-42fa-871c-696e835fdcc1" name="Changes" comment="" />
|
||||||
|
<created>1699642690668</created>
|
||||||
|
<option name="number" value="Default" />
|
||||||
|
<option name="presentableId" value="Default" />
|
||||||
|
<updated>1699642690668</updated>
|
||||||
|
<workItem from="1699642691698" duration="1780000" />
|
||||||
|
<workItem from="1699644554205" duration="4483000" />
|
||||||
|
<workItem from="1699649046958" duration="1659000" />
|
||||||
|
<workItem from="1699753268434" duration="7789000" />
|
||||||
|
<workItem from="1699771695888" duration="8878000" />
|
||||||
|
<workItem from="1699855895607" duration="8075000" />
|
||||||
|
<workItem from="1699982150005" duration="1160000" />
|
||||||
|
<workItem from="1699983647788" duration="7319000" />
|
||||||
|
<workItem from="1700071773870" duration="526000" />
|
||||||
|
<workItem from="1700158706429" duration="3509000" />
|
||||||
|
<workItem from="1700165455778" duration="4488000" />
|
||||||
|
<workItem from="1700178396414" duration="4007000" />
|
||||||
|
<workItem from="1700184489732" duration="1251000" />
|
||||||
|
</task>
|
||||||
|
<servers />
|
||||||
|
</component>
|
||||||
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
|
<option name="version" value="3" />
|
||||||
|
</component>
|
||||||
|
<component name="XSLT-Support.FileAssociations.UIState">
|
||||||
|
<expand />
|
||||||
|
<select />
|
||||||
|
</component>
|
||||||
|
</project>
|
5
pom.xml
5
pom.xml
|
@ -100,5 +100,10 @@
|
||||||
<artifactId>lz4-java</artifactId>
|
<artifactId>lz4-java</artifactId>
|
||||||
<version>1.8.0</version>
|
<version>1.8.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.opentelemetry</groupId>
|
||||||
|
<artifactId>opentelemetry-sdk-trace</artifactId>
|
||||||
|
<version>1.32.0</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
|
@ -28,7 +28,7 @@ public class ChunkedCompressedChecksumFileReader {
|
||||||
}
|
}
|
||||||
|
|
||||||
public FileHeader readChunk(Tracer trace, Span sp) throws IOException {
|
public FileHeader readChunk(Tracer trace, Span sp) throws IOException {
|
||||||
Span gf = trace.spanBuilder("Chunk Read").setParent(Context.current().with(sp)).startSpan();
|
Span gf = trace.spanBuilder("Chunk Read").startSpan();
|
||||||
FileHeader header = readHeader();
|
FileHeader header = readHeader();
|
||||||
try (Scope scope = gf.makeCurrent()) {
|
try (Scope scope = gf.makeCurrent()) {
|
||||||
if (header.getUncompressed() == 0)
|
if (header.getUncompressed() == 0)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package server;
|
package server;
|
||||||
|
|
||||||
|
import client.Client;
|
||||||
import io.opentelemetry.api.trace.Span;
|
import io.opentelemetry.api.trace.Span;
|
||||||
import io.opentelemetry.api.trace.SpanBuilder;
|
import io.opentelemetry.api.trace.SpanBuilder;
|
||||||
import io.opentelemetry.api.trace.Tracer;
|
import io.opentelemetry.api.trace.Tracer;
|
||||||
|
@ -18,10 +19,10 @@ public class Connection implements Runnable {
|
||||||
private final Server server;
|
private final Server server;
|
||||||
private DataOutputStream out;
|
private DataOutputStream out;
|
||||||
private DataInputStream in;
|
private DataInputStream in;
|
||||||
private Tracer trace;
|
private final Tracer trace;
|
||||||
private Span fileSend;
|
private final Span fileSend;
|
||||||
|
|
||||||
public Connection(Server server, Tracer trace, Span parent, Socket clientSocket) {
|
public Connection(Server server, Tracer trace, Socket clientSocket) {
|
||||||
this.server = server;
|
this.server = server;
|
||||||
this.clientSocket = clientSocket;
|
this.clientSocket = clientSocket;
|
||||||
this.trace = trace;
|
this.trace = trace;
|
||||||
|
@ -31,12 +32,12 @@ public class Connection implements Runnable {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
ExceptionLogger.log(e);
|
ExceptionLogger.log(e);
|
||||||
}
|
}
|
||||||
parent.addEvent("Connection Established");
|
SpanBuilder sb = trace.spanBuilder("New Client Connection");
|
||||||
SpanBuilder sb = trace.spanBuilder("New Connection");
|
|
||||||
sb.setAttribute("INetAddress", clientSocket.getInetAddress().toString());
|
sb.setAttribute("INetAddress", clientSocket.getInetAddress().toString());
|
||||||
sb.setAttribute("Port", clientSocket.getPort());
|
sb.setAttribute("Port", clientSocket.getPort());
|
||||||
sb.setAttribute("LocalPort", clientSocket.getLocalPort());
|
sb.setAttribute("LocalPort", clientSocket.getLocalPort());
|
||||||
fileSend = sb.startSpan();
|
fileSend = sb.startSpan();
|
||||||
|
fileSend.addEvent("Connection Established");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -66,6 +67,7 @@ public class Connection implements Runnable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
fileSend.recordException(e);
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -76,9 +78,16 @@ public class Connection implements Runnable {
|
||||||
out.close();
|
out.close();
|
||||||
in.close();
|
in.close();
|
||||||
clientSocket.close();
|
clientSocket.close();
|
||||||
} catch (Exception ignored) {}
|
} catch (Exception e) {
|
||||||
|
ExceptionLogger.log(e);
|
||||||
|
}
|
||||||
|
System.out.println("Client Disconnected");
|
||||||
Server.running = false;
|
Server.running = false;
|
||||||
Server.close();
|
// try {
|
||||||
|
// // evil hack
|
||||||
|
// new Client("localhost", Server.SERVER_PORT).close();
|
||||||
|
// } catch (IOException ignored) {
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,8 @@ public class FileHeader {
|
||||||
private int compressed;
|
private int compressed;
|
||||||
private long hash;
|
private long hash;
|
||||||
|
|
||||||
public FileHeader() {}
|
public FileHeader() {
|
||||||
|
}
|
||||||
|
|
||||||
public FileHeader read(DataInputStream reader) throws IOException {
|
public FileHeader read(DataInputStream reader) throws IOException {
|
||||||
uncompressed = reader.readInt();
|
uncompressed = reader.readInt();
|
||||||
|
|
|
@ -11,6 +11,7 @@ import shared.OTelUtils;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.ServerSocket;
|
import java.net.ServerSocket;
|
||||||
|
import java.util.List;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
@ -27,39 +28,32 @@ public class Server {
|
||||||
|
|
||||||
public Server() {
|
public Server() {
|
||||||
Tracer main = ot.getTracer("Main Server", "0.69");
|
Tracer main = ot.getTracer("Main Server", "0.69");
|
||||||
Span sbs = main.spanBuilder("Start Server").setAttribute("Server Port", SERVER_PORT).startSpan();
|
|
||||||
try (Scope scope = sbs.makeCurrent()) {
|
|
||||||
System.out.println("Starting server");
|
|
||||||
sbs.addEvent("Server Start", System.nanoTime(), TimeUnit.NANOSECONDS);
|
|
||||||
ServerSocket serverSocket = new ServerSocket(SERVER_PORT);
|
|
||||||
Runtime.getRuntime().addShutdownHook(new Thread() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
System.out.println("Closing Server");
|
|
||||||
running = false;
|
|
||||||
sbs.end();
|
|
||||||
executor.shutdown();
|
|
||||||
try {
|
try {
|
||||||
serverSocket.close();
|
System.out.println("Starting server");
|
||||||
} catch (IOException e) {
|
ServerSocket serverSocket = new ServerSocket(SERVER_PORT);
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
System.out.println("Server Started");
|
System.out.println("Server Started");
|
||||||
|
|
||||||
while (running)
|
while (running)
|
||||||
executor.execute(new Connection(this, main, sbs, serverSocket.accept()));
|
executor.execute(new Connection(this, main, serverSocket.accept()));
|
||||||
|
|
||||||
serverSocket.close();
|
serverSocket.close();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
sbs.recordException(e);
|
|
||||||
ExceptionLogger.log(e);
|
ExceptionLogger.log(e);
|
||||||
} finally {
|
|
||||||
sbs.end();
|
|
||||||
}
|
}
|
||||||
System.out.println("Closing thread pool");
|
System.out.println("Closing thread pool");
|
||||||
executor.shutdown();
|
executor.shutdown();
|
||||||
|
try {
|
||||||
|
if (!executor.awaitTermination(1, TimeUnit.SECONDS)){
|
||||||
|
List<Runnable> runs = executor.shutdownNow();
|
||||||
|
System.out.println("Hello runs " + runs.size());
|
||||||
|
if (!executor.awaitTermination(1, TimeUnit.SECONDS))
|
||||||
|
System.out.println("Unable to terminate");
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
executor.shutdownNow();
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
ExceptionLogger.log(e);
|
||||||
|
}
|
||||||
System.out.println("Server exited!");
|
System.out.println("Server exited!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,6 +68,7 @@ public class Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void close(){
|
public static void close(){
|
||||||
|
if (srv != null)
|
||||||
srv.notifyAll();
|
srv.notifyAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ package shared;
|
||||||
import client.ChunkedCompressedChecksumFileWriter;
|
import client.ChunkedCompressedChecksumFileWriter;
|
||||||
import io.opentelemetry.api.trace.Span;
|
import io.opentelemetry.api.trace.Span;
|
||||||
import io.opentelemetry.api.trace.Tracer;
|
import io.opentelemetry.api.trace.Tracer;
|
||||||
|
import io.opentelemetry.context.Scope;
|
||||||
import net.jpountz.lz4.LZ4Compressor;
|
import net.jpountz.lz4.LZ4Compressor;
|
||||||
import net.jpountz.lz4.LZ4Factory;
|
import net.jpountz.lz4.LZ4Factory;
|
||||||
import net.jpountz.lz4.LZ4FastDecompressor;
|
import net.jpountz.lz4.LZ4FastDecompressor;
|
||||||
|
|
|
@ -16,6 +16,7 @@ import io.opentelemetry.sdk.metrics.SdkMeterProvider;
|
||||||
import io.opentelemetry.sdk.metrics.export.PeriodicMetricReader;
|
import io.opentelemetry.sdk.metrics.export.PeriodicMetricReader;
|
||||||
import io.opentelemetry.sdk.resources.Resource;
|
import io.opentelemetry.sdk.resources.Resource;
|
||||||
import io.opentelemetry.sdk.trace.SdkTracerProvider;
|
import io.opentelemetry.sdk.trace.SdkTracerProvider;
|
||||||
|
import io.opentelemetry.sdk.trace.export.BatchSpanProcessor;
|
||||||
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
|
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
|
||||||
import io.opentelemetry.sdk.trace.export.SpanExporter;
|
import io.opentelemetry.sdk.trace.export.SpanExporter;
|
||||||
import io.opentelemetry.semconv.ResourceAttributes;
|
import io.opentelemetry.semconv.ResourceAttributes;
|
||||||
|
@ -30,20 +31,10 @@ public class OTelUtils {
|
||||||
.setResource(resource)
|
.setResource(resource)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
SdkMeterProvider sdkMeterProvider = SdkMeterProvider.builder()
|
|
||||||
.registerMetricReader(PeriodicMetricReader.builder(LoggingMetricExporter.create()).build())
|
|
||||||
.setResource(resource)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
SdkLoggerProvider sdkLoggerProvider = SdkLoggerProvider.builder()
|
|
||||||
.addLogRecordProcessor(BatchLogRecordProcessor.builder(SystemOutLogRecordExporter.create()).build())
|
|
||||||
.setResource(resource)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
return OpenTelemetrySdk.builder()
|
return OpenTelemetrySdk.builder()
|
||||||
.setTracerProvider(sdkTracerProvider)
|
.setTracerProvider(sdkTracerProvider)
|
||||||
.setMeterProvider(sdkMeterProvider)
|
.setMeterProvider(createLoggingMeter(resource))
|
||||||
.setLoggerProvider(sdkLoggerProvider)
|
.setLoggerProvider(createLoggerProvider(resource))
|
||||||
.setPropagators(ContextPropagators.create(TextMapPropagator.composite(W3CTraceContextPropagator.getInstance(), W3CBaggagePropagator.getInstance())))
|
.setPropagators(ContextPropagators.create(TextMapPropagator.composite(W3CTraceContextPropagator.getInstance(), W3CBaggagePropagator.getInstance())))
|
||||||
.buildAndRegisterGlobal();
|
.buildAndRegisterGlobal();
|
||||||
}
|
}
|
||||||
|
@ -53,29 +44,39 @@ public class OTelUtils {
|
||||||
|
|
||||||
SpanExporter otlpExporter = OtlpGrpcSpanExporter.builder()
|
SpanExporter otlpExporter = OtlpGrpcSpanExporter.builder()
|
||||||
.setEndpoint("http://sc.on.underlying.skynet.tpgc.me:4317")
|
.setEndpoint("http://sc.on.underlying.skynet.tpgc.me:4317")
|
||||||
|
.setCompression("gzip")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
BatchSpanProcessor batchSpanProcessor = BatchSpanProcessor.builder(otlpExporter)
|
||||||
|
.setMaxQueueSize(2048)
|
||||||
|
.setMaxExportBatchSize(512) // Example max export batch size
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder()
|
SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder()
|
||||||
.addSpanProcessor(SimpleSpanProcessor.create(otlpExporter))
|
.addSpanProcessor(batchSpanProcessor)
|
||||||
.setResource(resource)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
SdkMeterProvider sdkMeterProvider = SdkMeterProvider.builder()
|
|
||||||
.registerMetricReader(PeriodicMetricReader.builder(LoggingMetricExporter.create()).build())
|
|
||||||
.setResource(resource)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
SdkLoggerProvider sdkLoggerProvider = SdkLoggerProvider.builder()
|
|
||||||
.addLogRecordProcessor(BatchLogRecordProcessor.builder(SystemOutLogRecordExporter.create()).build())
|
|
||||||
.setResource(resource)
|
.setResource(resource)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
return OpenTelemetrySdk.builder()
|
return OpenTelemetrySdk.builder()
|
||||||
.setTracerProvider(sdkTracerProvider)
|
.setTracerProvider(sdkTracerProvider)
|
||||||
.setMeterProvider(sdkMeterProvider)
|
.setMeterProvider(createLoggingMeter(resource))
|
||||||
.setLoggerProvider(sdkLoggerProvider)
|
.setLoggerProvider(createLoggerProvider(resource))
|
||||||
.setPropagators(ContextPropagators.create(TextMapPropagator.composite(W3CTraceContextPropagator.getInstance(), W3CBaggagePropagator.getInstance())))
|
.setPropagators(ContextPropagators.create(TextMapPropagator.composite(W3CTraceContextPropagator.getInstance(), W3CBaggagePropagator.getInstance())))
|
||||||
.buildAndRegisterGlobal();
|
.buildAndRegisterGlobal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static SdkMeterProvider createLoggingMeter(Resource resource){
|
||||||
|
return SdkMeterProvider.builder()
|
||||||
|
.registerMetricReader(PeriodicMetricReader.builder(LoggingMetricExporter.create()).build())
|
||||||
|
.setResource(resource)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static SdkLoggerProvider createLoggerProvider(Resource resource){
|
||||||
|
return SdkLoggerProvider.builder()
|
||||||
|
.addLogRecordProcessor(BatchLogRecordProcessor.builder(SystemOutLogRecordExporter.create()).build())
|
||||||
|
.setResource(resource)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,13 +1,12 @@
|
||||||
shared/ExceptionLogger.class
|
shared/ExceptionLogger.class
|
||||||
server/Server$1.class
|
shared/FileUtil$InvalidUsageException.class
|
||||||
shared/FileUtil.class
|
shared/FileUtil.class
|
||||||
|
shared/OTelUtils.class
|
||||||
|
client/Client.class
|
||||||
server/Server.class
|
server/Server.class
|
||||||
server/Connection.class
|
server/Connection.class
|
||||||
|
server/FileHeader.class
|
||||||
|
shared/FileUtil$COMMAND.class
|
||||||
shared/ArrayData.class
|
shared/ArrayData.class
|
||||||
server/ChunkedCompressedChecksumFileReader.class
|
server/ChunkedCompressedChecksumFileReader.class
|
||||||
client/ChunkedCompressedChecksumFileWriter.class
|
client/ChunkedCompressedChecksumFileWriter.class
|
||||||
shared/FileUtil$InvalidUsageException.class
|
|
||||||
shared/OTelUtils.class
|
|
||||||
client/Client.class
|
|
||||||
server/FileHeader.class
|
|
||||||
shared/FileUtil$COMMAND.class
|
|
||||||
|
|
Loading…
Reference in New Issue