Class TracingSqsMessageHandler

java.lang.Object
io.opentelemetry.instrumentation.awslambdacore.v1_0.TracingRequestHandler<com.amazonaws.services.lambda.runtime.events.SQSEvent,Void>
io.opentelemetry.instrumentation.awslambdaevents.v2_2.TracingSqsEventHandler
io.opentelemetry.instrumentation.awslambdaevents.v2_2.TracingSqsMessageHandler
All Implemented Interfaces:
com.amazonaws.services.lambda.runtime.RequestHandler<com.amazonaws.services.lambda.runtime.events.SQSEvent,Void>

public abstract class TracingSqsMessageHandler extends TracingSqsEventHandler
  • Field Summary

    Fields inherited from class io.opentelemetry.instrumentation.awslambdacore.v1_0.TracingRequestHandler

    DEFAULT_FLUSH_TIMEOUT
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    TracingSqsMessageHandler(io.opentelemetry.sdk.OpenTelemetrySdk openTelemetrySdk)
    Creates a new TracingSqsMessageHandler which traces using the provided OpenTelemetrySdk and has a timeout of 1s when flushing at the end of an invocation.
    protected
    TracingSqsMessageHandler(io.opentelemetry.sdk.OpenTelemetrySdk openTelemetrySdk, Duration flushTimeout)
    Creates a new TracingSqsMessageHandler which traces using the provided OpenTelemetrySdk and has a timeout of flushTimeout when flushing at the end of an invocation.
    protected
    TracingSqsMessageHandler(io.opentelemetry.sdk.OpenTelemetrySdk openTelemetrySdk, Duration flushTimeout, io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<com.amazonaws.services.lambda.runtime.events.SQSEvent,Void> eventInstrumenter)
    Creates a new TracingSqsMessageHandler which flushes the provided OpenTelemetrySdk, has a timeout of flushTimeout when flushing at the end of an invocation, and instruments SQSEvent using the provided Instrumenter<SQSEvent, Void>.
    protected
    TracingSqsMessageHandler(io.opentelemetry.sdk.OpenTelemetrySdk openTelemetrySdk, Duration flushTimeout, io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<com.amazonaws.services.lambda.runtime.events.SQSEvent,Void> eventInstrumenter, io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage,Void> messageInstrumenter)
    Creates a new TracingSqsMessageHandler which flushes the provided OpenTelemetrySdk, has a timeout of flushTimeout when flushing at the end of an invocation, and traces using the provided Instrumenter<SQSEvent, Void> and Instrumenter<SQSMessage, Void>.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected final void
    handleEvent(com.amazonaws.services.lambda.runtime.events.SQSEvent event, com.amazonaws.services.lambda.runtime.Context context)
    Handles a batch of messages.
    protected abstract void
    handleMessage(com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage message, com.amazonaws.services.lambda.runtime.Context context)
    Handles a message.

    Methods inherited from class io.opentelemetry.instrumentation.awslambdaevents.v2_2.TracingSqsEventHandler

    doHandleRequest

    Methods inherited from class io.opentelemetry.instrumentation.awslambdacore.v1_0.TracingRequestHandler

    extractHttpHeaders, handleRequest

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • TracingSqsMessageHandler

      protected TracingSqsMessageHandler(io.opentelemetry.sdk.OpenTelemetrySdk openTelemetrySdk)
      Creates a new TracingSqsMessageHandler which traces using the provided OpenTelemetrySdk and has a timeout of 1s when flushing at the end of an invocation.
    • TracingSqsMessageHandler

      protected TracingSqsMessageHandler(io.opentelemetry.sdk.OpenTelemetrySdk openTelemetrySdk, Duration flushTimeout)
      Creates a new TracingSqsMessageHandler which traces using the provided OpenTelemetrySdk and has a timeout of flushTimeout when flushing at the end of an invocation.
    • TracingSqsMessageHandler

      protected TracingSqsMessageHandler(io.opentelemetry.sdk.OpenTelemetrySdk openTelemetrySdk, Duration flushTimeout, io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<com.amazonaws.services.lambda.runtime.events.SQSEvent,Void> eventInstrumenter)
      Creates a new TracingSqsMessageHandler which flushes the provided OpenTelemetrySdk, has a timeout of flushTimeout when flushing at the end of an invocation, and instruments SQSEvent using the provided Instrumenter<SQSEvent, Void>.
    • TracingSqsMessageHandler

      protected TracingSqsMessageHandler(io.opentelemetry.sdk.OpenTelemetrySdk openTelemetrySdk, Duration flushTimeout, io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<com.amazonaws.services.lambda.runtime.events.SQSEvent,Void> eventInstrumenter, io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage,Void> messageInstrumenter)
      Creates a new TracingSqsMessageHandler which flushes the provided OpenTelemetrySdk, has a timeout of flushTimeout when flushing at the end of an invocation, and traces using the provided Instrumenter<SQSEvent, Void> and Instrumenter<SQSMessage, Void>.
  • Method Details

    • handleEvent

      protected final void handleEvent(com.amazonaws.services.lambda.runtime.events.SQSEvent event, com.amazonaws.services.lambda.runtime.Context context)
      Description copied from class: TracingSqsEventHandler
      Handles a batch of messages. Implement this class to do the actual processing of incoming SQS messages.
      Specified by:
      handleEvent in class TracingSqsEventHandler
    • handleMessage

      protected abstract void handleMessage(com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage message, com.amazonaws.services.lambda.runtime.Context context)
      Handles a message. Implement this class to do the actual processing of incoming SQS messages.