# Enum Span.SpanKind (2.93.0)

2.93.0 (latest) 2.91.0 2.88.0 2.87.0 2.85.0 2.83.0 2.82.0 2.80.0 2.78.0 2.76.0 2.75.0 2.74.0 2.73.0 2.72.0 2.70.0 2.68.0 2.67.0 2.64.0 2.63.0 2.62.0 2.60.0 2.59.0 2.58.0 2.57.0 2.56.0 2.55.0 2.54.0 2.53.0 2.52.0 2.51.0 2.49.0 2.48.0 2.47.0 2.46.0 2.45.0 2.44.0 2.43.0 2.42.0 2.41.0 2.40.0 2.39.0 2.37.0 2.36.0 2.35.0 2.34.0 2.33.0 2.32.0 2.31.0 2.30.0 2.29.0 2.28.0 2.27.0 2.24.0 2.23.0 2.22.0 2.21.0 2.20.0 2.19.0 2.18.0 2.17.0 2.16.0 2.15.0 2.14.0 2.13.0 2.12.0 2.11.0 2.9.0 2.8.0 2.7.0 2.6.0 2.5.0 2.4.0 2.3.7 2.2.0 2.1.13

    public enum Span.SpanKind extends Enum<Span.SpanKind> implements ProtocolMessageEnum

Type of span. Can be used to specify additional relationships between spans
in addition to a parent/child relationship.

Protobuf enum `google.devtools.cloudtrace.v2.Span.SpanKind`

## Implements

[ProtocolMessageEnum](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ProtocolMessageEnum.html)

## Inherited Members

[Enum.\<T\>valueOf(Class\<T\>,String)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#valueOf-java.lang.Class-java.lang.String-) [Enum.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#clone--) [Enum.compareTo(E)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#compareTo-E-) [Enum.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#equals-java.lang.Object-) [Enum.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#finalize--) [Enum.getDeclaringClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#getDeclaringClass--) [Enum.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#hashCode--) [Enum.name()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#name--) [Enum.ordinal()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#ordinal--) [Enum.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#toString--) [Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) [Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) [Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) [Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) [Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) [Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)

| ## Static Fields ||
|---|---|
| **Name** | **Description** |
| `CLIENT` | Indicates that the span covers the client-side wrapper around an RPC or other remote request. `CLIENT = 3;` |
| `CLIENT_VALUE` | Indicates that the span covers the client-side wrapper around an RPC or other remote request. `CLIENT = 3;` |
| `CONSUMER` | Indicates that the span describes consumer receiving a message from a broker. Unlike client and server, there is no direct critical path latency relationship between producer and consumer spans (e.g. receiving a message from a pubsub service subscription). `CONSUMER = 5;` |
| `CONSUMER_VALUE` | Indicates that the span describes consumer receiving a message from a broker. Unlike client and server, there is no direct critical path latency relationship between producer and consumer spans (e.g. receiving a message from a pubsub service subscription). `CONSUMER = 5;` |
| `INTERNAL` | Indicates that the span is used internally. Default value. `INTERNAL = 1;` |
| `INTERNAL_VALUE` | Indicates that the span is used internally. Default value. `INTERNAL = 1;` |
| `PRODUCER` | Indicates that the span describes producer sending a message to a broker. Unlike client and server, there is no direct critical path latency relationship between producer and consumer spans (e.g. publishing a message to a pubsub service). `PRODUCER = 4;` |
| `PRODUCER_VALUE` | Indicates that the span describes producer sending a message to a broker. Unlike client and server, there is no direct critical path latency relationship between producer and consumer spans (e.g. publishing a message to a pubsub service). `PRODUCER = 4;` |
| `SERVER` | Indicates that the span covers server-side handling of an RPC or other remote network request. `SERVER = 2;` |
| `SERVER_VALUE` | Indicates that the span covers server-side handling of an RPC or other remote network request. `SERVER = 2;` |
| `SPAN_KIND_UNSPECIFIED` | Unspecified. Do NOT use as default. Implementations MAY assume SpanKind.INTERNAL to be default. `SPAN_KIND_UNSPECIFIED = 0;` |
| `SPAN_KIND_UNSPECIFIED_VALUE` | Unspecified. Do NOT use as default. Implementations MAY assume SpanKind.INTERNAL to be default. `SPAN_KIND_UNSPECIFIED = 0;` |
| `UNRECOGNIZED` |   |

| ## Static Methods ||
|---|---|
| **Name** | **Description** |
| `forNumber(int value)` |   |
| `getDescriptor()` |   |
| `internalGetValueMap()` |   |
| `valueOf(Descriptors.EnumValueDescriptor desc)` |   |
| `valueOf(int value)` | **Deprecated.** *Use [#forNumber(int)](https://docs.cloud.google.com/java/docs/reference/google-cloud-trace/latest/com.google.devtools.cloudtrace.v2.Span.SpanKind#com_google_devtools_cloudtrace_v2_Span_SpanKind_forNumber_int_) instead.* |
| `valueOf(String name)` |   |
| `values()` |   |

| ## Methods ||
|---|---|
| **Name** | **Description** |
| `getDescriptorForType()` |   |
| `getNumber()` |   |
| `getValueDescriptor()` |   |