JEMBOT MAWOT Bypass Shell
<?php
declare(strict_types=1);
namespace Sentry\Tracing;
class SpanContext
{
/**
* @deprecated since version 3.1, to be removed in 4.0
*/
private const TRACEPARENT_HEADER_REGEX = '/^[ \\t]*(?<trace_id>[0-9a-f]{32})?-?(?<span_id>[0-9a-f]{16})?-?(?<sampled>[01])?[ \\t]*$/i';
/**
* @var string|null Description of the Span
*/
private $description;
/**
* @var string|null Operation of the Span
*/
private $op;
/**
* @var SpanStatus|null Completion status of the Span
*/
private $status;
/**
* @var SpanId|null ID of the parent Span
*/
protected $parentSpanId;
/**
* @var bool|null Has the sample decision been made?
*/
private $sampled;
/**
* @var SpanId|null Span ID
*/
private $spanId;
/**
* @var TraceId|null Trace ID
*/
protected $traceId;
/**
* @var array<string, string> A List of tags associated to this Span
*/
private $tags = [];
/**
* @var array<string, mixed> An arbitrary mapping of additional metadata
*/
private $data = [];
/**
* @var float|null Timestamp in seconds (epoch time) indicating when the span started
*/
private $startTimestamp;
/**
* @var float|null Timestamp in seconds (epoch time) indicating when the span ended
*/
private $endTimestamp;
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): void
{
$this->description = $description;
}
public function getOp(): ?string
{
return $this->op;
}
public function setOp(?string $op): void
{
$this->op = $op;
}
public function getStatus(): ?SpanStatus
{
return $this->status;
}
public function setStatus(?SpanStatus $status): void
{
$this->status = $status;
}
public function getParentSpanId(): ?SpanId
{
return $this->parentSpanId;
}
public function setParentSpanId(?SpanId $parentSpanId): void
{
$this->parentSpanId = $parentSpanId;
}
public function getSampled(): ?bool
{
return $this->sampled;
}
public function setSampled(?bool $sampled): void
{
$this->sampled = $sampled;
}
public function getSpanId(): ?SpanId
{
return $this->spanId;
}
public function setSpanId(?SpanId $spanId): void
{
$this->spanId = $spanId;
}
public function getTraceId(): ?TraceId
{
return $this->traceId;
}
public function setTraceId(?TraceId $traceId): void
{
$this->traceId = $traceId;
}
/**
* @return array<string, string>
*/
public function getTags(): array
{
return $this->tags;
}
/**
* @param array<string, string> $tags
*/
public function setTags(array $tags): void
{
$this->tags = $tags;
}
/**
* @return array<string, mixed>
*/
public function getData(): array
{
return $this->data;
}
/**
* @param array<string, mixed> $data
*/
public function setData(array $data): void
{
$this->data = $data;
}
public function getStartTimestamp(): ?float
{
return $this->startTimestamp;
}
public function setStartTimestamp(?float $startTimestamp): void
{
$this->startTimestamp = $startTimestamp;
}
public function getEndTimestamp(): ?float
{
return $this->endTimestamp;
}
public function setEndTimestamp(?float $endTimestamp): void
{
$this->endTimestamp = $endTimestamp;
}
/**
* Returns a context populated with the data of the given header.
*
* @param string $header The sentry-trace header from the request
*
* @return static
*
* @deprecated since version 3.1, to be removed in 4.0
*/
public static function fromTraceparent(string $header)
{
@trigger_error(sprintf('The %s() method is deprecated since version 3.1 and will be removed in 4.0. Use TransactionContext::fromHeaders() instead.', __METHOD__), \E_USER_DEPRECATED);
$context = new static();
if (!preg_match(self::TRACEPARENT_HEADER_REGEX, $header, $matches)) {
return $context;
}
if (!empty($matches['trace_id'])) {
$context->traceId = new TraceId($matches['trace_id']);
}
if (!empty($matches['span_id'])) {
$context->parentSpanId = new SpanId($matches['span_id']);
}
if (isset($matches['sampled'])) {
$context->sampled = '1' === $matches['sampled'];
}
return $context;
}
}
xxxxx1.0, XXX xxxx