public function testStats_ExtendedHierarchy() { $this->container->expects($this->once())->method('getData')->will($this->returnValue(array('Foo.foobar' => 5, 'Bar' => 1, 'Foo.foobar.baz' => 1))); $expected = array('Foo' => array('foobar' => array(5, 'baz' => 1)), 'Bar' => 1); $instance = new TransientStatsdCollector($this->blobStore, 42); $this->assertEquals($expected, $instance->getStats()); }
/** * @since 2.5 * * @return array */ public function getStats() { $stats = array_filter($this->transientStatsdCollector->getStats(), function ($key) { return $key !== false; }); if (!isset($stats['misses']) || !isset($stats['hits'])) { return $stats; } // hits.embedded + hits.nonEmbedded $hits = array_sum($stats['hits']); $stats['ratio'] = array(); $stats['ratio']['hit'] = $hits > 0 ? round($hits / ($hits + $stats['misses']), 4) : 0; $stats['ratio']['miss'] = $hits > 0 ? round(1 - $stats['ratio']['hit'], 4) : 1; // Move to last $meta = $stats['meta']; unset($stats['meta']); $stats['meta'] = $meta; return $stats; }