All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.wavefront.sdk.entities.tracing.WavefrontTracingSpanSender Maven / Gradle / Ivy

package com.wavefront.sdk.entities.tracing;

import com.wavefront.sdk.common.Pair;
import com.wavefront.sdk.common.annotation.Nullable;

import java.io.IOException;
import java.util.List;
import java.util.UUID;

/**
 * WavefrontTracingSpanSender interface that sends an open-tracing span to Wavefront
 *
 * @author Vikram Raman ([email protected]).
 */
public interface WavefrontTracingSpanSender {

  /**
   * Send a trace span to Wavefront.
   *
   * @param name                The operation name of the span.
   * @param startMillis         The start time in milliseconds for this span.
   * @param durationMillis      The duration of the span in milliseconds.
   * @param source              The source (or host) that's sending the span. If null, then
   *                            assigned by Wavefront.
   * @param traceId             The unique trace ID for the span.
   * @param spanId              The unique span ID for the span.
   * @param parents             The list of parent span IDs, can be null if this is a root span.
   * @param followsFrom         The list of preceding span IDs, can be null if this is a root span.
   * @param tags                The span tags associated with this span. Supports repeated tags.
   * @param spanLogs            The span logs associated with this span.
   * @throws IOException        If there was an error sending the span.
   */
  void sendSpan(String name, long startMillis, long durationMillis, @Nullable String source,
                UUID traceId, UUID spanId, @Nullable List parents,
                @Nullable List followsFrom, @Nullable List> tags,
                @Nullable List spanLogs)
      throws IOException;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy