opentelemetry.proto.trace.v1.Span.SpanKind */ class SpanKind { /** * Unspecified. Do NOT use as default. * Implementations MAY assume SpanKind to be INTERNAL when receiving UNSPECIFIED. * * Generated from protobuf enum SPAN_KIND_UNSPECIFIED = 0; */ const SPAN_KIND_UNSPECIFIED = 0; /** * Indicates that the span represents an internal operation within an application, * as opposed to an operation happening at the boundaries. Default value. * * Generated from protobuf enum SPAN_KIND_INTERNAL = 1; */ const SPAN_KIND_INTERNAL = 1; /** * Indicates that the span covers server-side handling of an RPC or other * remote network request. * * Generated from protobuf enum SPAN_KIND_SERVER = 2; */ const SPAN_KIND_SERVER = 2; /** * Indicates that the span describes a request to some remote service. * * Generated from protobuf enum SPAN_KIND_CLIENT = 3; */ const SPAN_KIND_CLIENT = 3; /** * Indicates that the span describes a producer sending a message to a broker. * Unlike CLIENT and SERVER, there is often no direct critical path latency relationship * between producer and consumer spans. A PRODUCER span ends when the message was accepted * by the broker while the logical processing of the message might span a much longer time. * * Generated from protobuf enum SPAN_KIND_PRODUCER = 4; */ const SPAN_KIND_PRODUCER = 4; /** * Indicates that the span describes consumer receiving a message from a broker. * Like the PRODUCER kind, there is often no direct critical path latency relationship * between producer and consumer spans. * * Generated from protobuf enum SPAN_KIND_CONSUMER = 5; */ const SPAN_KIND_CONSUMER = 5; private static $valueToName = [ self::SPAN_KIND_UNSPECIFIED => 'SPAN_KIND_UNSPECIFIED', self::SPAN_KIND_INTERNAL => 'SPAN_KIND_INTERNAL', self::SPAN_KIND_SERVER => 'SPAN_KIND_SERVER', self::SPAN_KIND_CLIENT => 'SPAN_KIND_CLIENT', self::SPAN_KIND_PRODUCER => 'SPAN_KIND_PRODUCER', self::SPAN_KIND_CONSUMER => 'SPAN_KIND_CONSUMER', ]; public static function name($value) { if (!isset(self::$valueToName[$value])) { throw new UnexpectedValueException(sprintf( 'Enum %s has no name defined for value %s', __CLASS__, $value)); } return self::$valueToName[$value]; } public static function value($name) { $const = __CLASS__ . '::' . strtoupper($name); if (!defined($const)) { throw new UnexpectedValueException(sprintf( 'Enum %s has no value defined for name %s', __CLASS__, $name)); } return constant($const); } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(SpanKind::class, \Opentelemetry\Proto\Trace\V1\Span_SpanKind::class);