@Override public void run() { JaegerTracer.this.close(); } });
protected JaegerTracer createTracer() { return new JaegerTracer(this); }
private static String loadVersion() { return "Java-" + getVersionFromProperties(); }
@Override public int append(JaegerSpan span) throws SenderException { if (process == null) { process = new Process(span.getTracer().getServiceName()); process.setTags(JaegerThriftSpanConverter.buildTags(span.getTracer().tags())); processBytesSize = calculateProcessSize(process); byteBufferSize += processBytesSize;
public String getServiceName() { synchronized (this) { return this.getTracer().getServiceName(); } }
this.useTraceId128Bit = builder.useTraceId128Bit; this.version = loadVersion(); String hostname = getHostName(); if (hostname != null) { tags.put(Constants.TRACER_HOSTNAME_TAG_KEY, hostname);
private void finishWithDuration(long durationMicros) { synchronized (this) { if (finished) { log.warn("Span has already been finished; will not be reported again."); return; } finished = true; this.durationMicroseconds = durationMicros; } if (context.isSampled()) { tracer.reportSpan(this); } }
private JaegerSpan log(long timestampMicroseconds, String event, Map<String, ?> fields) { synchronized (this) { if (fields == null && event == null) { return this; } if (context.isSampled()) { if (fields != null && tracer.isExpandExceptionLogs()) { fields = addExceptionLogs(fields); } if (logs == null) { this.logs = new ArrayList<LogData>(); } logs.add(new LogData(timestampMicroseconds, event, fields)); } return this; } }
private JaegerSpanContext createNewContext() { String debugId = getDebugId(); long spanId = Utils.uniqueId(); long traceIdLow = spanId; long traceIdHigh = isUseTraceId128Bit() ? Utils.uniqueId() : 0; byte flags = 0; if (debugId != null) { flags = (byte) (flags | JaegerSpanContext.flagSampled | JaegerSpanContext.flagDebug); tags.put(Constants.DEBUG_ID_HEADER_KEY, debugId); metrics.traceStartedSampled.inc(1); } else { // TODO: (prithvi) Don't assume operationName is set on creation SamplingStatus samplingStatus = sampler.sample(operationName, spanId); if (samplingStatus.isSampled()) { flags |= JaegerSpanContext.flagSampled; tags.putAll(samplingStatus.getTags()); metrics.traceStartedSampled.inc(1); } else { metrics.traceStartedNotSampled.inc(1); } } return getObjectFactory().createSpanContext( traceIdHigh, traceIdLow, spanId, 0, flags, getBaggage(), debugId); }
@Override public JaegerSpan log(Map<String, ?> fields) { return log(tracer.clock().currentTimeMicros(), null, fields); }
public synchronized void closeTracer() { if (tracer != null) { tracer.close(); } }
@Override public JaegerSpan log(String event) { return log(tracer.clock().currentTimeMicros(), event, null); }
@Override public void contextDestroyed(ServletContextEvent sce) { boolean isManagedTracer = false; Object managedTracer = sce.getServletContext().getAttribute(SMALLRYE_OPENTRACING_TRACER_MANAGED); if (managedTracer instanceof Boolean) { isManagedTracer = (boolean) managedTracer; } if (isManagedTracer) { Object tracerObj = sce.getServletContext().getAttribute(SMALLRYE_OPENTRACING_TRACER); if (tracerObj instanceof JaegerTracer) { ((JaegerTracer) tracerObj).close(); } } } }