function TraceableSerializer::encode
Overrides EncoderInterface::encode
File
-
vendor/
symfony/ serializer/ Debug/ TraceableSerializer.php, line 99
Class
- TraceableSerializer
- Collects some data about serialization.
Namespace
Symfony\Component\Serializer\DebugCode
public function encode(mixed $data, string $format, array $context = []) : string {
$context[self::DEBUG_TRACE_ID] = $traceId = bin2hex(random_bytes(4));
$startTime = microtime(true);
$result = $this->serializer
->encode($data, $format, $context);
$time = microtime(true) - $startTime;
$caller = $this->getCaller(__FUNCTION__, EncoderInterface::class);
$this->dataCollector
->collectEncode($traceId, $data, $format, $context, $time, $caller, $this->serializerName);
return $result;
}