aboutsummaryrefslogtreecommitdiff
path: root/api/src
diff options
context:
space:
mode:
authorHailong Wen <youxiabsyw@gmail.com>2018-02-16 15:09:17 +0800
committerGitHub <noreply@github.com>2018-02-16 15:09:17 +0800
commit131b6f062a68d91b4d7a06d1edc25d8e856b6a21 (patch)
tree2481d17d4feb6f7c2828326c96f001e11a314b30 /api/src
parent490dfe8c1984ffbe0eb9118fba450eed90b414f9 (diff)
downloadopencensus-java-131b6f062a68d91b4d7a06d1edc25d8e856b6a21.tar.gz
Add MessageEvent and deprecate NetworkEvent. (closes #858) (#894)
Diffstat (limited to 'api/src')
-rw-r--r--api/src/main/java/io/opencensus/internal/BaseMessageEventUtil.java80
-rw-r--r--api/src/main/java/io/opencensus/trace/BaseMessageEvent.java37
-rw-r--r--api/src/main/java/io/opencensus/trace/BlankSpan.java5
-rw-r--r--api/src/main/java/io/opencensus/trace/MessageEvent.java154
-rw-r--r--api/src/main/java/io/opencensus/trace/NetworkEvent.java7
-rw-r--r--api/src/main/java/io/opencensus/trace/Span.java24
-rw-r--r--api/src/main/java/io/opencensus/trace/config/TraceParams.java47
-rw-r--r--api/src/main/java/io/opencensus/trace/export/SpanData.java56
-rw-r--r--api/src/test/java/io/opencensus/internal/BaseMessageEventUtilTest.java71
-rw-r--r--api/src/test/java/io/opencensus/trace/BlankSpanTest.java1
-rw-r--r--api/src/test/java/io/opencensus/trace/MessageEventTest.java84
-rw-r--r--api/src/test/java/io/opencensus/trace/NoopSpan.java3
-rw-r--r--api/src/test/java/io/opencensus/trace/SpanTest.java18
-rw-r--r--api/src/test/java/io/opencensus/trace/config/TraceConfigTest.java1
-rw-r--r--api/src/test/java/io/opencensus/trace/config/TraceParamsTest.java19
-rw-r--r--api/src/test/java/io/opencensus/trace/export/SpanDataTest.java59
16 files changed, 642 insertions, 24 deletions
diff --git a/api/src/main/java/io/opencensus/internal/BaseMessageEventUtil.java b/api/src/main/java/io/opencensus/internal/BaseMessageEventUtil.java
new file mode 100644
index 00000000..56ec3301
--- /dev/null
+++ b/api/src/main/java/io/opencensus/internal/BaseMessageEventUtil.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2018, OpenCensus Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.opencensus.internal;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import io.opencensus.trace.MessageEvent;
+
+/**
+ * Helper class to convert/cast between for {@link MessageEvent} and {@link NetworkEvent}.
+ *
+ * @since 0.12
+ */
+@SuppressWarnings("deprecation")
+public final class BaseMessageEventUtil {
+ /**
+ * Cast or convert a {@link io.opencensus.trace.BaseMessageEvent} to {@link MessageEvent}.
+ *
+ * <p>Warning: if the input is a {@code io.opencensus.trace.NetworkEvent} and contains {@code
+ * kernelTimestamp} information, this information will be dropped.
+ *
+ * @param event the {@code BaseMessageEvent} that is being cast or converted.
+ * @return a {@code MessageEvent} representation of the input.
+ */
+ public static MessageEvent asMessageEvent(io.opencensus.trace.BaseMessageEvent event) {
+ checkNotNull(event);
+ if (event instanceof MessageEvent) {
+ return (MessageEvent) event;
+ }
+ io.opencensus.trace.NetworkEvent networkEvent = (io.opencensus.trace.NetworkEvent) event;
+ MessageEvent.Type type =
+ (networkEvent.getType() == io.opencensus.trace.NetworkEvent.Type.RECV)
+ ? MessageEvent.Type.RECEIVED
+ : MessageEvent.Type.SENT;
+ return MessageEvent.builder(type, networkEvent.getMessageId())
+ .setUncompressedMessageSize(networkEvent.getUncompressedMessageSize())
+ .setCompressedMessageSize(networkEvent.getCompressedMessageSize())
+ .build();
+ }
+
+ /**
+ * Cast or convert a {@link io.opencensus.trace.BaseMessageEvent} to {@link
+ * io.opencensus.trace.NetworkEvent}.
+ *
+ * @param event the {@code BaseMessageEvent} that is being cast or converted.
+ * @return a {@code io.opencensus.trace.NetworkEvent} representation of the input.
+ */
+ public static io.opencensus.trace.NetworkEvent asNetworkEvent(
+ io.opencensus.trace.BaseMessageEvent event) {
+ checkNotNull(event);
+ if (event instanceof io.opencensus.trace.NetworkEvent) {
+ return (io.opencensus.trace.NetworkEvent) event;
+ }
+ MessageEvent messageEvent = (MessageEvent) event;
+ io.opencensus.trace.NetworkEvent.Type type =
+ (messageEvent.getType() == MessageEvent.Type.RECEIVED)
+ ? io.opencensus.trace.NetworkEvent.Type.RECV
+ : io.opencensus.trace.NetworkEvent.Type.SENT;
+ return io.opencensus.trace.NetworkEvent.builder(type, messageEvent.getMessageId())
+ .setUncompressedMessageSize(messageEvent.getUncompressedMessageSize())
+ .setCompressedMessageSize(messageEvent.getCompressedMessageSize())
+ .build();
+ }
+
+ private BaseMessageEventUtil() {}
+}
diff --git a/api/src/main/java/io/opencensus/trace/BaseMessageEvent.java b/api/src/main/java/io/opencensus/trace/BaseMessageEvent.java
new file mode 100644
index 00000000..5ad961f6
--- /dev/null
+++ b/api/src/main/java/io/opencensus/trace/BaseMessageEvent.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2018, OpenCensus Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.opencensus.trace;
+
+/**
+ * Superclass for {@link MessageEvent} and {@link NetworkEvent} to resolve API backward
+ * compatibility issue.
+ *
+ * <p>{@code SpanData.create} can't be overloaded with parameter types that differ only in the type
+ * of the TimedEvent, because the signatures are the same after generic type erasure. {@code
+ * BaseMessageEvent} allows the same method to accept both {@code TimedEvents<NetworkEvent>} and
+ * {@code TimedEvents<MessageEvent>}.
+ *
+ * <p>This class should only be extended by {@code NetworkEvent} and {@code MessageEvent}.
+ *
+ * @deprecated This class is for internal use only.
+ * @since 0.12
+ */
+@Deprecated
+public abstract class BaseMessageEvent {
+ // package protected to avoid users to extend it.
+ BaseMessageEvent() {}
+}
diff --git a/api/src/main/java/io/opencensus/trace/BlankSpan.java b/api/src/main/java/io/opencensus/trace/BlankSpan.java
index 0f11a034..641bad7e 100644
--- a/api/src/main/java/io/opencensus/trace/BlankSpan.java
+++ b/api/src/main/java/io/opencensus/trace/BlankSpan.java
@@ -58,8 +58,13 @@ public final class BlankSpan extends Span {
/** No-op implementation of the {@link Span#addNetworkEvent(NetworkEvent)} method. */
@Override
+ @Deprecated
public void addNetworkEvent(NetworkEvent networkEvent) {}
+ /** No-op implementation of the {@link Span#addMessageEvent(MessageEvent)} method. */
+ @Override
+ public void addMessageEvent(MessageEvent messageEvent) {}
+
/** No-op implementation of the {@link Span#addLink(Link)} method. */
@Override
public void addLink(Link link) {}
diff --git a/api/src/main/java/io/opencensus/trace/MessageEvent.java b/api/src/main/java/io/opencensus/trace/MessageEvent.java
new file mode 100644
index 00000000..49a4673c
--- /dev/null
+++ b/api/src/main/java/io/opencensus/trace/MessageEvent.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright 2018, OpenCensus Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.opencensus.trace;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import com.google.auto.value.AutoValue;
+import javax.annotation.concurrent.Immutable;
+
+/**
+ * A class that represents a generic messaging event. This class can represent messaging happened in
+ * any layer, especially higher application layer. Thus, it can be used when recording events in
+ * pipeline works, in-process bidirectional streams and batch processing.
+ *
+ * <p>It requires a {@link Type type} and a message id that serves to uniquely identify each
+ * message. It can optionally have information about the message size.
+ *
+ * @since 0.12
+ */
+@Immutable
+@AutoValue
+// Suppress Checker Framework warning about missing @Nullable in generated equals method.
+@AutoValue.CopyAnnotations
+@SuppressWarnings({"nullness", "deprecation"})
+public abstract class MessageEvent extends BaseMessageEvent {
+ /**
+ * Available types for a {@code MessageEvent}.
+ *
+ * @since 0.12
+ */
+ public enum Type {
+ /**
+ * When the message was sent.
+ *
+ * @since 0.12
+ */
+ SENT,
+ /**
+ * When the message was received.
+ *
+ * @since 0.12
+ */
+ RECEIVED,
+ }
+
+ /**
+ * Returns a new {@link Builder} with default values.
+ *
+ * @param type designates whether this is a send or receive message.
+ * @param messageId serves to uniquely identify each message.
+ * @return a new {@code Builder} with default values.
+ * @throws NullPointerException if {@code type} is {@code null}.
+ * @since 0.12
+ */
+ public static Builder builder(Type type, long messageId) {
+ return new AutoValue_MessageEvent.Builder()
+ .setType(checkNotNull(type, "type"))
+ .setMessageId(messageId)
+ // We need to set a value for the message size because the autovalue requires all
+ // primitives to be initialized.
+ .setUncompressedMessageSize(0)
+ .setCompressedMessageSize(0);
+ }
+
+ /**
+ * Returns the type of the {@code MessageEvent}.
+ *
+ * @return the type of the {@code MessageEvent}.
+ * @since 0.12
+ */
+ public abstract Type getType();
+
+ /**
+ * Returns the message id argument that serves to uniquely identify each message.
+ *
+ * @return the message id of the {@code MessageEvent}.
+ * @since 0.12
+ */
+ public abstract long getMessageId();
+
+ /**
+ * Returns the uncompressed size in bytes of the {@code MessageEvent}.
+ *
+ * @return the uncompressed size in bytes of the {@code MessageEvent}.
+ * @since 0.12
+ */
+ public abstract long getUncompressedMessageSize();
+
+ /**
+ * Returns the compressed size in bytes of the {@code MessageEvent}.
+ *
+ * @return the compressed size in bytes of the {@code MessageEvent}.
+ * @since 0.12
+ */
+ public abstract long getCompressedMessageSize();
+
+ /**
+ * Builder class for {@link MessageEvent}.
+ *
+ * @since 0.12
+ */
+ @AutoValue.Builder
+ public abstract static class Builder {
+ // Package protected methods because these values are mandatory and set only in the
+ // MessageEvent#builder() function.
+ abstract Builder setType(Type type);
+
+ abstract Builder setMessageId(long messageId);
+
+ /**
+ * Sets the uncompressed message size.
+ *
+ * @param uncompressedMessageSize represents the uncompressed size in bytes of this message.
+ * @return this.
+ * @since 0.12
+ */
+ public abstract Builder setUncompressedMessageSize(long uncompressedMessageSize);
+
+ /**
+ * Sets the compressed message size.
+ *
+ * @param compressedMessageSize represents the compressed size in bytes of this message.
+ * @return this.
+ * @since 0.12
+ */
+ public abstract Builder setCompressedMessageSize(long compressedMessageSize);
+
+ /**
+ * Builds and returns a {@code MessageEvent} with the desired values.
+ *
+ * @return a {@code MessageEvent} with the desired values.
+ * @since 0.12
+ */
+ public abstract MessageEvent build();
+
+ Builder() {}
+ }
+
+ MessageEvent() {}
+}
diff --git a/api/src/main/java/io/opencensus/trace/NetworkEvent.java b/api/src/main/java/io/opencensus/trace/NetworkEvent.java
index a8dfdb70..1c8fe393 100644
--- a/api/src/main/java/io/opencensus/trace/NetworkEvent.java
+++ b/api/src/main/java/io/opencensus/trace/NetworkEvent.java
@@ -28,6 +28,7 @@ import javax.annotation.concurrent.Immutable;
* serves to uniquely identify each network message. It can optionally can have information about
* the kernel time and message size.
*
+ * @deprecated Use {@link MessageEvent}.
* @since 0.5
*/
@Immutable
@@ -35,7 +36,8 @@ import javax.annotation.concurrent.Immutable;
// Suppress Checker Framework warning about missing @Nullable in generated equals method.
@AutoValue.CopyAnnotations
@SuppressWarnings("nullness")
-public abstract class NetworkEvent {
+@Deprecated
+public abstract class NetworkEvent extends io.opencensus.trace.BaseMessageEvent {
/**
* Available types for a {@code NetworkEvent}.
*
@@ -131,9 +133,12 @@ public abstract class NetworkEvent {
/**
* Builder class for {@link NetworkEvent}.
*
+ * @deprecated {@link NetworkEvent} is deprecated. Please use {@link MessageEvent} and its builder
+ * {@link MessageEvent.Builder}.
* @since 0.5
*/
@AutoValue.Builder
+ @Deprecated
public abstract static class Builder {
// Package protected methods because these values are mandatory and set only in the
// NetworkEvent#builder() function.
diff --git a/api/src/main/java/io/opencensus/trace/Span.java b/api/src/main/java/io/opencensus/trace/Span.java
index 29673930..ae0e9b4b 100644
--- a/api/src/main/java/io/opencensus/trace/Span.java
+++ b/api/src/main/java/io/opencensus/trace/Span.java
@@ -19,6 +19,7 @@ package io.opencensus.trace;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
+import io.opencensus.internal.BaseMessageEventUtil;
import java.util.Collections;
import java.util.EnumSet;
import java.util.Map;
@@ -159,9 +160,30 @@ public abstract class Span {
* higher level applications.
*
* @param networkEvent the network event to add.
+ * @deprecated Use {@link #addMessageEvent}.
* @since 0.5
*/
- public abstract void addNetworkEvent(NetworkEvent networkEvent);
+ @Deprecated
+ public void addNetworkEvent(NetworkEvent networkEvent) {
+ addMessageEvent(BaseMessageEventUtil.asMessageEvent(networkEvent));
+ }
+
+ /**
+ * Adds a MessageEvent to the {@code Span}.
+ *
+ * <p>This function can be used by higher level applications to record messaging event.
+ *
+ * <p>This method should always be overridden by users whose API versions are larger or equal to
+ * {@code 0.12}.
+ *
+ * @param messageEvent the message to add.
+ * @since 0.12
+ */
+ public void addMessageEvent(MessageEvent messageEvent) {
+ // Default implementation by invoking addNetworkEvent() so that any existing derived classes,
+ // including implementation and the mocked ones, do not need to override this method explicitly.
+ addNetworkEvent(BaseMessageEventUtil.asNetworkEvent(messageEvent));
+ }
/**
* Adds a {@link Link} to the {@code Span}.
diff --git a/api/src/main/java/io/opencensus/trace/config/TraceParams.java b/api/src/main/java/io/opencensus/trace/config/TraceParams.java
index 17dbbb9d..6c2ee7ff 100644
--- a/api/src/main/java/io/opencensus/trace/config/TraceParams.java
+++ b/api/src/main/java/io/opencensus/trace/config/TraceParams.java
@@ -21,7 +21,7 @@ import static com.google.common.base.Preconditions.checkArgument;
import com.google.auto.value.AutoValue;
import io.opencensus.trace.Annotation;
import io.opencensus.trace.Link;
-import io.opencensus.trace.NetworkEvent;
+import io.opencensus.trace.MessageEvent;
import io.opencensus.trace.Sampler;
import io.opencensus.trace.Span;
import io.opencensus.trace.samplers.Samplers;
@@ -43,7 +43,7 @@ public abstract class TraceParams {
private static final Sampler DEFAULT_SAMPLER = Samplers.probabilitySampler(DEFAULT_PROBABILITY);
private static final int DEFAULT_SPAN_MAX_NUM_ATTRIBUTES = 32;
private static final int DEFAULT_SPAN_MAX_NUM_ANNOTATIONS = 32;
- private static final int DEFAULT_SPAN_MAX_NUM_NETWORK_EVENTS = 128;
+ private static final int DEFAULT_SPAN_MAX_NUM_MESSAGE_EVENTS = 128;
private static final int DEFAULT_SPAN_MAX_NUM_LINKS = 128;
/**
@@ -56,7 +56,7 @@ public abstract class TraceParams {
.setSampler(DEFAULT_SAMPLER)
.setMaxNumberOfAttributes(DEFAULT_SPAN_MAX_NUM_ATTRIBUTES)
.setMaxNumberOfAnnotations(DEFAULT_SPAN_MAX_NUM_ANNOTATIONS)
- .setMaxNumberOfNetworkEvents(DEFAULT_SPAN_MAX_NUM_NETWORK_EVENTS)
+ .setMaxNumberOfMessageEvents(DEFAULT_SPAN_MAX_NUM_MESSAGE_EVENTS)
.setMaxNumberOfLinks(DEFAULT_SPAN_MAX_NUM_LINKS)
.build();
@@ -86,12 +86,25 @@ public abstract class TraceParams {
public abstract int getMaxNumberOfAnnotations();
/**
- * Returns the global default max number of {@link NetworkEvent} events per {@link Span}.
+ * Returns the global default max number of {@link MessageEvent} events per {@link Span}.
+ *
+ * @return the global default max number of {@code MessageEvent} events per {@code Span}.
+ * @since 0.12
+ */
+ public abstract int getMaxNumberOfMessageEvents();
+
+ /**
+ * Returns the global default max number of {@link io.opencensus.trace.NetworkEvent} events per
+ * {@link Span}.
*
* @return the global default max number of {@code NetworkEvent} events per {@code Span}.
+ * @deprecated Use {@link getMaxNumberOfMessageEvents}.
* @since 0.5
*/
- public abstract int getMaxNumberOfNetworkEvents();
+ @Deprecated
+ public int getMaxNumberOfNetworkEvents() {
+ return getMaxNumberOfMessageEvents();
+ }
/**
* Returns the global default max number of {@link Link} entries per {@link Span}.
@@ -152,14 +165,30 @@ public abstract class TraceParams {
public abstract Builder setMaxNumberOfAnnotations(int maxNumberOfAnnotations);
/**
- * Sets the global default max number of {@link NetworkEvent} events per {@link Span}.
+ * Sets the global default max number of {@link MessageEvent} events per {@link Span}.
*
- * @param maxNumberOfNetworkEvents the global default max number of {@link NetworkEvent} events
+ * @param maxNumberOfMessageEvents the global default max number of {@link MessageEvent} events
* per {@link Span}. It must be positive otherwise {@link #build()} will throw an exception.
+ * @since 0.12
* @return this.
+ */
+ public abstract Builder setMaxNumberOfMessageEvents(int maxNumberOfMessageEvents);
+
+ /**
+ * Sets the global default max number of {@link io.opencensus.trace.NetworkEvent} events per
+ * {@link Span}.
+ *
+ * @param maxNumberOfNetworkEvents the global default max number of {@link
+ * io.opencensus.trace.NetworkEvent} events per {@link Span}. It must be positive otherwise
+ * {@link #build()} will throw an exception.
+ * @return this.
+ * @deprecated Use {@link setMaxNumberOfMessageEvents}.
* @since 0.5
*/
- public abstract Builder setMaxNumberOfNetworkEvents(int maxNumberOfNetworkEvents);
+ @Deprecated
+ public Builder setMaxNumberOfNetworkEvents(int maxNumberOfNetworkEvents) {
+ return setMaxNumberOfMessageEvents(maxNumberOfNetworkEvents);
+ }
/**
* Sets the global default max number of {@link Link} entries per {@link Span}.
@@ -185,7 +214,7 @@ public abstract class TraceParams {
TraceParams traceParams = autoBuild();
checkArgument(traceParams.getMaxNumberOfAttributes() > 0, "maxNumberOfAttributes");
checkArgument(traceParams.getMaxNumberOfAnnotations() > 0, "maxNumberOfAnnotations");
- checkArgument(traceParams.getMaxNumberOfNetworkEvents() > 0, "maxNumberOfNetworkEvents");
+ checkArgument(traceParams.getMaxNumberOfMessageEvents() > 0, "maxNumberOfMessageEvents");
checkArgument(traceParams.getMaxNumberOfLinks() > 0, "maxNumberOfLinks");
return traceParams;
}
diff --git a/api/src/main/java/io/opencensus/trace/export/SpanData.java b/api/src/main/java/io/opencensus/trace/export/SpanData.java
index 546b65b6..120c231a 100644
--- a/api/src/main/java/io/opencensus/trace/export/SpanData.java
+++ b/api/src/main/java/io/opencensus/trace/export/SpanData.java
@@ -19,11 +19,13 @@ package io.opencensus.trace.export;
import static com.google.common.base.Preconditions.checkNotNull;
import com.google.auto.value.AutoValue;
+import com.google.common.collect.Lists;
import io.opencensus.common.Timestamp;
+import io.opencensus.internal.BaseMessageEventUtil;
import io.opencensus.trace.Annotation;
import io.opencensus.trace.AttributeValue;
import io.opencensus.trace.Link;
-import io.opencensus.trace.NetworkEvent;
+import io.opencensus.trace.MessageEvent;
import io.opencensus.trace.Span;
import io.opencensus.trace.SpanContext;
import io.opencensus.trace.SpanId;
@@ -64,7 +66,8 @@ public abstract class SpanData {
* @param startTimestamp the start {@code Timestamp} of the {@code Span}.
* @param attributes the attributes associated with the {@code Span}.
* @param annotations the annotations associated with the {@code Span}.
- * @param networkEvents the network events associated with the {@code Span}.
+ * @param messageOrNetworkEvents the message events (or network events for backward compatibility)
+ * associated with the {@code Span}.
* @param links the links associated with the {@code Span}.
* @param childSpanCount the number of child spans that were generated while the span was active.
* @param status the {@code Status} of the {@code Span}. {@code null} if the {@code Span} is still
@@ -74,6 +77,7 @@ public abstract class SpanData {
* @return a new immutable {@code SpanData}.
* @since 0.5
*/
+ @SuppressWarnings("deprecation")
public static SpanData create(
SpanContext context,
@Nullable SpanId parentSpanId,
@@ -82,11 +86,31 @@ public abstract class SpanData {
Timestamp startTimestamp,
Attributes attributes,
TimedEvents<Annotation> annotations,
- TimedEvents<NetworkEvent> networkEvents,
+ TimedEvents<? extends io.opencensus.trace.BaseMessageEvent> messageOrNetworkEvents,
Links links,
@Nullable Integer childSpanCount,
@Nullable Status status,
@Nullable Timestamp endTimestamp) {
+ if (messageOrNetworkEvents == null) {
+ throw new NullPointerException("Null messageOrNetworkEvents");
+ }
+ List<TimedEvent<MessageEvent>> messageEventsList = Lists.newArrayList();
+ for (TimedEvent<? extends io.opencensus.trace.BaseMessageEvent> timedEvent :
+ messageOrNetworkEvents.getEvents()) {
+ io.opencensus.trace.BaseMessageEvent event = timedEvent.getEvent();
+ if (event instanceof MessageEvent) {
+ @SuppressWarnings("unchecked")
+ TimedEvent<MessageEvent> timedMessageEvent = (TimedEvent<MessageEvent>) timedEvent;
+ messageEventsList.add(timedMessageEvent);
+ } else {
+ messageEventsList.add(
+ TimedEvent.<MessageEvent>create(
+ timedEvent.getTimestamp(), BaseMessageEventUtil.asMessageEvent(event)));
+ }
+ }
+ TimedEvents<MessageEvent> messageEvents =
+ TimedEvents.<MessageEvent>create(
+ messageEventsList, messageOrNetworkEvents.getDroppedEventsCount());
return new AutoValue_SpanData(
context,
parentSpanId,
@@ -95,7 +119,7 @@ public abstract class SpanData {
startTimestamp,
attributes,
annotations,
- networkEvents,
+ messageEvents,
links,
childSpanCount,
status,
@@ -167,9 +191,31 @@ public abstract class SpanData {
* Returns network events recorded for this {@code Span}.
*
* @return network events recorded for this {@code Span}.
+ * @deprecated Use {@link #getMessageEvents}.
* @since 0.5
*/
- public abstract TimedEvents<NetworkEvent> getNetworkEvents();
+ @Deprecated
+ @SuppressWarnings({"deprecation"})
+ public TimedEvents<io.opencensus.trace.NetworkEvent> getNetworkEvents() {
+ TimedEvents<MessageEvent> timedEvents = getMessageEvents();
+ List<TimedEvent<io.opencensus.trace.NetworkEvent>> networkEventsList = Lists.newArrayList();
+ for (TimedEvent<MessageEvent> timedEvent : timedEvents.getEvents()) {
+ networkEventsList.add(
+ TimedEvent.<io.opencensus.trace.NetworkEvent>create(
+ timedEvent.getTimestamp(),
+ BaseMessageEventUtil.asNetworkEvent(timedEvent.getEvent())));
+ }
+ return TimedEvents.<io.opencensus.trace.NetworkEvent>create(
+ networkEventsList, timedEvents.getDroppedEventsCount());
+ }
+
+ /**
+ * Returns message events recorded for this {@code Span}.
+ *
+ * @return message events recorded for this {@code Span}.
+ * @since 0.12
+ */
+ public abstract TimedEvents<MessageEvent> getMessageEvents();
/**
* Returns links recorded for this {@code Span}.
diff --git a/api/src/test/java/io/opencensus/internal/BaseMessageEventUtilTest.java b/api/src/test/java/io/opencensus/internal/BaseMessageEventUtilTest.java
new file mode 100644
index 00000000..8de1b1c9
--- /dev/null
+++ b/api/src/test/java/io/opencensus/internal/BaseMessageEventUtilTest.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2018, OpenCensus Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.opencensus.internal;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import io.opencensus.trace.MessageEvent;
+import io.opencensus.trace.NetworkEvent;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/** Unit tests for {@link BaseMessageEventUtil}. */
+@RunWith(JUnit4.class)
+public class BaseMessageEventUtilTest {
+ private static final long SENT_EVENT_ID = 12345L;
+ private static final long RECV_EVENT_ID = 67890L;
+ private static final long UNCOMPRESSED_SIZE = 100;
+ private static final long COMPRESSED_SIZE = 99;
+
+ private static final MessageEvent SENT_MESSAGE_EVENT =
+ MessageEvent.builder(MessageEvent.Type.SENT, SENT_EVENT_ID)
+ .setUncompressedMessageSize(UNCOMPRESSED_SIZE)
+ .setCompressedMessageSize(COMPRESSED_SIZE)
+ .build();
+ private static final MessageEvent RECV_MESSAGE_EVENT =
+ MessageEvent.builder(MessageEvent.Type.RECEIVED, RECV_EVENT_ID)
+ .setUncompressedMessageSize(UNCOMPRESSED_SIZE)
+ .setCompressedMessageSize(COMPRESSED_SIZE)
+ .build();
+ private static final NetworkEvent SENT_NETWORK_EVENT =
+ NetworkEvent.builder(NetworkEvent.Type.SENT, SENT_EVENT_ID)
+ .setUncompressedMessageSize(UNCOMPRESSED_SIZE)
+ .setCompressedMessageSize(COMPRESSED_SIZE)
+ .build();
+ private static final NetworkEvent RECV_NETWORK_EVENT =
+ NetworkEvent.builder(NetworkEvent.Type.RECV, RECV_EVENT_ID)
+ .setUncompressedMessageSize(UNCOMPRESSED_SIZE)
+ .setCompressedMessageSize(COMPRESSED_SIZE)
+ .build();
+
+ @Test
+ public void networkEventToMessageEvent() {
+ assertThat(BaseMessageEventUtil.asMessageEvent(SENT_NETWORK_EVENT))
+ .isEqualTo(SENT_MESSAGE_EVENT);
+ assertThat(BaseMessageEventUtil.asMessageEvent(RECV_NETWORK_EVENT))
+ .isEqualTo(RECV_MESSAGE_EVENT);
+ }
+
+ @Test
+ public void messageEventToNetworkEvent() {
+ assertThat(BaseMessageEventUtil.asNetworkEvent(SENT_MESSAGE_EVENT))
+ .isEqualTo(SENT_NETWORK_EVENT);
+ assertThat(BaseMessageEventUtil.asNetworkEvent(RECV_MESSAGE_EVENT))
+ .isEqualTo(RECV_NETWORK_EVENT);
+ }
+}
diff --git a/api/src/test/java/io/opencensus/trace/BlankSpanTest.java b/api/src/test/java/io/opencensus/trace/BlankSpanTest.java
index b9760c2f..185a5acd 100644
--- a/api/src/test/java/io/opencensus/trace/BlankSpanTest.java
+++ b/api/src/test/java/io/opencensus/trace/BlankSpanTest.java
@@ -53,6 +53,7 @@ public class BlankSpanTest {
BlankSpan.INSTANCE.addAnnotation("MyAnnotation", multipleAttributes);
BlankSpan.INSTANCE.addAnnotation(Annotation.fromDescription("MyAnnotation"));
BlankSpan.INSTANCE.addNetworkEvent(NetworkEvent.builder(NetworkEvent.Type.SENT, 1L).build());
+ BlankSpan.INSTANCE.addMessageEvent(MessageEvent.builder(MessageEvent.Type.SENT, 1L).build());
BlankSpan.INSTANCE.addLink(
Link.fromSpanContext(SpanContext.INVALID, Link.Type.CHILD_LINKED_SPAN));
BlankSpan.INSTANCE.setStatus(Status.OK);
diff --git a/api/src/test/java/io/opencensus/trace/MessageEventTest.java b/api/src/test/java/io/opencensus/trace/MessageEventTest.java
new file mode 100644
index 00000000..fde32fe6
--- /dev/null
+++ b/api/src/test/java/io/opencensus/trace/MessageEventTest.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2018, OpenCensus Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.opencensus.trace;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/** Unit tests for {@link MessageEvent}. */
+@RunWith(JUnit4.class)
+public class MessageEventTest {
+ @Test(expected = NullPointerException.class)
+ public void buildMessageEvent_NullType() {
+ MessageEvent.builder(null, 1L).build();
+ }
+
+ @Test
+ public void buildMessageEvent_WithRequiredFields() {
+ MessageEvent messageEvent = MessageEvent.builder(MessageEvent.Type.SENT, 1L).build();
+ assertThat(messageEvent.getType()).isEqualTo(MessageEvent.Type.SENT);
+ assertThat(messageEvent.getMessageId()).isEqualTo(1L);
+ assertThat(messageEvent.getUncompressedMessageSize()).isEqualTo(0L);
+ }
+
+ @Test
+ public void buildMessageEvent_WithUncompressedMessageSize() {
+ MessageEvent messageEvent =
+ MessageEvent.builder(MessageEvent.Type.SENT, 1L).setUncompressedMessageSize(123L).build();
+ assertThat(messageEvent.getType()).isEqualTo(MessageEvent.Type.SENT);
+ assertThat(messageEvent.getMessageId()).isEqualTo(1L);
+ assertThat(messageEvent.getUncompressedMessageSize()).isEqualTo(123L);
+ }
+
+ @Test
+ public void buildMessageEvent_WithCompressedMessageSize() {
+ MessageEvent messageEvent =
+ MessageEvent.builder(MessageEvent.Type.SENT, 1L).setCompressedMessageSize(123L).build();
+ assertThat(messageEvent.getType()).isEqualTo(MessageEvent.Type.SENT);
+ assertThat(messageEvent.getMessageId()).isEqualTo(1L);
+ assertThat(messageEvent.getCompressedMessageSize()).isEqualTo(123L);
+ }
+
+ @Test
+ public void buildMessageEvent_WithAllValues() {
+ MessageEvent messageEvent =
+ MessageEvent.builder(MessageEvent.Type.RECEIVED, 1L)
+ .setUncompressedMessageSize(123L)
+ .setCompressedMessageSize(63L)
+ .build();
+ assertThat(messageEvent.getType()).isEqualTo(MessageEvent.Type.RECEIVED);
+ assertThat(messageEvent.getMessageId()).isEqualTo(1L);
+ assertThat(messageEvent.getUncompressedMessageSize()).isEqualTo(123L);
+ assertThat(messageEvent.getCompressedMessageSize()).isEqualTo(63L);
+ }
+
+ @Test
+ public void messageEvent_ToString() {
+ MessageEvent messageEvent =
+ MessageEvent.builder(MessageEvent.Type.SENT, 1L)
+ .setUncompressedMessageSize(123L)
+ .setCompressedMessageSize(63L)
+ .build();
+ assertThat(messageEvent.toString()).contains("type=SENT");
+ assertThat(messageEvent.toString()).contains("messageId=1");
+ assertThat(messageEvent.toString()).contains("compressedMessageSize=63");
+ assertThat(messageEvent.toString()).contains("uncompressedMessageSize=123");
+ }
+}
diff --git a/api/src/test/java/io/opencensus/trace/NoopSpan.java b/api/src/test/java/io/opencensus/trace/NoopSpan.java
index 0217529d..7c8d9b7a 100644
--- a/api/src/test/java/io/opencensus/trace/NoopSpan.java
+++ b/api/src/test/java/io/opencensus/trace/NoopSpan.java
@@ -45,6 +45,9 @@ public class NoopSpan extends Span {
public void addNetworkEvent(NetworkEvent networkEvent) {}
@Override
+ public void addMessageEvent(MessageEvent messageEvent) {}
+
+ @Override
public void addLink(Link link) {}
@Override
diff --git a/api/src/test/java/io/opencensus/trace/SpanTest.java b/api/src/test/java/io/opencensus/trace/SpanTest.java
index 327b9abe..f7546ca4 100644
--- a/api/src/test/java/io/opencensus/trace/SpanTest.java
+++ b/api/src/test/java/io/opencensus/trace/SpanTest.java
@@ -98,4 +98,22 @@ public class SpanTest {
span.end();
verify(span).end(same(EndSpanOptions.DEFAULT));
}
+
+ @Test
+ public void addMessageEventDefaultImplementation() {
+ Span mockSpan = Mockito.mock(Span.class);
+ MessageEvent messageEvent =
+ MessageEvent.builder(MessageEvent.Type.SENT, 123)
+ .setUncompressedMessageSize(456)
+ .setCompressedMessageSize(789)
+ .build();
+ NetworkEvent networkEvent =
+ NetworkEvent.builder(NetworkEvent.Type.SENT, 123)
+ .setUncompressedMessageSize(456)
+ .setCompressedMessageSize(789)
+ .build();
+ Mockito.doCallRealMethod().when(mockSpan).addMessageEvent(messageEvent);
+ mockSpan.addMessageEvent(messageEvent);
+ verify(mockSpan).addNetworkEvent(eq(networkEvent));
+ }
}
diff --git a/api/src/test/java/io/opencensus/trace/config/TraceConfigTest.java b/api/src/test/java/io/opencensus/trace/config/TraceConfigTest.java
index ee80cab4..d48e0894 100644
--- a/api/src/test/java/io/opencensus/trace/config/TraceConfigTest.java
+++ b/api/src/test/java/io/opencensus/trace/config/TraceConfigTest.java
@@ -42,6 +42,7 @@ public class TraceConfigTest {
.setMaxNumberOfAttributes(8)
.setMaxNumberOfAnnotations(9)
.setMaxNumberOfNetworkEvents(10)
+ .setMaxNumberOfMessageEvents(10)
.setMaxNumberOfLinks(11)
.build();
traceConfig.updateActiveTraceParams(traceParams);
diff --git a/api/src/test/java/io/opencensus/trace/config/TraceParamsTest.java b/api/src/test/java/io/opencensus/trace/config/TraceParamsTest.java
index 7ede0a29..6c216174 100644
--- a/api/src/test/java/io/opencensus/trace/config/TraceParamsTest.java
+++ b/api/src/test/java/io/opencensus/trace/config/TraceParamsTest.java
@@ -32,6 +32,7 @@ public class TraceParamsTest {
assertThat(TraceParams.DEFAULT.getMaxNumberOfAttributes()).isEqualTo(32);
assertThat(TraceParams.DEFAULT.getMaxNumberOfAnnotations()).isEqualTo(32);
assertThat(TraceParams.DEFAULT.getMaxNumberOfNetworkEvents()).isEqualTo(128);
+ assertThat(TraceParams.DEFAULT.getMaxNumberOfMessageEvents()).isEqualTo(128);
assertThat(TraceParams.DEFAULT.getMaxNumberOfLinks()).isEqualTo(128);
}
@@ -56,6 +57,11 @@ public class TraceParamsTest {
}
@Test(expected = IllegalArgumentException.class)
+ public void updateTraceParams_NonPositiveMaxNumberOfMessageEvents() {
+ TraceParams.DEFAULT.toBuilder().setMaxNumberOfMessageEvents(0).build();
+ }
+
+ @Test(expected = IllegalArgumentException.class)
public void updateTraceParams_NonPositiveMaxNumberOfLinks() {
TraceParams.DEFAULT.toBuilder().setMaxNumberOfLinks(0).build();
}
@@ -68,13 +74,24 @@ public class TraceParamsTest {
.setSampler(Samplers.alwaysSample())
.setMaxNumberOfAttributes(8)
.setMaxNumberOfAnnotations(9)
- .setMaxNumberOfNetworkEvents(10)
+ .setMaxNumberOfMessageEvents(10)
.setMaxNumberOfLinks(11)
.build();
assertThat(traceParams.getSampler()).isEqualTo(Samplers.alwaysSample());
assertThat(traceParams.getMaxNumberOfAttributes()).isEqualTo(8);
assertThat(traceParams.getMaxNumberOfAnnotations()).isEqualTo(9);
+ // test maxNumberOfNetworkEvent can be set via maxNumberOfMessageEvent
assertThat(traceParams.getMaxNumberOfNetworkEvents()).isEqualTo(10);
+ assertThat(traceParams.getMaxNumberOfMessageEvents()).isEqualTo(10);
assertThat(traceParams.getMaxNumberOfLinks()).isEqualTo(11);
}
+
+ @Test
+ public void updateTraceParams_maxNumberOfNetworkEvents() {
+ TraceParams traceParams =
+ TraceParams.DEFAULT.toBuilder().setMaxNumberOfNetworkEvents(10).build();
+ assertThat(traceParams.getMaxNumberOfNetworkEvents()).isEqualTo(10);
+ // test maxNumberOfMessageEvent can be set via maxNumberOfNetworkEvent
+ assertThat(traceParams.getMaxNumberOfMessageEvents()).isEqualTo(10);
+ }
}
diff --git a/api/src/test/java/io/opencensus/trace/export/SpanDataTest.java b/api/src/test/java/io/opencensus/trace/export/SpanDataTest.java
index 5c8097fa..399b35e0 100644
--- a/api/src/test/java/io/opencensus/trace/export/SpanDataTest.java
+++ b/api/src/test/java/io/opencensus/trace/export/SpanDataTest.java
@@ -24,6 +24,7 @@ import io.opencensus.trace.Annotation;
import io.opencensus.trace.AttributeValue;
import io.opencensus.trace.Link;
import io.opencensus.trace.Link.Type;
+import io.opencensus.trace.MessageEvent;
import io.opencensus.trace.NetworkEvent;
import io.opencensus.trace.SpanContext;
import io.opencensus.trace.SpanId;
@@ -60,6 +61,10 @@ public class SpanDataTest {
NetworkEvent.builder(NetworkEvent.Type.RECV, 1).build();
private static final NetworkEvent sentNetworkEvent =
NetworkEvent.builder(NetworkEvent.Type.SENT, 1).build();
+ private static final MessageEvent recvMessageEvent =
+ MessageEvent.builder(MessageEvent.Type.RECEIVED, 1).build();
+ private static final MessageEvent sentMessageEvent =
+ MessageEvent.builder(MessageEvent.Type.SENT, 1).build();
private static final Status status = Status.DEADLINE_EXCEEDED.withDescription("TooSlow");
private static final int CHILD_SPAN_COUNT = 13;
private final Random random = new Random(1234);
@@ -72,11 +77,14 @@ public class SpanDataTest {
new ArrayList<TimedEvent<Annotation>>();
private final List<TimedEvent<NetworkEvent>> networkEventsList =
new ArrayList<SpanData.TimedEvent<NetworkEvent>>();
+ private final List<TimedEvent<MessageEvent>> messageEventsList =
+ new ArrayList<SpanData.TimedEvent<MessageEvent>>();
private final List<Link> linksList = new ArrayList<Link>();
private Attributes attributes;
private TimedEvents<Annotation> annotations;
private TimedEvents<NetworkEvent> networkEvents;
+ private TimedEvents<MessageEvent> messageEvents;
private Links links;
@Before
@@ -90,6 +98,9 @@ public class SpanDataTest {
networkEventsList.add(SpanData.TimedEvent.create(eventTimestamp1, recvNetworkEvent));
networkEventsList.add(SpanData.TimedEvent.create(eventTimestamp2, sentNetworkEvent));
networkEvents = TimedEvents.create(networkEventsList, 3);
+ messageEventsList.add(SpanData.TimedEvent.create(eventTimestamp1, recvMessageEvent));
+ messageEventsList.add(SpanData.TimedEvent.create(eventTimestamp2, sentMessageEvent));
+ messageEvents = TimedEvents.create(messageEventsList, 3);
linksList.add(Link.fromSpanContext(spanContext, Type.CHILD_LINKED_SPAN));
links = Links.create(linksList, 0);
}
@@ -105,6 +116,37 @@ public class SpanDataTest {
startTimestamp,
attributes,
annotations,
+ messageEvents,
+ links,
+ CHILD_SPAN_COUNT,
+ status,
+ endTimestamp);
+ assertThat(spanData.getContext()).isEqualTo(spanContext);
+ assertThat(spanData.getParentSpanId()).isEqualTo(parentSpanId);
+ assertThat(spanData.getHasRemoteParent()).isTrue();
+ assertThat(spanData.getName()).isEqualTo(SPAN_NAME);
+ assertThat(spanData.getStartTimestamp()).isEqualTo(startTimestamp);
+ assertThat(spanData.getAttributes()).isEqualTo(attributes);
+ assertThat(spanData.getAnnotations()).isEqualTo(annotations);
+ assertThat(spanData.getNetworkEvents()).isEqualTo(networkEvents);
+ assertThat(spanData.getMessageEvents()).isEqualTo(messageEvents);
+ assertThat(spanData.getLinks()).isEqualTo(links);
+ assertThat(spanData.getChildSpanCount()).isEqualTo(CHILD_SPAN_COUNT);
+ assertThat(spanData.getStatus()).isEqualTo(status);
+ assertThat(spanData.getEndTimestamp()).isEqualTo(endTimestamp);
+ }
+
+ @Test
+ public void spanData_Create_Compatibility() {
+ SpanData spanData =
+ SpanData.create(
+ spanContext,
+ parentSpanId,
+ true,
+ SPAN_NAME,
+ startTimestamp,
+ attributes,
+ annotations,
networkEvents,
links,
CHILD_SPAN_COUNT,
@@ -118,6 +160,7 @@ public class SpanDataTest {
assertThat(spanData.getAttributes()).isEqualTo(attributes);
assertThat(spanData.getAnnotations()).isEqualTo(annotations);
assertThat(spanData.getNetworkEvents()).isEqualTo(networkEvents);
+ assertThat(spanData.getMessageEvents()).isEqualTo(messageEvents);
assertThat(spanData.getLinks()).isEqualTo(links);
assertThat(spanData.getChildSpanCount()).isEqualTo(CHILD_SPAN_COUNT);
assertThat(spanData.getStatus()).isEqualTo(status);
@@ -135,7 +178,7 @@ public class SpanDataTest {
startTimestamp,
attributes,
annotations,
- networkEvents,
+ messageEvents,
links,
null,
null,
@@ -148,6 +191,7 @@ public class SpanDataTest {
assertThat(spanData.getAttributes()).isEqualTo(attributes);
assertThat(spanData.getAnnotations()).isEqualTo(annotations);
assertThat(spanData.getNetworkEvents()).isEqualTo(networkEvents);
+ assertThat(spanData.getMessageEvents()).isEqualTo(messageEvents);
assertThat(spanData.getLinks()).isEqualTo(links);
assertThat(spanData.getChildSpanCount()).isNull();
assertThat(spanData.getStatus()).isNull();
@@ -165,7 +209,7 @@ public class SpanDataTest {
startTimestamp,
Attributes.create(Collections.<String, AttributeValue>emptyMap(), 0),
TimedEvents.create(Collections.<SpanData.TimedEvent<Annotation>>emptyList(), 0),
- TimedEvents.create(Collections.<SpanData.TimedEvent<NetworkEvent>>emptyList(), 0),
+ TimedEvents.create(Collections.<SpanData.TimedEvent<MessageEvent>>emptyList(), 0),
Links.create(Collections.<Link>emptyList(), 0),
0,
status,
@@ -178,6 +222,7 @@ public class SpanDataTest {
assertThat(spanData.getAttributes().getAttributeMap().isEmpty()).isTrue();
assertThat(spanData.getAnnotations().getEvents().isEmpty()).isTrue();
assertThat(spanData.getNetworkEvents().getEvents().isEmpty()).isTrue();
+ assertThat(spanData.getMessageEvents().getEvents().isEmpty()).isTrue();
assertThat(spanData.getLinks().getLinks().isEmpty()).isTrue();
assertThat(spanData.getChildSpanCount()).isEqualTo(0);
assertThat(spanData.getStatus()).isEqualTo(status);
@@ -195,7 +240,7 @@ public class SpanDataTest {
startTimestamp,
attributes,
annotations,
- networkEvents,
+ messageEvents,
links,
CHILD_SPAN_COUNT,
status,
@@ -209,7 +254,7 @@ public class SpanDataTest {
startTimestamp,
attributes,
annotations,
- networkEvents,
+ messageEvents,
links,
CHILD_SPAN_COUNT,
status,
@@ -223,7 +268,7 @@ public class SpanDataTest {
startTimestamp,
Attributes.create(Collections.<String, AttributeValue>emptyMap(), 0),
TimedEvents.create(Collections.<SpanData.TimedEvent<Annotation>>emptyList(), 0),
- TimedEvents.create(Collections.<SpanData.TimedEvent<NetworkEvent>>emptyList(), 0),
+ TimedEvents.create(Collections.<SpanData.TimedEvent<MessageEvent>>emptyList(), 0),
Links.create(Collections.<Link>emptyList(), 0),
0,
status,
@@ -245,7 +290,7 @@ public class SpanDataTest {
startTimestamp,
attributes,
annotations,
- networkEvents,
+ messageEvents,
links,
CHILD_SPAN_COUNT,
status,
@@ -257,7 +302,7 @@ public class SpanDataTest {
assertThat(spanDataString).contains(startTimestamp.toString());
assertThat(spanDataString).contains(attributes.toString());
assertThat(spanDataString).contains(annotations.toString());
- assertThat(spanDataString).contains(networkEvents.toString());
+ assertThat(spanDataString).contains(messageEvents.toString());
assertThat(spanDataString).contains(links.toString());
assertThat(spanDataString).contains(status.toString());
assertThat(spanDataString).contains(endTimestamp.toString());