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[