public function isCompressionEligible()

in agent/php/ElasticApm/Impl/Span.php [263:293]


    public function isCompressionEligible(): bool
    {
        if (!$this->isCompressible) {
            ($loggerProxy = $this->logger->ifTraceLevelEnabled(__LINE__, __FUNCTION__))
            && $loggerProxy->log('This span is not eligible for compression because it is not marked as compressible');
            return false;
        }

        if ($this->wasPropogatedViaDistributedTracing) {
            ($loggerProxy = $this->logger->ifTraceLevelEnabled(__LINE__, __FUNCTION__))
            && $loggerProxy->log('This span is not eligible for compression because its ID was propogated via distributed tracing');
            return false;
        }

        if ($this->hasChildren) {
            ($loggerProxy = $this->logger->ifTraceLevelEnabled(__LINE__, __FUNCTION__))
            && $loggerProxy->log('This span is not eligible for compression because it has children');
            return false;
        }

        if ($this->outcome !== null && $this->outcome !== Constants::OUTCOME_SUCCESS) {
            ($loggerProxy = $this->logger->ifTraceLevelEnabled(__LINE__, __FUNCTION__))
            && $loggerProxy->log('This span is not eligible its outcome is present and it is not success', ['outcome' => $this->outcome]);
            return false;
        }

        ($loggerProxy = $this->logger->ifTraceLevelEnabled(__LINE__, __FUNCTION__))
        && $loggerProxy->log('This span is eligible for compression');

        return true;
    }