![JAR search and dependency download from the Maven repository](/logo.png)
org.opensearch.migrations.replay.tracing.IReplayContexts Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of trafficReplayer Show documentation
Show all versions of trafficReplayer Show documentation
Everything opensearch migrations
package org.opensearch.migrations.replay.tracing;
import java.time.Instant;
import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.AttributesBuilder;
import org.opensearch.migrations.replay.datatypes.ISourceTrafficChannelKey;
import org.opensearch.migrations.replay.datatypes.ITrafficStreamKey;
import org.opensearch.migrations.replay.datatypes.UniqueReplayerRequestKey;
import org.opensearch.migrations.tracing.IScopedInstrumentationAttributes;
import org.opensearch.migrations.tracing.IWithTypedEnclosingScope;
public abstract class IReplayContexts {
public static class ActivityNames {
private ActivityNames() {}
public static final String CHANNEL = "channel";
public static final String TCP_CONNECTION = "tcpConnection";
public static final String RECORD_LIFETIME = "recordLifetime";
public static final String TRAFFIC_STREAM_LIFETIME = "trafficStreamLifetime";
public static final String HTTP_TRANSACTION = "httpTransaction";
public static final String ACCUMULATING_REQUEST = "accumulatingRequest";
public static final String ACCUMULATING_RESPONSE = "accumulatingResponse";
public static final String TRANSFORMATION = "transformation";
public static final String SCHEDULED = "scheduled";
public static final String TARGET_TRANSACTION = "targetTransaction";
public static final String REQUEST_CONNECTING = "requestConnecting";
public static final String REQUEST_SENDING = "requestSending";
public static final String WAITING_FOR_RESPONSE = "waitingForResponse";
public static final String RECEIVING_RESPONSE = "receivingResponse";
public static final String TUPLE_COMPARISON = "comparingResults";
}
public static class MetricNames {
private MetricNames() {}
public static final String KAFKA_RECORD_READ = "kafkaRecordsRead";
public static final String KAFKA_BYTES_READ = "kafkaBytesRead";
public static final String TRAFFIC_STREAMS_READ = "trafficStreamsRead";
public static final String TRANSFORM_HEADER_PARSE = "parsedHeader";
public static final String TRANSFORM_PAYLOAD_PARSE_REQUIRED = "parsedPayload";
public static final String TRANSFORM_PAYLOAD_PARSE_SUCCESS = "parsedPayloadSuccess";
public static final String TRANSFORM_JSON_REQUIRED = "transformedJsonRequired";
public static final String TRANSFORM_JSON_SUCCEEDED = "transformedJsonSucceeded";
public static final String TRANSFORM_PAYLOAD_BYTES_IN = "originalPayloadBytesIn";
public static final String TRANSFORM_UNCOMPRESSED_BYTES_IN = "uncompressedBytesIn";
public static final String TRANSFORM_UNCOMPRESSED_BYTES_OUT = "uncompressedBytesOut";
public static final String TRANSFORM_FINAL_PAYLOAD_BYTES_OUT = "finalPayloadBytesOut";
public static final String TRANSFORM_SUCCESS = "transformSuccess";
public static final String TRANSFORM_SKIPPED = "transformSkipped";
public static final String TRANSFORM_ERROR = "transformError";
public static final String TRANSFORM_BYTES_IN = "transformBytesIn";
public static final String TRANSFORM_BYTES_OUT = "transformBytesOut";
public static final String TRANSFORM_CHUNKS_IN = "transformChunksIn";
public static final String TRANSFORM_CHUNKS_OUT = "transformChunksOut";
public static final String NETTY_SCHEDULE_LAG = "scheduleLag";
public static final String NUM_REQUEST_RETRIES = "numRetriedRequests";
public static final String SOURCE_TO_TARGET_REQUEST_LAG = "lagBetweenSourceAndTargetRequests";
public static final String ACTIVE_CHANNELS_YET_TO_BE_FULLY_DISCARDED = "activeReplayerChannels";
public static final String NONRETRYABLE_CONNECTION_FAILURES = "nonRetryableConnectionFailures";
public static final String ACTIVE_TARGET_CONNECTIONS = "activeTargetConnections";
public static final String CONNECTIONS_OPENED = "connectionsOpened";
public static final String CONNECTIONS_CLOSED = "connectionsClosedCount";
public static final String BYTES_WRITTEN_TO_TARGET = "bytesWrittenToTarget";
public static final String BYTES_READ_FROM_TARGET = "bytesReadFromTarget";
public static final String TUPLE_COMPARISON = "tupleComparison";
}
public interface IAccumulationScope extends IScopedInstrumentationAttributes {}
public interface IChannelKeyContext
extends
IAccumulationScope,
org.opensearch.migrations.tracing.commoncontexts.IConnectionContext {
String ACTIVITY_NAME = ActivityNames.CHANNEL;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
// do not add this as a property
// because its components are already being added in the IConnectionContext implementation
ISourceTrafficChannelKey getChannelKey();
default String getConnectionId() {
return getChannelKey().getConnectionId();
}
default String getNodeId() {
return getChannelKey().getNodeId();
}
ISocketContext createSocketContext();
void addFailedChannelCreation();
}
public interface ISocketContext extends IAccumulationScope, IWithTypedEnclosingScope {
public static final String ACTIVITY_NAME = ActivityNames.TCP_CONNECTION;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
}
public interface IKafkaRecordContext extends IAccumulationScope, IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.RECORD_LIFETIME;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
static final AttributeKey RECORD_ID_KEY = AttributeKey.stringKey("recordId");
String getRecordId();
@Override
default AttributesBuilder fillAttributesForSpansBelow(AttributesBuilder builder) {
return IAccumulationScope.super.fillAttributesForSpansBelow(builder.put(RECORD_ID_KEY, getRecordId()));
}
ITrafficStreamsLifecycleContext createTrafficLifecyleContext(ITrafficStreamKey tsk);
}
public interface ITrafficStreamsLifecycleContext
extends
IAccumulationScope,
IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.TRAFFIC_STREAM_LIFETIME;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
ITrafficStreamKey getTrafficStreamKey();
IChannelKeyContext getChannelKeyContext();
default String getConnectionId() {
return getChannelKey().getConnectionId();
}
default ISourceTrafficChannelKey getChannelKey() {
return getChannelKeyContext().getChannelKey();
}
IReplayerHttpTransactionContext createHttpTransactionContext(
UniqueReplayerRequestKey requestKey,
Instant sourceTimestamp
);
}
public interface IReplayerHttpTransactionContext
extends
org.opensearch.migrations.tracing.commoncontexts.IHttpTransactionContext,
IAccumulationScope,
IWithTypedEnclosingScope {
AttributeKey REPLAYER_REQUEST_INDEX_KEY = AttributeKey.longKey("replayerRequestIndex");
String ACTIVITY_NAME = ActivityNames.HTTP_TRANSACTION;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
UniqueReplayerRequestKey getReplayerRequestKey();
IChannelKeyContext getChannelKeyContext();
Instant getTimeOfOriginalRequest();
default String getConnectionId() {
return getChannelKey().getConnectionId();
}
default ISourceTrafficChannelKey getChannelKey() {
return getChannelKeyContext().getChannelKey();
}
default long getSourceRequestIndex() {
return getReplayerRequestKey().getSourceRequestIndex();
}
default long replayerRequestIndex() {
return getReplayerRequestKey().getReplayerRequestIndex();
}
@Override
default AttributesBuilder fillAttributesForSpansBelow(AttributesBuilder builder) {
return org.opensearch.migrations.tracing.commoncontexts.IHttpTransactionContext.super.fillAttributesForSpansBelow(
builder
).put(REPLAYER_REQUEST_INDEX_KEY, replayerRequestIndex());
}
IRequestAccumulationContext createRequestAccumulationContext();
IResponseAccumulationContext createResponseAccumulationContext();
IRequestTransformationContext createTransformationContext();
IScheduledContext createScheduledContext(Instant timestamp);
ITargetRequestContext createTargetRequestContext();
ITupleHandlingContext createTupleContext();
}
public interface IRequestAccumulationContext
extends
IAccumulationScope,
IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.ACCUMULATING_REQUEST;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
}
public interface IResponseAccumulationContext
extends
IAccumulationScope,
IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.ACCUMULATING_RESPONSE;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
}
public interface IRequestTransformationContext
extends
IAccumulationScope,
IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.TRANSFORMATION;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
void onHeaderParse();
void onPayloadParse();
void onPayloadParseSuccess();
void onJsonPayloadParseRequired();
void onJsonPayloadParseSucceeded();
void onPayloadBytesIn(int inputSize);
void onUncompressedBytesIn(int inputSize);
void onUncompressedBytesOut(int inputSize);
void onFinalBytesOut(int outputSize);
void onTransformSuccess();
void onTransformSkip();
void onTransformFailure();
void aggregateInputChunk(int sizeInBytes);
void aggregateOutputChunk(int sizeInBytes);
}
public interface IScheduledContext
extends
IAccumulationScope,
IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.SCHEDULED;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
}
public interface ITargetRequestContext
extends
IAccumulationScope,
IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.TARGET_TRANSACTION;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
void onBytesSent(int size);
void onBytesReceived(int size);
IRequestConnectingContext createHttpConnectingContext();
IRequestSendingContext createHttpSendingContext();
IWaitingForHttpResponseContext createWaitingForResponseContext();
IReceivingHttpResponseContext createHttpReceivingContext();
}
public interface IRequestConnectingContext
extends
IAccumulationScope,
IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.REQUEST_CONNECTING;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
}
public interface IRequestSendingContext
extends
IAccumulationScope,
IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.REQUEST_SENDING;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
}
public interface IWaitingForHttpResponseContext
extends
IAccumulationScope,
IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.WAITING_FOR_RESPONSE;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
}
public interface IReceivingHttpResponseContext
extends
IAccumulationScope,
IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.RECEIVING_RESPONSE;
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
}
public interface ITupleHandlingContext
extends
IAccumulationScope,
IWithTypedEnclosingScope {
String ACTIVITY_NAME = ActivityNames.TUPLE_COMPARISON;
AttributeKey SOURCE_STATUS_CODE_KEY = AttributeKey.longKey("sourceStatusCode");
AttributeKey TARGET_STATUS_CODE_KEY = AttributeKey.longKey("targetStatusCode");
AttributeKey STATUS_CODE_MATCH_KEY = AttributeKey.booleanKey("statusCodesMatch");
AttributeKey METHOD_KEY = AttributeKey.stringKey("method");
AttributeKey HTTP_VERSION_KEY = AttributeKey.stringKey("version"); // for the span, not metric
AttributeKey ENDPOINT_KEY = AttributeKey.stringKey("endpoint"); // for the span, not metric
@Override
default String getActivityName() {
return ACTIVITY_NAME;
}
void setSourceStatus(Integer sourceStatus);
void setTargetStatus(Integer targetStatus);
void setMethod(String method);
void setEndpoint(String endpointUrl);
void setHttpVersion(String string);
default UniqueReplayerRequestKey getReplayerRequestKey() {
return getLogicalEnclosingScope().getReplayerRequestKey();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy