IGNITE-13060 Fixed package names + performance optimizations for NoopTracingSpi case
Signed-off-by: Ivan Rakov <ivan.glukos@gmail.com>
diff --git a/modules/core/src/main/java/org/apache/ignite/Ignite.java b/modules/core/src/main/java/org/apache/ignite/Ignite.java
index 03a1296..194a7e9 100644
--- a/modules/core/src/main/java/org/apache/ignite/Ignite.java
+++ b/modules/core/src/main/java/org/apache/ignite/Ignite.java
@@ -31,7 +31,8 @@
import org.apache.ignite.configuration.DataStorageConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.NearCacheConfiguration;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
+import org.apache.ignite.lang.IgniteExperimental;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.plugin.IgnitePlugin;
@@ -755,5 +756,6 @@
* </ul>
* @return {@link TracingConfigurationManager} instance.
*/
+ @IgniteExperimental
public @NotNull TracingConfigurationManager tracingConfiguration();
}
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
index abccc9c..d760dce 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
@@ -47,8 +47,8 @@
import org.apache.ignite.failure.FailureHandler;
import org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager;
import org.apache.ignite.internal.processors.odbc.ClientListenerProcessor;
+import org.apache.ignite.spi.tracing.TracingSpi;
import org.apache.ignite.internal.util.typedef.internal.A;
-import org.apache.ignite.internal.processors.tracing.TracingSpi;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteAsyncCallback;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 07eebef..f578f33 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -192,7 +192,7 @@
import org.apache.ignite.internal.processors.subscription.GridInternalSubscriptionProcessor;
import org.apache.ignite.internal.processors.task.GridTaskProcessor;
import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
import org.apache.ignite.internal.suggestions.GridPerformanceSuggestions;
import org.apache.ignite.internal.suggestions.JvmConfigurationSuggestions;
import org.apache.ignite.internal.suggestions.OsConfigurationSuggestions;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index 0ff39e6..b9e7621 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -81,7 +81,7 @@
import org.apache.ignite.internal.processors.igfs.IgfsThreadFactory;
import org.apache.ignite.internal.processors.igfs.IgfsUtils;
import org.apache.ignite.internal.processors.resource.GridSpringResourceContext;
-import org.apache.ignite.internal.processors.tracing.NoopTracingSpi;
+import org.apache.ignite.spi.tracing.NoopTracingSpi;
import org.apache.ignite.internal.util.GridConcurrentHashSet;
import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.internal.util.StripedExecutor;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/commandline/TracingConfigurationCommand.java b/modules/core/src/main/java/org/apache/ignite/internal/commandline/TracingConfigurationCommand.java
index 3ac6380..cb87946 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/commandline/TracingConfigurationCommand.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/commandline/TracingConfigurationCommand.java
@@ -31,7 +31,7 @@
import org.apache.ignite.internal.commandline.cache.argument.TracingConfigurationCommandArg;
import org.apache.ignite.internal.commandline.tracing.configuration.TracingConfigurationArguments;
import org.apache.ignite.internal.commandline.tracing.configuration.TracingConfigurationSubcommand;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.Scope;
import org.apache.ignite.internal.visor.tracing.configuration.VisorTracingConfigurationTask;
import org.apache.ignite.internal.visor.tracing.configuration.VisorTracingConfigurationTaskArg;
import org.apache.ignite.internal.visor.tracing.configuration.VisorTracingConfigurationTaskResult;
@@ -46,8 +46,8 @@
import static org.apache.ignite.internal.commandline.tracing.configuration.TracingConfigurationSubcommand.GET_ALL;
import static org.apache.ignite.internal.commandline.tracing.configuration.TracingConfigurationSubcommand.RESET_ALL;
import static org.apache.ignite.internal.commandline.tracing.configuration.TracingConfigurationSubcommand.of;
-import static org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
-import static org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters.SAMPLING_RATE_NEVER;
+import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
+import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_NEVER;
/**
* Commands associated with tracing configuration functionality.
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/argument/TracingConfigurationCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/argument/TracingConfigurationCommandArg.java
index 2ccd51c..65b2b39 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/argument/TracingConfigurationCommandArg.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/argument/TracingConfigurationCommandArg.java
@@ -19,9 +19,8 @@
import org.apache.ignite.internal.commandline.CommandList;
import org.apache.ignite.internal.commandline.argument.CommandArg;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.Scope;
import org.apache.ignite.internal.processors.tracing.Span;
-
import java.util.Arrays;
import java.util.Set;
import java.util.stream.Collectors;
@@ -48,7 +47,7 @@
* Set of {@link Scope} that defines which sub-traces will be included in given trace. In other words, if child's
* span scope is equals to parent's scope or it belongs to the parent's span included scopes, then given child span
* will be attached to the current trace, otherwise it'll be skipped. See {@link
- * Span#isChainable(org.apache.ignite.internal.processors.tracing.Scope)} for more details.
+ * Span#isChainable(Scope)} for more details.
*/
INCLUDED_SCOPES("--included-scopes");
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/commandline/tracing/configuration/TracingConfigurationArguments.java b/modules/core/src/main/java/org/apache/ignite/internal/commandline/tracing/configuration/TracingConfigurationArguments.java
index ac56974..e211942 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/commandline/tracing/configuration/TracingConfigurationArguments.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/commandline/tracing/configuration/TracingConfigurationArguments.java
@@ -19,7 +19,7 @@
import java.util.Collections;
import java.util.Set;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.Scope;
import org.apache.ignite.internal.processors.tracing.Span;
import org.apache.ignite.internal.visor.tracing.configuration.VisorTracingConfigurationItem;
import org.jetbrains.annotations.NotNull;
@@ -55,7 +55,7 @@
* In other words, if child's span scope is equals to parent's scope
* or it belongs to the parent's span included scopes, then given child span will be attached to the current trace,
* otherwise it'll be skipped.
- * See {@link Span#isChainable(org.apache.ignite.internal.processors.tracing.Scope)} for more details.
+ * See {@link Span#isChainable(Scope)} for more details.
*/
private TracingConfigurationArguments(
TracingConfigurationSubcommand cmd,
@@ -153,7 +153,7 @@
* In other words, if child's span scope is equals to parent's scope
* or it belongs to the parent's span included scopes, then given child span will be attached to the current trace,
* otherwise it'll be skipped.
- * See {@link Span#isChainable(org.apache.ignite.internal.processors.tracing.Scope)} for more details.
+ * See {@link Span#isChainable(Scope)} for more details.
* @return Builder
*/
@SuppressWarnings("UnusedReturnValue")
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
index c39342a..70fb45d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
@@ -1369,7 +1369,7 @@
Runnable c = new TraceRunnable(ctx.tracing(), COMMUNICATION_REGULAR_PROCESS) {
@Override public void execute() {
try {
- MTC.span().addTag(SpanTags.MESSAGE, traceName(msg));
+ MTC.span().addTag(SpanTags.MESSAGE, () -> traceName(msg));
threadProcessingMessage(true, msgC);
@@ -1387,7 +1387,7 @@
}
};
- MTC.span().addLog("Regular process queued");
+ MTC.span().addLog(() -> "Regular process queued");
if (msg.topicOrdinal() == TOPIC_IO_TEST.ordinal()) {
IgniteIoTestMessage msg0 = (IgniteIoTestMessage)msg.message();
@@ -1790,7 +1790,7 @@
};
try {
- MTC.span().addLog("Ordered process queued");
+ MTC.span().addLog(() -> "Ordered process queued");
pools.poolForPolicy(plc).execute(c);
}
@@ -1847,7 +1847,7 @@
* @param secSubjId Security subject that will be used to open a security session.
*/
private void invokeListener(Byte plc, GridMessageListener lsnr, UUID nodeId, Object msg, UUID secSubjId) {
- MTC.span().addLog("Invoke listener");
+ MTC.span().addLog(() -> "Invoke listener");
Byte oldPlc = CUR_PLC.get();
@@ -2022,7 +2022,7 @@
assert topicOrd >= 0 || !(topic instanceof GridTopic) : msg;
try (TraceSurroundings ignored = support(null)) {
- MTC.span().addLog("Create communication msg - " + traceName(msg));
+ MTC.span().addLog(() -> "Create communication msg - " + traceName(msg));
GridIoMessage ioMsg = createGridIoMessage(topic, topicOrd, msg, plc, ordered, timeout, skipOnTimeout);
@@ -3852,7 +3852,9 @@
try (TraceSurroundings ignore = support(ctx.tracing().create(
COMMUNICATION_ORDERED_PROCESS, mc.parentSpan))) {
try {
- MTC.span().addTag(SpanTags.MESSAGE, traceName(mc.message));
+ OrderedMessageContainer fmc = mc;
+
+ MTC.span().addTag(SpanTags.MESSAGE, () -> traceName(fmc.message));
invokeListener(plc, lsnr, nodeId, mc.message.message(), secSubjId(mc.message));
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/tracing/GridTracingManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/tracing/GridTracingManager.java
index ea26c4c..9fb749e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/tracing/GridTracingManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/tracing/GridTracingManager.java
@@ -29,25 +29,26 @@
import org.apache.ignite.internal.processors.tracing.SpanImpl;
import org.apache.ignite.internal.processors.tracing.configuration.GridTracingConfigurationManager;
import org.apache.ignite.internal.processors.tracing.NoopSpan;
-import org.apache.ignite.internal.processors.tracing.NoopTracingSpi;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.NoopTracingSpi;
+import org.apache.ignite.spi.tracing.Scope;
import org.apache.ignite.internal.processors.tracing.Span;
import org.apache.ignite.internal.processors.tracing.SpanTags;
import org.apache.ignite.internal.processors.tracing.SpanType;
import org.apache.ignite.internal.processors.tracing.Tracing;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
-import org.apache.ignite.internal.processors.tracing.TracingSpi;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingSpi;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.internal.processors.tracing.messages.TraceableMessagesHandler;
import org.apache.ignite.internal.util.typedef.internal.LT;
+import org.apache.ignite.logger.NullLogger;
import org.apache.ignite.spi.IgniteSpiException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import static org.apache.ignite.internal.processors.tracing.SpanTags.NODE;
-import static org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
-import static org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters.SAMPLING_RATE_NEVER;
+import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
+import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_NEVER;
import static org.apache.ignite.internal.util.GridClientByteUtils.bytesToInt;
import static org.apache.ignite.internal.util.GridClientByteUtils.bytesToShort;
import static org.apache.ignite.internal.util.GridClientByteUtils.intToBytes;
@@ -102,6 +103,13 @@
/** Minor span serialization protocol version. */
private static final byte MINOR_PROTOCOL_VERSION = 0;
+ /** Noop traceable message handler. */
+ private static final TraceableMessagesHandler NOOP_TRACEABLE_MSG_HANDLER =
+ new TraceableMessagesHandler(new NoopTracing(), new NullLogger());
+
+ /** Flag that indicates that noop tracing spi is used. */
+ private boolean noop = true;
+
/**
* Constructor.
*
@@ -124,6 +132,8 @@
@Override public void start() throws IgniteCheckedException {
try {
startSpi();
+
+ noop = getSpi() instanceof NoopTracingSpi;
}
catch (IgniteSpiException e) {
log.warning("Failed to start tracing processor with spi: " + getSpi().getName()
@@ -156,18 +166,21 @@
if (span == null)
return null;
- span.addTag(SpanTags.NODE_ID, ctx.localNodeId().toString());
- span.addTag(SpanTags.tag(NODE, SpanTags.NAME), ctx.igniteInstanceName());
+ span.addTag(SpanTags.NODE_ID, () -> ctx.localNodeId().toString());
+ span.addTag(SpanTags.tag(NODE, SpanTags.NAME), ctx::igniteInstanceName);
ClusterNode locNode = ctx.discovery().localNode();
if (locNode != null && locNode.consistentId() != null)
- span.addTag(SpanTags.tag(NODE, SpanTags.CONSISTENT_ID), locNode.consistentId().toString());
+ span.addTag(SpanTags.tag(NODE, SpanTags.CONSISTENT_ID), () -> locNode.consistentId().toString());
return span;
}
/** {@inheritDoc} */
@Override public Span create(@NotNull SpanType spanType, @Nullable Span parentSpan) {
+ if (noop)
+ return NoopSpan.INSTANCE;
+
return enrichWithLocalNodeParameters(
generateSpan(
parentSpan,
@@ -177,6 +190,9 @@
/** {@inheritDoc} */
@Override public Span create(@NotNull SpanType spanType, @Nullable byte[] serializedParentSpan) {
+ if (noop)
+ return NoopSpan.INSTANCE;
+
// 1 byte: special flags;
// 1 bytes: spi type;
// 2 bytes: major protocol version;
@@ -305,14 +321,21 @@
@Nullable Span parentSpan,
@Nullable String lb
) {
- return enrichWithLocalNodeParameters(generateSpan(
- parentSpan,
- spanType,
- lb));
+ if (noop)
+ return NoopSpan.INSTANCE;
+
+ return enrichWithLocalNodeParameters(
+ generateSpan(
+ parentSpan,
+ spanType,
+ lb));
}
/** {@inheritDoc} */
@Override public byte[] serialize(@NotNull Span span) {
+ if (noop)
+ return NoopTracing.NOOP_SERIALIZED_SPAN;
+
// 1 byte: special flags;
// 1 bytes: spi type;
// 2 bytes: major protocol version;
@@ -465,6 +488,9 @@
/** {@inheritDoc} */
@Override public TraceableMessagesHandler messages() {
+ if (noop)
+ return NOOP_TRACEABLE_MSG_HANDLER;
+
return msgHnd;
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
index d59b286..40f071e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
@@ -2141,7 +2141,7 @@
return;
Span affCalcSpan = cctx.kernalContext().tracing().create(AFFINITY_CALCULATION, fut.span())
- .addTag("cache.group", desc.cacheOrGroupName());
+ .addTag("cache.group", desc::cacheOrGroupName);
boolean latePrimary = cache.rebalanceEnabled;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index 300b523..e9e0458 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@ -666,19 +666,21 @@
Span span = cctx.kernalContext().tracing().create(EXCHANGE_FUTURE, evt.span());
if (exchId != null) {
- span.addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), evt.eventNode().id().toString());
+ GridDhtPartitionExchangeId exchIdf = exchId;
+
+ span.addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), () -> evt.eventNode().id().toString());
span.addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID),
- evt.eventNode().consistentId().toString());
- span.addTag(SpanTags.tag(SpanTags.EVENT, SpanTags.TYPE), evt.type());
- span.addTag(SpanTags.tag(SpanTags.EXCHANGE, SpanTags.ID), exchId.toString());
+ () -> evt.eventNode().consistentId().toString());
+ span.addTag(SpanTags.tag(SpanTags.EVENT, SpanTags.TYPE), () -> String.valueOf(evt.type()));
+ span.addTag(SpanTags.tag(SpanTags.EXCHANGE, SpanTags.ID), () -> String.valueOf(exchIdf.toString()));
span.addTag(SpanTags.tag(SpanTags.INITIAL, SpanTags.TOPOLOGY_VERSION, SpanTags.MAJOR),
- exchId.topologyVersion().topologyVersion());
+ () -> String.valueOf(exchIdf.topologyVersion().topologyVersion()));
span.addTag(SpanTags.tag(SpanTags.INITIAL, SpanTags.TOPOLOGY_VERSION, SpanTags.MINOR),
- exchId.topologyVersion().minorTopologyVersion());
+ () -> String.valueOf(exchIdf.topologyVersion().minorTopologyVersion()));
}
- span.addTag(SpanTags.NODE_ID, cctx.localNodeId().toString());
- span.addLog("Created");
+ span.addTag(SpanTags.NODE_ID, () -> cctx.localNodeId().toString());
+ span.addLog(() -> "Created");
exchFut.span(span);
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index de27a5d..4bad231 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -833,7 +833,7 @@
", exchangeFreeSwitch=" + exchCtx.exchangeFreeSwitch() + ']');
}
- span.addLog("Exchange parameters initialization");
+ span.addLog(() -> "Exchange parameters initialization");
timeBag.finishGlobalStage("Exchange parameters initialization");
@@ -2375,13 +2375,16 @@
if (res != null) {
span.addTag(SpanTags.tag(SpanTags.RESULT, SpanTags.TOPOLOGY_VERSION, SpanTags.MAJOR),
- res.topologyVersion());
+ () -> String.valueOf(res.topologyVersion()));
span.addTag(SpanTags.tag(SpanTags.RESULT, SpanTags.TOPOLOGY_VERSION, SpanTags.MINOR),
- res.minorTopologyVersion());
+ () -> String.valueOf(res.minorTopologyVersion()));
}
- if (err != null)
- span.addTag(SpanTags.ERROR, err.toString());
+ if (err != null) {
+ Throwable errf = err;
+
+ span.addTag(SpanTags.ERROR, errf::toString);
+ }
try {
waitUntilNewCachesAreRegistered();
@@ -2527,7 +2530,7 @@
if (super.onDone(res, err)) {
afterLsnrCompleteFut.onDone();
- span.addLog("Completed partition exchange");
+ span.addLog(() -> "Completed partition exchange");
span.end();
@@ -3604,7 +3607,7 @@
try {
initFut.get();
- span.addLog("Waiting for all single messages");
+ span.addLog(() -> "Waiting for all single messages");
timeBag.finishGlobalStage("Waiting for all single messages");
@@ -3722,7 +3725,7 @@
});
}
- span.addLog("Affinity recalculation (crd)");
+ span.addLog(() -> "Affinity recalculation (crd)");
timeBag.finishGlobalStage("Affinity recalculation (crd)");
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
index 593d623..b6ce2a0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
@@ -172,12 +172,12 @@
null,
lb));
- MTC.span().addTag("isolation", isolation.name());
- MTC.span().addTag("concurrency", concurrency.name());
- MTC.span().addTag("timeout", timeout);
+ MTC.span().addTag("isolation", isolation::name);
+ MTC.span().addTag("concurrency", concurrency::name);
+ MTC.span().addTag("timeout", () -> String.valueOf(timeout));
if (lb != null)
- MTC.span().addTag("label", lb);
+ MTC.span().addTag("label", () -> lb);
try {
GridNearTxLocal tx = cctx.tm().userTx(sysCacheCtx);
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/DeferredSpan.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/DeferredSpan.java
index 83f41d5..af3da2a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/DeferredSpan.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/DeferredSpan.java
@@ -18,8 +18,10 @@
package org.apache.ignite.internal.processors.tracing;
import java.util.Collections;
-import java.util.Map;
import java.util.Set;
+import java.util.function.Supplier;
+import org.apache.ignite.spi.tracing.Scope;
+import org.apache.ignite.spi.tracing.SpanStatus;
/**
* Encapsulates concept of a deferred-initialized span. It's used to overcome OpenCensus span implementation, that starts
@@ -34,6 +36,7 @@
*
* @param serializedSpan Serialized span bytes.
*/
+ @SuppressWarnings("AssignmentOrReturnOfFieldWithMutableType")
public DeferredSpan(byte[] serializedSpan) {
this.serializedSpan = serializedSpan;
}
@@ -41,27 +44,18 @@
/**
* @return Serialized span.
*/
+ @SuppressWarnings("AssignmentOrReturnOfFieldWithMutableType")
public byte[] serializedSpan() {
return serializedSpan;
}
/** {@inheritDoc} */
- @Override public Span addTag(String tagName, String tagVal) {
+ @Override public Span addTag(String tagName, Supplier<String> tagValSupplier) {
return this;
}
/** {@inheritDoc} */
- @Override public Span addTag(String tagName, long tagVal) {
- return this;
- }
-
- /** {@inheritDoc} */
- @Override public Span addLog(String logDesc) {
- return this;
- }
-
- /** {@inheritDoc} */
- @Override public Span addLog(String logDesc, Map<String, String> attrs) {
+ @Override public Span addLog(Supplier<String> logDescSupplier) {
return this;
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpan.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpan.java
index fc22c2f..b1eaa2a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpan.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpan.java
@@ -18,8 +18,10 @@
package org.apache.ignite.internal.processors.tracing;
import java.util.Collections;
-import java.util.Map;
import java.util.Set;
+import java.util.function.Supplier;
+import org.apache.ignite.spi.tracing.Scope;
+import org.apache.ignite.spi.tracing.SpanStatus;
/**
* Noop and null-safe implementation of Span.
@@ -36,22 +38,12 @@
}
/** {@inheritDoc} */
- @Override public Span addTag(String tagName, String tagVal) {
+ @Override public Span addTag(String tagName, Supplier<String> tagValSupplier) {
return this;
}
/** {@inheritDoc} */
- @Override public Span addTag(String tagName, long tagVal) {
- return this;
- }
-
- /** {@inheritDoc} */
- @Override public Span addLog(String logDesc) {
- return this;
- }
-
- /** {@inheritDoc} */
- @Override public Span addLog(String logDesc, Map<String, String> attrs) {
+ @Override public Span addLog(Supplier<String> logDescSupplier) {
return this;
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopTracing.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopTracing.java
index 2e976b5..0427bb0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopTracing.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopTracing.java
@@ -18,7 +18,7 @@
package org.apache.ignite.internal.processors.tracing;
import org.apache.ignite.internal.processors.tracing.configuration.NoopTracingConfigurationManager;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
import org.apache.ignite.internal.processors.tracing.messages.TraceableMessagesHandler;
import org.apache.ignite.logger.NullLogger;
import org.jetbrains.annotations.NotNull;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/Span.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/Span.java
index 0da423e..3fbeb23 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/Span.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/Span.java
@@ -17,8 +17,10 @@
package org.apache.ignite.internal.processors.tracing;
-import java.util.Map;
import java.util.Set;
+import java.util.function.Supplier;
+import org.apache.ignite.spi.tracing.Scope;
+import org.apache.ignite.spi.tracing.SpanStatus;
/**
* Logical piece of a trace that represents a single operation.
@@ -28,37 +30,23 @@
* You can use tracing to debug errors and latency issues in your applications.
*/
public interface Span {
-
/**
* Adds tag to span with {@code String} value.
*
* @param tagName Tag name.
- * @param tagVal Tag value.
+ * @param tagValSupplier Tag value supplier. Supplier is used instead of strict tag value cause of it's lazy nature.
+ * So that it's possible not to generate String tag value in case of NoopSpan.
*/
- Span addTag(String tagName, String tagVal);
-
- /**
- * Adds tag to span with {@code long} value.
- *
- * @param tagName Tag name.
- * @param tagVal Tag value.
- */
- Span addTag(String tagName, long tagVal);
+ Span addTag(String tagName, Supplier<String> tagValSupplier);
/**
* Logs work to span.
*
- * @param logDesc Log description.
+ * @param logDescSupplier Log description supplier.
+ * Supplier is used instead of strict log description cause of it's lazy nature.
+ * So that it's possible not to generate String log description in case of NoopSpan.
*/
- Span addLog(String logDesc);
-
- /**
- * Adds log to span with additional attributes.
- *
- * @param logDesc Log description.
- * @param attrs Attributes.
- */
- Span addLog(String logDesc, Map<String, String> attrs);
+ Span addLog(Supplier<String> logDescSupplier);
/**
* Explicitly set status for span.
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanImpl.java
index 7f34e56..bf98b79 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanImpl.java
@@ -17,8 +17,11 @@
package org.apache.ignite.internal.processors.tracing;
-import java.util.Map;
import java.util.Set;
+import java.util.function.Supplier;
+import org.apache.ignite.spi.tracing.Scope;
+import org.apache.ignite.spi.tracing.SpanStatus;
+import org.apache.ignite.spi.tracing.SpiSpecificSpan;
/**
* Implementation of a {@link Span}
@@ -49,30 +52,14 @@
this.includedScopes = includedScopes;
}
- /** {@inheritDoc} */
- @Override public Span addTag(String tagName, String tagVal) {
- spiSpecificSpan.addTag(tagName, tagVal);
+ @Override public Span addTag(String tagName, Supplier<String> tagValSupplier) {
+ spiSpecificSpan.addTag(tagName, tagValSupplier.get());
return this;
}
- /** {@inheritDoc} */
- @Override public Span addTag(String tagName, long tagVal) {
- spiSpecificSpan.addTag(tagName, tagVal);
-
- return this;
- }
-
- /** {@inheritDoc} */
- @Override public Span addLog(String logDesc) {
- spiSpecificSpan.addLog(logDesc);
-
- return this;
- }
-
- /** {@inheritDoc} */
- @Override public Span addLog(String logDesc, Map<String, String> attrs) {
- spiSpecificSpan.addLog(logDesc, attrs);
+ @Override public Span addLog(Supplier<String> logDescSupplier) {
+ spiSpecificSpan.addLog(logDescSupplier.get());
return this;
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanType.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanType.java
index d9df433..6aa282e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanType.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanType.java
@@ -17,6 +17,8 @@
package org.apache.ignite.internal.processors.tracing;
+import org.apache.ignite.spi.tracing.Scope;
+
/**
* List of span type names used in appropriate sub-systems.
*/
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/Tracing.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/Tracing.java
index fd2f37e..7b18093 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/Tracing.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/Tracing.java
@@ -17,7 +17,7 @@
package org.apache.ignite.internal.processors.tracing;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
import org.apache.ignite.internal.processors.tracing.messages.TraceableMessagesHandler;
import org.jetbrains.annotations.NotNull;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/GridTracingConfigurationManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/GridTracingConfigurationManager.java
index 20fcb26..7e3fa08 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/GridTracingConfigurationManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/GridTracingConfigurationManager.java
@@ -26,9 +26,12 @@
import org.apache.ignite.internal.GridKernalContext;
import org.apache.ignite.internal.processors.metastorage.DistributedMetaStorage;
import org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.Scope;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
import org.apache.ignite.internal.util.typedef.internal.LT;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/NoopTracingConfigurationManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/NoopTracingConfigurationManager.java
index 5fa18da..3345148 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/NoopTracingConfigurationManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/NoopTracingConfigurationManager.java
@@ -21,7 +21,10 @@
import java.util.Map;
import org.apache.ignite.IgniteException;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.Scope;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/messages/TraceableMessagesHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/messages/TraceableMessagesHandler.java
index 27546e5..5189aed 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/messages/TraceableMessagesHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/messages/TraceableMessagesHandler.java
@@ -53,7 +53,7 @@
if (msg.spanContainer().span() == NoopSpan.INSTANCE && msg.spanContainer().serializedSpanBytes() != null)
msg.spanContainer().span(
spanMgr.create(TraceableMessagesTable.traceName(msg.getClass()), msg.spanContainer().serializedSpanBytes())
- .addLog("Received")
+ .addLog(() -> "Received")
);
}
@@ -85,7 +85,7 @@
msg.spanContainer().span(
spanMgr.create(TraceableMessagesTable.traceName(msg.getClass()), parent.spanContainer().span())
- .addLog("Created")
+ .addLog(() -> "Created")
);
return msg;
@@ -100,7 +100,7 @@
if (!msg.spanContainer().span().isEnded())
msg.spanContainer().span()
- .addLog("Processed")
+ .addLog(() -> "Processed")
.end();
}
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
index 46cf0f2..ed208e1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
@@ -1570,7 +1570,7 @@
Span span = tracing.create(SpanType.COMMUNICATION_SOCKET_WRITE, req.span());
try (TraceSurroundings ignore = span.equals(NoopSpan.INSTANCE) ? null : MTC.support(span)) {
- MTC.span().addTag(SpanTags.MESSAGE, traceName(msg));
+ MTC.span().addTag(SpanTags.MESSAGE, () -> traceName(msg));
assert msg != null;
@@ -1751,7 +1751,7 @@
Span span = tracing.create(SpanType.COMMUNICATION_SOCKET_WRITE, req.span());
try (TraceSurroundings ignore = span.equals(NoopSpan.INSTANCE) ? null : MTC.support(span)) {
- MTC.span().addTag(SpanTags.MESSAGE, traceName(msg));
+ MTC.span().addTag(SpanTags.MESSAGE, () -> traceName(msg));
if (writer != null)
writer.setCurrentWriteClass(msg.getClass());
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
index cc20748..7b8e6c0b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
@@ -309,7 +309,7 @@
boolean res = queue.offerFirst(writeFut);
- MTC.span().addLog("Added to system queue - " + traceName(writeFut.message()));
+ MTC.span().addLog(() -> "Added to system queue - " + traceName(writeFut.message()));
assert res : "Future was not added to queue";
@@ -339,7 +339,7 @@
boolean res = queue.offer(writeFut);
- MTC.span().addLog("Added to queue - " + traceName(writeFut.message()));
+ MTC.span().addLog(() -> "Added to queue - " + traceName(writeFut.message()));
assert res : "Future was not added to queue";
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationItem.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationItem.java
index 7ac1d4a..152233d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationItem.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationItem.java
@@ -22,7 +22,7 @@
import java.io.ObjectOutput;
import java.util.Set;
import org.apache.ignite.internal.dto.IgniteDataTransferObject;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.Scope;
import org.apache.ignite.internal.processors.tracing.Span;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -56,7 +56,7 @@
* Set of {@link Scope} that defines which sub-traces will be included in given trace. In other words, if child's
* span scope is equals to parent's scope or it belongs to the parent's span included scopes, then given child span
* will be attached to the current trace, otherwise it'll be skipped. See {@link
- * Span#isChainable(org.apache.ignite.internal.processors.tracing.Scope)} for more details.
+ * Span#isChainable(Scope)} for more details.
*/
private Set<Scope> includedScopes;
@@ -78,7 +78,7 @@
* In other words, if child's span scope is equals to parent's scope
* or it belongs to the parent's span included scopes, then given child span will be attached to the current trace,
* otherwise it'll be skipped.
- * See {@link Span#isChainable(org.apache.ignite.internal.processors.tracing.Scope)} for more details.
+ * See {@link Span#isChainable(Scope)} for more details.
*/
public VisorTracingConfigurationItem(
Scope scope,
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTask.java
index 09b59d2..5be8d3f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTask.java
@@ -22,9 +22,9 @@
import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.processors.task.GridInternal;
import org.apache.ignite.internal.processors.task.GridVisorManagementTask;
-import org.apache.ignite.internal.processors.tracing.Scope;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+import org.apache.ignite.spi.tracing.Scope;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.visor.VisorJob;
import org.apache.ignite.internal.visor.VisorOneNodeTask;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTaskArg.java
index 1595807..972a0a1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTaskArg.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTaskArg.java
@@ -21,7 +21,7 @@
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.Set;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.Scope;
import org.apache.ignite.internal.processors.tracing.Span;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -55,7 +55,7 @@
* In other words, if child's span scope is equals to parent's scope
* or it belongs to the parent's span included scopes, then given child span will be attached to the current trace,
* otherwise it'll be skipped.
- * See {@link Span#isChainable(org.apache.ignite.internal.processors.tracing.Scope)} for more details.
+ * See {@link Span#isChainable(Scope)} for more details.
*/
public VisorTracingConfigurationTaskArg(
VisorTracingConfigurationOperation op,
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTaskResult.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTaskResult.java
index 34737e9..dd892b2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTaskResult.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/tracing/configuration/VisorTracingConfigurationTaskResult.java
@@ -27,8 +27,8 @@
import java.util.List;
import java.util.function.Consumer;
import org.apache.ignite.internal.dto.IgniteDataTransferObject;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.internal.util.typedef.internal.U;
/**
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 409c595..18d9ad8 100755
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -848,8 +848,8 @@
}
@Override public void onMessage(final GridNioSession ses, Message msg) {
- MTC.span().addLog("Communication received");
- MTC.span().addTag(SpanTags.MESSAGE, traceName(msg));
+ MTC.span().addLog(() -> "Communication received");
+ MTC.span().addTag(SpanTags.MESSAGE, () -> traceName(msg));
ConnectionKey connKey = ses.meta(CONN_IDX_META);
@@ -4172,7 +4172,7 @@
protected void notifyListener(UUID sndId, Message msg, IgniteRunnable msgC) {
CommunicationListener<Message> lsnr = this.lsnr;
- MTC.span().addLog("Communication listeners notified");
+ MTC.span().addLog(() -> "Communication listeners notified");
if (lsnr != null)
// Notify listener of a new message.
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 4a29a9b..4193306 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -753,12 +753,14 @@
TcpDiscoveryJoinRequestMessage joinReqMsg = new TcpDiscoveryJoinRequestMessage(node, discoveryData);
+ TcpDiscoveryNode nodef = node;
+
joinReqMsg.spanContainer().span(
tracing.create(TraceableMessagesTable.traceName(joinReqMsg.getClass()))
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), node.id().toString())
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), () -> nodef.id().toString())
.addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID),
- node.consistentId().toString())
- .addLog("Created")
+ () -> nodef.consistentId().toString())
+ .addLog(() -> "Created")
.end()
);
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index d124224..f9f4208 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -82,7 +82,7 @@
import org.apache.ignite.internal.processors.security.SecurityContext;
import org.apache.ignite.internal.processors.security.SecurityUtils;
import org.apache.ignite.internal.processors.tracing.Span;
-import org.apache.ignite.internal.processors.tracing.SpanStatus;
+import org.apache.ignite.spi.tracing.SpanStatus;
import org.apache.ignite.internal.processors.tracing.SpanTags;
import org.apache.ignite.internal.processors.tracing.messages.SpanContainer;
import org.apache.ignite.internal.processors.tracing.messages.TraceableMessage;
@@ -481,15 +481,16 @@
TcpDiscoveryNodeLeftMessage nodeLeftMsg = new TcpDiscoveryNodeLeftMessage(locNode.id());
Span rootSpan = tracing.create(TraceableMessagesTable.traceName(nodeLeftMsg.getClass()))
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), locNode.id().toString())
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID), locNode.consistentId().toString())
- .addLog("Created");
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), () -> locNode.id().toString())
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID),
+ () -> locNode.consistentId().toString())
+ .addLog(() -> "Created");
nodeLeftMsg.spanContainer().serializedSpanBytes(tracing.serialize(rootSpan));
msgWorker.addMessage(nodeLeftMsg);
- rootSpan.addLog("Sent").end();
+ rootSpan.addLog(() -> "Sent").end();
synchronized (mux) {
long timeout = spi.netTimeout;
@@ -969,17 +970,18 @@
U.marshal(spi.marshaller(), evt));
Span rootSpan = tracing.create(TraceableMessagesTable.traceName(msg.getClass()))
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), getLocalNodeId().toString())
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID), locNode.consistentId().toString())
- .addTag(SpanTags.MESSAGE_CLASS, ((CustomMessageWrapper)evt).delegate().getClass().getSimpleName())
- .addLog("Created");
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), () -> getLocalNodeId().toString())
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID),
+ () -> locNode.consistentId().toString())
+ .addTag(SpanTags.MESSAGE_CLASS, () -> ((CustomMessageWrapper)evt).delegate().getClass().getSimpleName())
+ .addLog(() -> "Created");
// This root span will be parent both from local and remote nodes.
msg.spanContainer().serializedSpanBytes(tracing.serialize(rootSpan));
msgWorker.addMessage(msg);
- rootSpan.addLog("Sent").end();
+ rootSpan.addLog(() -> "Sent").end();
}
catch (IgniteCheckedException e) {
throw new IgniteSpiException("Failed to marshal custom event: " + evt, e);
@@ -1063,9 +1065,10 @@
joinReqMsg.spanContainer().span(
tracing.create(TraceableMessagesTable.traceName(joinReqMsg.getClass()))
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), locNode.id().toString())
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID), locNode.consistentId().toString())
- .addLog("Created")
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), () -> locNode.id().toString())
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID),
+ () -> locNode.consistentId().toString())
+ .addLog(() -> "Created")
);
tracing.messages().beforeSend(joinReqMsg);
@@ -1196,8 +1199,8 @@
log.debug("Discovery SPI has been connected to topology with order: " + locNode.internalOrder());
joinReqMsg.spanContainer().span()
- .addTag(SpanTags.tag(SpanTags.NODE, SpanTags.ORDER), locNode.order())
- .addLog("Joined to ring")
+ .addTag(SpanTags.tag(SpanTags.NODE, SpanTags.ORDER), () -> String.valueOf(locNode.order()))
+ .addLog(() -> "Joined to ring")
.end();
}
@@ -3165,7 +3168,7 @@
if (msg instanceof TraceableMessage)
((TraceableMessage) msg).spanContainer().span()
- .addLog("Ring failed")
+ .addLog(() -> "Ring failed")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -3200,7 +3203,7 @@
if (msg instanceof TraceableMessage)
((TraceableMessage) msg).spanContainer().span()
- .addLog("Local node order not initialized")
+ .addLog(() -> "Local node order not initialized")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4065,15 +4068,16 @@
final UUID locNodeId = getLocalNodeId();
msg.spanContainer().span()
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), node.id().toString())
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID), node.consistentId().toString());
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), () -> node.id().toString())
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID),
+ () -> node.consistentId().toString());
if (locNodeId.equals(node.id())) {
if (log.isDebugEnabled())
log.debug("Received join request for local node, dropping: " + msg);
msg.spanContainer().span()
- .addLog("Dropped")
+ .addLog(() -> "Dropped")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4119,7 +4123,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4141,7 +4145,7 @@
// Ignore this join request since existing node is about to fail
// and new node can continue.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4167,7 +4171,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4211,7 +4215,7 @@
log.debug("Ignoring join request message since node is already in topology: " + msg);
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4233,7 +4237,7 @@
}
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4276,7 +4280,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4316,7 +4320,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4344,7 +4348,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4417,7 +4421,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4471,7 +4475,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4522,7 +4526,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4565,7 +4569,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4612,7 +4616,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4644,7 +4648,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4691,7 +4695,7 @@
// Ignore join request.
msg.spanContainer().span()
- .addLog("Ignored")
+ .addLog(() -> "Ignored")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4883,8 +4887,9 @@
assert node != null;
msg.spanContainer().span()
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), node.id().toString())
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID), node.consistentId().toString());
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), () -> node.id().toString())
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID),
+ () -> node.consistentId().toString());
if (node.internalOrder() < locNode.internalOrder()) {
if (!locNode.id().equals(node.id())) {
@@ -4919,9 +4924,9 @@
addFinishMsg = tracing.messages().branch(addFinishMsg, msg);
addFinishMsg.spanContainer().span()
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), node.id().toString())
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), () -> node.id().toString())
.addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.CONSISTENT_ID),
- node.consistentId().toString());
+ () -> node.consistentId().toString());
processNodeAddFinishedMessage(addFinishMsg);
@@ -4935,7 +4940,7 @@
msg.verify(locNodeId);
msg.spanContainer().span()
- .addLog("Verified");
+ .addLog(() -> "Verified");
}
else if (!locNodeId.equals(node.id()) && ring.node(node.id()) != null) {
// Local node already has node from message in local topology.
@@ -4956,7 +4961,7 @@
}
msg.spanContainer().span()
- .addLog("Bypassed to crd")
+ .addLog(() -> "Bypassed to crd")
.setStatus(SpanStatus.OK)
.end();
@@ -4969,7 +4974,7 @@
"joining node in topology [node=" + node + ", locNode=" + locNode + ", msg=" + msg + ']');
msg.spanContainer().span()
- .addLog("Discarded")
+ .addLog(() -> "Discarded")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -4988,7 +4993,7 @@
", msg=" + msg + ']');
msg.spanContainer().span()
- .addLog("Discarded")
+ .addLog(() -> "Discarded")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -5202,7 +5207,7 @@
log.debug("Discarding node added message with empty topology: " + msg);
msg.spanContainer().span()
- .addLog("Discarded")
+ .addLog(() -> "Discarded")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -5217,7 +5222,7 @@
", locNode=" + locNode + ']');
msg.spanContainer().span()
- .addLog("Discarded")
+ .addLog(() -> "Discarded")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -5446,7 +5451,7 @@
UUID leavingNodeId = msg.creatorNodeId();
msg.spanContainer().span()
- .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), leavingNodeId.toString());
+ .addTag(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID), () -> leavingNodeId.toString());
if (locNodeId.equals(leavingNodeId)) {
if (msg.senderNodeId() == null) {
@@ -5506,7 +5511,7 @@
log.debug("Discarding node left message since node was not found: " + msg);
msg.spanContainer().span()
- .addLog("Discarded")
+ .addLog(() -> "Discarded")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -5520,7 +5525,7 @@
spi.stats.onRingMessageReceived(msg);
msg.spanContainer().span()
- .addLog("Ring failed")
+ .addLog(() -> "Ring failed")
.setStatus(SpanStatus.ABORTED)
.end();
@@ -5532,7 +5537,7 @@
msg.verify(locNodeId);
msg.spanContainer().span()
- .addLog("Verified");
+ .addLog(() -> "Verified");
}
if (msg.verified() && !locNodeId.equals(leavingNodeId)) {
@@ -6219,7 +6224,7 @@
msg.verify(getLocalNodeId());
msg.spanContainer().span()
- .addLog("Verified");
+ .addLog(() -> "Verified");
msg.topologyVersion(ring.topologyVersion());
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpiSpecificSpan.java b/modules/core/src/main/java/org/apache/ignite/spi/tracing/NoopSpiSpecificSpan.java
similarity index 96%
rename from modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpiSpecificSpan.java
rename to modules/core/src/main/java/org/apache/ignite/spi/tracing/NoopSpiSpecificSpan.java
index 75661a6..8a3eadf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpiSpecificSpan.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/tracing/NoopSpiSpecificSpan.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.tracing;
+package org.apache.ignite.spi.tracing;
import java.util.Map;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopTracingSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/tracing/NoopTracingSpi.java
similarity index 97%
rename from modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopTracingSpi.java
rename to modules/core/src/main/java/org/apache/ignite/spi/tracing/NoopTracingSpi.java
index 636bd840..9077ccd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/NoopTracingSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/tracing/NoopTracingSpi.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.tracing;
+package org.apache.ignite.spi.tracing;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/Scope.java b/modules/core/src/main/java/org/apache/ignite/spi/tracing/Scope.java
similarity index 96%
rename from modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/Scope.java
rename to modules/core/src/main/java/org/apache/ignite/spi/tracing/Scope.java
index b45ae00..3c5cc2c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/Scope.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/tracing/Scope.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.tracing;
+package org.apache.ignite.spi.tracing;
/**
* Tracing span scope.
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanStatus.java b/modules/core/src/main/java/org/apache/ignite/spi/tracing/SpanStatus.java
similarity index 94%
rename from modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanStatus.java
rename to modules/core/src/main/java/org/apache/ignite/spi/tracing/SpanStatus.java
index 914adb1..05a52b5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanStatus.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/tracing/SpanStatus.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.tracing;
+package org.apache.ignite.spi.tracing;
/**
* Various statuses for Spans execution.
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpiSpecificSpan.java b/modules/core/src/main/java/org/apache/ignite/spi/tracing/SpiSpecificSpan.java
similarity index 97%
rename from modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpiSpecificSpan.java
rename to modules/core/src/main/java/org/apache/ignite/spi/tracing/SpiSpecificSpan.java
index 73e45df..c8047bb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpiSpecificSpan.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/tracing/SpiSpecificSpan.java
@@ -14,7 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.tracing;
+
+package org.apache.ignite.spi.tracing;
import java.util.Map;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/TracingConfigurationCoordinates.java b/modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingConfigurationCoordinates.java
similarity index 96%
rename from modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/TracingConfigurationCoordinates.java
rename to modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingConfigurationCoordinates.java
index ab6b631..697b340 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/TracingConfigurationCoordinates.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingConfigurationCoordinates.java
@@ -15,9 +15,8 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.tracing.configuration;
+package org.apache.ignite.spi.tracing;
-import org.apache.ignite.internal.processors.tracing.Scope;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/TracingConfigurationManager.java b/modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingConfigurationManager.java
similarity index 97%
rename from modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/TracingConfigurationManager.java
rename to modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingConfigurationManager.java
index 3b5ddeb..cfc2279 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/TracingConfigurationManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingConfigurationManager.java
@@ -15,18 +15,19 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.tracing.configuration;
+package org.apache.ignite.spi.tracing;
import java.util.Collections;
import java.util.Map;
import org.apache.ignite.IgniteException;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.lang.IgniteExperimental;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* Allows to configure tracing, read the configuration and restore it to the defaults.
*/
+@IgniteExperimental
public interface TracingConfigurationManager {
/** Default transaction tracing configuration. */
static final TracingConfigurationParameters DEFAULT_TX_CONFIGURATION =
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/TracingConfigurationParameters.java b/modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingConfigurationParameters.java
similarity index 91%
rename from modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/TracingConfigurationParameters.java
rename to modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingConfigurationParameters.java
index f10f22d..b4c90ac 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/configuration/TracingConfigurationParameters.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingConfigurationParameters.java
@@ -15,12 +15,11 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.tracing.configuration;
+package org.apache.ignite.spi.tracing;
import java.io.Serializable;
import java.util.Collections;
import java.util.Set;
-import org.apache.ignite.internal.processors.tracing.Scope;
import org.apache.ignite.internal.processors.tracing.Span;
import org.jetbrains.annotations.NotNull;
@@ -48,7 +47,7 @@
* In other words, if the child's span scope is equal to parent's scope
* or it belongs to the parent's span included scopes, then the given child span will be attached to the current trace,
* otherwise it'll be skipped.
- * See {@link Span#isChainable(org.apache.ignite.internal.processors.tracing.Scope)} for more details.
+ * See {@link Span#isChainable(Scope)} for more details.
*/
private final Set<Scope> includedScopes;
@@ -61,7 +60,7 @@
* In other words, if child's span scope is equals to parent's scope
* or it belongs to the parent's span included scopes, then given child span will be attached to the current trace,
* otherwise it'll be skipped.
- * See {@link Span#isChainable(org.apache.ignite.internal.processors.tracing.Scope)} for more details.
+ * See {@link Span#isChainable(Scope)} for more details.
*/
private TracingConfigurationParameters(double samplingRate,
Set<Scope> includedScopes) {
@@ -82,7 +81,7 @@
* In other words, if child's span scope is equals to parent's scope
* or it belongs to the parent's span included scopes, then given child span will be attached to the current trace,
* otherwise it'll be skipped.
- * See {@link Span#isChainable(org.apache.ignite.internal.processors.tracing.Scope)} for more details.
+ * See {@link Span#isChainable(Scope)} for more details.
* If no scopes are specified, empty set will be returned.
*/
public @NotNull Set<Scope> includedScopes() {
@@ -137,7 +136,7 @@
* In other words, if child's span scope is equals to parent's scope
* or it belongs to the parent's span included scopes, then given child span will be attached to the current trace,
* otherwise it'll be skipped.
- * See {@link Span#isChainable(org.apache.ignite.internal.processors.tracing.Scope)} for more details.
+ * See {@link Span#isChainable(Scope)} for more details.
* @return {@code TracingConfigurationParameters} instance.
*/
public @NotNull Builder withIncludedScopes(Set<Scope> includedScopes) {
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/TracingSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingSpi.java
similarity index 97%
rename from modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/TracingSpi.java
rename to modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingSpi.java
index 7ada904..aa93f2b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/TracingSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingSpi.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.tracing;
+package org.apache.ignite.spi.tracing;
import org.apache.ignite.spi.IgniteSpi;
import org.jetbrains.annotations.NotNull;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/TracingSpiType.java b/modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingSpiType.java
similarity index 95%
rename from modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/TracingSpiType.java
rename to modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingSpiType.java
index 929e096..f09a9d9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/TracingSpiType.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/tracing/TracingSpiType.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.tracing;
+package org.apache.ignite.spi.tracing;
/**
* Type of the tracing spi.
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanStatus.java b/modules/core/src/main/java/org/apache/ignite/spi/tracing/package-info.java
similarity index 78%
copy from modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanStatus.java
copy to modules/core/src/main/java/org/apache/ignite/spi/tracing/package-info.java
index 914adb1..6322430 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/SpanStatus.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/tracing/package-info.java
@@ -15,16 +15,8 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.tracing;
-
/**
- * Various statuses for Spans execution.
+ * <!-- Package description. -->
+ * Contains common classes and interfaces for tracing SPI implementations.
*/
-public enum SpanStatus {
- /** Ok. */
- OK,
- /** Cancelled. */
- CANCELLED,
- /** Aborted. */
- ABORTED
-}
+package org.apache.ignite.spi.tracing;
diff --git a/modules/core/src/main/resources/META-INF/classnames.properties b/modules/core/src/main/resources/META-INF/classnames.properties
index 90120c0..7d0246f 100644
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@ -1768,6 +1768,8 @@
org.apache.ignite.internal.processors.task.GridTaskWorker$5
org.apache.ignite.internal.processors.task.GridTaskWorker$State
org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor$2
+org.apache.ignite.spi.tracing.SpanStatus
+org.apache.ignite.internal.processors.tracing.messages.SpanContainer
org.apache.ignite.internal.sql.SqlLexerTokenType
org.apache.ignite.internal.sql.SqlParseException
org.apache.ignite.internal.sql.SqlStrictParseException
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java b/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
index 87a97f0..6581e08 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
@@ -32,7 +32,7 @@
import org.apache.ignite.internal.commandline.cache.CacheValidateIndexes;
import org.apache.ignite.internal.commandline.cache.FindAndDeleteGarbage;
import org.apache.ignite.internal.commandline.cache.argument.FindAndDeleteGarbageArg;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.Scope;
import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.visor.tx.VisorTxOperation;
import org.apache.ignite.internal.visor.tx.VisorTxProjection;
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsIgniteMock.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsIgniteMock.java
index 02712ed..4c7e984 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsIgniteMock.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsIgniteMock.java
@@ -65,13 +65,13 @@
import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
import org.apache.ignite.internal.processors.hadoop.Hadoop;
import org.apache.ignite.internal.processors.tracing.configuration.NoopTracingConfigurationManager;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.plugin.IgnitePlugin;
import org.apache.ignite.plugin.PluginNotFoundException;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
index 9573f5e..5da2f72 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
@@ -68,7 +68,7 @@
import org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl;
import org.apache.ignite.internal.processors.cacheobject.NoOpBinary;
import org.apache.ignite.internal.processors.tracing.configuration.NoopTracingConfigurationManager;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.logger.NullLogger;
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
index 5151d9e..344c31e 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
@@ -82,7 +82,7 @@
import org.apache.ignite.internal.processors.cache.GridCacheUtilityKey;
import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
import org.apache.ignite.internal.processors.hadoop.Hadoop;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
import org.apache.ignite.internal.util.GridJavaProcess;
import org.apache.ignite.internal.util.lang.IgnitePredicateX;
import org.apache.ignite.internal.util.typedef.G;
diff --git a/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTracingConfigurationTest.java b/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTracingConfigurationTest.java
index a0963db..b507484 100644
--- a/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTracingConfigurationTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTracingConfigurationTest.java
@@ -24,18 +24,18 @@
import java.util.Map;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.commandline.CommandHandler;
-import org.apache.ignite.internal.processors.tracing.Scope;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+import org.apache.ignite.spi.tracing.Scope;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.internal.commandline.TracingConfigurationCommand;
import org.apache.ignite.internal.visor.tracing.configuration.VisorTracingConfigurationTaskResult;
import org.junit.Test;
import static org.apache.ignite.internal.commandline.CommandHandler.EXIT_CODE_OK;
-import static org.apache.ignite.internal.processors.tracing.Scope.COMMUNICATION;
-import static org.apache.ignite.internal.processors.tracing.Scope.EXCHANGE;
-import static org.apache.ignite.internal.processors.tracing.Scope.TX;
+import static org.apache.ignite.spi.tracing.Scope.COMMUNICATION;
+import static org.apache.ignite.spi.tracing.Scope.EXCHANGE;
+import static org.apache.ignite.spi.tracing.Scope.TX;
/**
* Tests for {@link TracingConfigurationCommand}
diff --git a/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassWithSSLTest_help.output b/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassWithSSLTest_help.output
index 2106289..4e024f6 100644
--- a/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassWithSSLTest_help.output
+++ b/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassWithSSLTest_help.output
@@ -113,6 +113,24 @@
Parameters:
snapshot_name - Snapshot name.
+ Print tracing configuration:
+ control.(sh|bat) --tracing-configuration
+
+ Print tracing configuration:
+ control.(sh|bat) --tracing-configuration get_all [--scope DISCOVERY|EXCHANGE|COMMUNICATION|TX]
+
+ Print specific tracing configuration based on specified --scope and --label:
+ control.(sh|bat) --tracing-configuration get (--scope DISCOVERY|EXCHANGE|COMMUNICATION|TX) [--label]
+
+ Reset all specific tracing configuration the to default. If --scope is specified, then remove all label specific configuration for the given scope and reset given scope specific configuration to the default, if --scope is skipped then reset all tracing configurations to the default. Print tracing configuration.
+ control.(sh|bat) --tracing-configuration reset_all [--scope DISCOVERY|EXCHANGE|COMMUNICATION|TX]
+
+ Reset specific tracing configuration to the default. If both --scope and --label are specified then remove given configuration, if only --scope is specified then reset given configuration to the default. Print reseted configuration.
+ control.(sh|bat) --tracing-configuration reset (--scope DISCOVERY|EXCHANGE|COMMUNICATION|TX) [--label]
+
+ Set new tracing configuration. If both --scope and --label are specified then add or override label specific configuration, if only --scope is specified, then override scope specific configuration. Print applied configuration.
+ control.(sh|bat) --tracing-configuration set (--scope DISCOVERY|EXCHANGE|COMMUNICATION|TX [--label] [--sampling-rate Decimal value between 0 and 1, where 0 means never and 1 means always. More or less reflects the probability of sampling specific trace.] [--included-scopes Set of scopes with comma as separator DISCOVERY|EXCHANGE|COMMUNICATION|TX])
+
By default commands affecting the cluster require interactive confirmation.
Use --yes option to disable it.
diff --git a/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusSpanAdapter.java b/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusSpanAdapter.java
index 6dd5a7e..62af892 100644
--- a/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusSpanAdapter.java
+++ b/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusSpanAdapter.java
@@ -21,9 +21,8 @@
import java.util.stream.Collectors;
import io.opencensus.trace.Annotation;
import io.opencensus.trace.AttributeValue;
-import org.apache.ignite.internal.processors.tracing.SpanStatus;
-import org.apache.ignite.internal.processors.tracing.SpiSpecificSpan;
-import org.apache.ignite.opencensus.spi.tracing.StatusMatchTable;
+import org.apache.ignite.spi.tracing.SpanStatus;
+import org.apache.ignite.spi.tracing.SpiSpecificSpan;
/**
* Span implementation based on OpenCensus library.
diff --git a/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusTracingSpi.java b/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusTracingSpi.java
index a7ff4f8..243f1f8 100644
--- a/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusTracingSpi.java
+++ b/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusTracingSpi.java
@@ -25,9 +25,9 @@
import io.opencensus.trace.Tracing;
import io.opencensus.trace.export.SpanExporter;
import io.opencensus.trace.samplers.Samplers;
-import org.apache.ignite.internal.processors.tracing.SpiSpecificSpan;
-import org.apache.ignite.internal.processors.tracing.TracingSpi;
-import org.apache.ignite.internal.processors.tracing.TracingSpiType;
+import org.apache.ignite.spi.tracing.SpiSpecificSpan;
+import org.apache.ignite.spi.tracing.TracingSpi;
+import org.apache.ignite.spi.tracing.TracingSpiType;
import org.apache.ignite.internal.util.typedef.internal.LT;
import org.apache.ignite.opencensus.spi.tracing.OpenCensusTraceExporter;
import org.apache.ignite.spi.IgniteSpiAdapter;
@@ -37,8 +37,8 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import static org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
-import static org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters.SAMPLING_RATE_NEVER;
+import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
+import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_NEVER;
/**
* Tracing SPI implementation based on OpenCensus library.
diff --git a/modules/opencensus/src/main/java/org/apache/ignite/opencensus/spi/tracing/StatusMatchTable.java b/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/StatusMatchTable.java
similarity index 93%
rename from modules/opencensus/src/main/java/org/apache/ignite/opencensus/spi/tracing/StatusMatchTable.java
rename to modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/StatusMatchTable.java
index 949ab30..7530152 100644
--- a/modules/opencensus/src/main/java/org/apache/ignite/opencensus/spi/tracing/StatusMatchTable.java
+++ b/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/StatusMatchTable.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.ignite.opencensus.spi.tracing;
+package org.apache.ignite.spi.tracing.opencensus;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.ignite.IgniteException;
-import org.apache.ignite.internal.processors.tracing.SpanStatus;
+import org.apache.ignite.spi.tracing.SpanStatus;
/**
* Table to match OpenCensus span statuses with declared in Tracing SPI.
diff --git a/modules/opencensus/src/test/java/org/apache/ignite/TracingConfigurationValidationTest.java b/modules/opencensus/src/test/java/org/apache/ignite/TracingConfigurationValidationTest.java
index 60d5019..753311d3 100644
--- a/modules/opencensus/src/test/java/org/apache/ignite/TracingConfigurationValidationTest.java
+++ b/modules/opencensus/src/test/java/org/apache/ignite/TracingConfigurationValidationTest.java
@@ -23,17 +23,17 @@
import java.util.Set;
import java.util.stream.Stream;
-import org.apache.ignite.internal.processors.tracing.Scope;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+import org.apache.ignite.spi.tracing.Scope;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.junit.Test;
-import static org.apache.ignite.internal.processors.tracing.Scope.COMMUNICATION;
-import static org.apache.ignite.internal.processors.tracing.Scope.DISCOVERY;
-import static org.apache.ignite.internal.processors.tracing.Scope.EXCHANGE;
-import static org.apache.ignite.internal.processors.tracing.Scope.TX;
+import static org.apache.ignite.spi.tracing.Scope.COMMUNICATION;
+import static org.apache.ignite.spi.tracing.Scope.DISCOVERY;
+import static org.apache.ignite.spi.tracing.Scope.EXCHANGE;
+import static org.apache.ignite.spi.tracing.Scope.TX;
/**
* Tests for tracing configuration validation rules.
diff --git a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/AbstractTracingTest.java b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/AbstractTracingTest.java
index 386a822..03b0f39 100644
--- a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/AbstractTracingTest.java
+++ b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/AbstractTracingTest.java
@@ -39,12 +39,12 @@
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteInterruptedCheckedException;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.Scope;
import org.apache.ignite.internal.processors.tracing.SpanType;
-import org.apache.ignite.internal.processors.tracing.TracingSpi;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+import org.apache.ignite.spi.tracing.TracingSpi;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.opencensus.spi.tracing.OpenCensusTraceExporter;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
@@ -53,9 +53,9 @@
import org.junit.BeforeClass;
import static io.opencensus.trace.AttributeValue.stringAttributeValue;
-import static org.apache.ignite.internal.processors.tracing.Scope.COMMUNICATION;
-import static org.apache.ignite.internal.processors.tracing.Scope.EXCHANGE;
-import static org.apache.ignite.internal.processors.tracing.Scope.TX;
+import static org.apache.ignite.spi.tracing.Scope.COMMUNICATION;
+import static org.apache.ignite.spi.tracing.Scope.EXCHANGE;
+import static org.apache.ignite.spi.tracing.Scope.TX;
/**
* Abstract class for open census tracing tests.
diff --git a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/MixedTracingSpiTest.java b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/MixedTracingSpiTest.java
index 0cf46be..9cae7d5 100644
--- a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/MixedTracingSpiTest.java
+++ b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/MixedTracingSpiTest.java
@@ -18,7 +18,7 @@
package org.apache.ignite.internal.processors.monitoring.opencensus;
import java.util.List;
-import org.apache.ignite.internal.processors.tracing.NoopTracingSpi;
+import org.apache.ignite.spi.tracing.NoopTracingSpi;
import org.apache.ignite.spi.tracing.opencensus.OpenCensusTracingSpi;
import org.apache.ignite.testframework.ListeningTestLogger;
import org.apache.ignite.testframework.LogListener;
diff --git a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationGetAllTest.java b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationGetAllTest.java
index 2913ac6..e2a9e84 100644
--- a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationGetAllTest.java
+++ b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationGetAllTest.java
@@ -19,15 +19,15 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.ignite.internal.processors.tracing.TracingSpi;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+import org.apache.ignite.spi.tracing.TracingSpi;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.spi.tracing.opencensus.OpenCensusTracingSpi;
-import org.apache.ignite.internal.processors.tracing.Scope;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.Scope;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
import org.junit.Test;
-import static org.apache.ignite.internal.processors.tracing.Scope.TX;
+import static org.apache.ignite.spi.tracing.Scope.TX;
/**
* Tests for OpenCensus based {@link TracingConfigurationManager#getAll(Scope)}.
diff --git a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationGetTest.java b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationGetTest.java
index d46229b..fcbe7e8 100644
--- a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationGetTest.java
+++ b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationGetTest.java
@@ -19,15 +19,15 @@
import java.util.Collections;
-import org.apache.ignite.internal.processors.tracing.TracingSpi;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+import org.apache.ignite.spi.tracing.TracingSpi;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.spi.tracing.opencensus.OpenCensusTracingSpi;
import org.junit.Test;
-import static org.apache.ignite.internal.processors.tracing.Scope.COMMUNICATION;
-import static org.apache.ignite.internal.processors.tracing.Scope.TX;
+import static org.apache.ignite.spi.tracing.Scope.COMMUNICATION;
+import static org.apache.ignite.spi.tracing.Scope.TX;
/**
* Tests for OpenCensus based {@link TracingConfigurationManager#get(TracingConfigurationCoordinates)}.
diff --git a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationResetAllTest.java b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationResetAllTest.java
index 4827f13..ca3977d 100644
--- a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationResetAllTest.java
+++ b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationResetAllTest.java
@@ -19,15 +19,16 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.ignite.internal.processors.tracing.Scope;
-import org.apache.ignite.internal.processors.tracing.TracingSpi;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+
+import org.apache.ignite.spi.tracing.Scope;
+import org.apache.ignite.spi.tracing.TracingSpi;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.spi.tracing.opencensus.OpenCensusTracingSpi;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
import org.junit.Test;
-import static org.apache.ignite.internal.processors.tracing.Scope.TX;
+import static org.apache.ignite.spi.tracing.Scope.TX;
/**
* Tests for OpenCensus based {@link TracingConfigurationManager#resetAll(Scope)}.
diff --git a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationResetTest.java b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationResetTest.java
index c415901..58a7b65 100644
--- a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationResetTest.java
+++ b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingConfigurationResetTest.java
@@ -19,10 +19,11 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.ignite.internal.processors.tracing.TracingSpi;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+
+import org.apache.ignite.spi.tracing.TracingSpi;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.spi.tracing.opencensus.OpenCensusTracingSpi;
import org.junit.Test;
diff --git a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingSpiTest.java b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingSpiTest.java
index 7fea652..af3a15c 100644
--- a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingSpiTest.java
+++ b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTracingSpiTest.java
@@ -27,11 +27,11 @@
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.IgniteFeatures;
import org.apache.ignite.internal.processors.tracing.MTC;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.Scope;
import org.apache.ignite.internal.processors.tracing.SpanTags;
-import org.apache.ignite.internal.processors.tracing.TracingSpi;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+import org.apache.ignite.spi.tracing.TracingSpi;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.spi.tracing.opencensus.OpenCensusTracingSpi;
import org.junit.Assert;
import org.junit.Test;
@@ -49,7 +49,7 @@
import static org.apache.ignite.internal.processors.tracing.SpanType.DISCOVERY_NODE_JOIN_REQUEST;
import static org.apache.ignite.internal.processors.tracing.SpanType.DISCOVERY_NODE_LEFT;
import static org.apache.ignite.internal.processors.tracing.SpanType.EXCHANGE_FUTURE;
-import static org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
+import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
/**
* Tests to check correctness of OpenCensus Tracing SPI implementation.
@@ -249,7 +249,7 @@
List<SpanData> exchFutSpans = handler().spansReportedByNode(getTestIgniteInstanceName(i))
.filter(span -> EXCHANGE_FUTURE.spanName().equals(span.getName()))
.filter(span -> span.getStatus() == Status.OK)
- .filter(span -> AttributeValue.longAttributeValue(EventType.EVT_NODE_LEFT).equals(
+ .filter(span -> AttributeValue.stringAttributeValue(String.valueOf(EventType.EVT_NODE_LEFT)).equals(
span.getAttributes().getAttributeMap().get(SpanTags.tag(SpanTags.EVENT, SpanTags.TYPE))))
.filter(span -> stringAttributeValue(leftNodeId).equals(
span.getAttributes().getAttributeMap().get(SpanTags.tag(SpanTags.EVENT_NODE, SpanTags.ID))))
@@ -280,13 +280,13 @@
);
Assert.assertEquals(
"Exchange future major topology version is invalid " + span,
- AttributeValue.longAttributeValue(curTopVer + 1),
+ AttributeValue.stringAttributeValue(String.valueOf(curTopVer + 1)),
span.getAttributes().getAttributeMap().get(
SpanTags.tag(SpanTags.RESULT, SpanTags.TOPOLOGY_VERSION, SpanTags.MAJOR))
);
Assert.assertEquals(
"Exchange future minor version is invalid " + span,
- AttributeValue.longAttributeValue(0),
+ AttributeValue.stringAttributeValue("0"),
span.getAttributes().getAttributeMap().get(
SpanTags.tag(SpanTags.RESULT, SpanTags.TOPOLOGY_VERSION, SpanTags.MINOR))
);
diff --git a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTxTracingConfigurationTest.java b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTxTracingConfigurationTest.java
index 617970b..d1fe8d1 100644
--- a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTxTracingConfigurationTest.java
+++ b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTxTracingConfigurationTest.java
@@ -24,18 +24,18 @@
import io.opencensus.trace.SpanId;
import io.opencensus.trace.export.SpanData;
import org.apache.ignite.internal.IgniteEx;
-import org.apache.ignite.internal.processors.tracing.Scope;
+import org.apache.ignite.spi.tracing.Scope;
import org.apache.ignite.internal.processors.tracing.SpanType;
-import org.apache.ignite.internal.processors.tracing.TracingSpi;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+import org.apache.ignite.spi.tracing.TracingSpi;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.spi.tracing.opencensus.OpenCensusTracingSpi;
import org.apache.ignite.transactions.Transaction;
import org.junit.Test;
-import static org.apache.ignite.internal.processors.tracing.Scope.TX;
-import static org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
-import static org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters.SAMPLING_RATE_NEVER;
+import static org.apache.ignite.spi.tracing.Scope.TX;
+import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
+import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_NEVER;
import static org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC;
import static org.apache.ignite.transactions.TransactionIsolation.SERIALIZABLE;
diff --git a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTxTracingTest.java b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTxTracingTest.java
index 3a9864d..b99699d 100644
--- a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTxTracingTest.java
+++ b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusTxTracingTest.java
@@ -21,10 +21,10 @@
import com.google.common.collect.ImmutableMap;
import io.opencensus.trace.SpanId;
import org.apache.ignite.internal.IgniteEx;
-import org.apache.ignite.internal.processors.tracing.Scope;
-import org.apache.ignite.internal.processors.tracing.TracingSpi;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationCoordinates;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters;
+import org.apache.ignite.spi.tracing.Scope;
+import org.apache.ignite.spi.tracing.TracingSpi;
+import org.apache.ignite.spi.tracing.TracingConfigurationCoordinates;
+import org.apache.ignite.spi.tracing.TracingConfigurationParameters;
import org.apache.ignite.spi.tracing.opencensus.OpenCensusTracingSpi;
import org.apache.ignite.transactions.Transaction;
import org.junit.Test;
@@ -45,7 +45,7 @@
import static org.apache.ignite.internal.processors.tracing.SpanType.TX_PROCESS_DHT_FINISH_REQ;
import static org.apache.ignite.internal.processors.tracing.SpanType.TX_PROCESS_DHT_PREPARE_REQ;
import static org.apache.ignite.internal.processors.tracing.SpanType.TX_PROCESS_DHT_PREPARE_RESP;
-import static org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
+import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS;
import static org.apache.ignite.internal.processors.tracing.SpanType.TX_ROLLBACK;
import static org.apache.ignite.transactions.TransactionConcurrency.OPTIMISTIC;
import static org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC;
diff --git a/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java b/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java
index 26acf9d..1866706 100644
--- a/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java
+++ b/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java
@@ -30,7 +30,7 @@
import org.apache.ignite.configuration.CollectionConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.NearCacheConfiguration;
-import org.apache.ignite.internal.processors.tracing.configuration.TracingConfigurationManager;
+import org.apache.ignite.spi.tracing.TracingConfigurationManager;
import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteProductVersion;
diff --git a/parent/pom.xml b/parent/pom.xml
index 929e7f7..f45cace 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -480,6 +480,10 @@
<title>System view SPI</title>
<packages>org.apache.ignite.spi.systemview*</packages>
</group>
+ <group>
+ <title>Tracing SPI</title>
+ <packages>org.apache.ignite.spi.tracing*</packages>
+ </group>
</groups>
<bottom>
<![CDATA[