2015-07-10 5 views
5

Я ищу, чтобы получить общее время запроса в жрать 6, только после того, как простой запрос GET:жрать 6 - Получить запрос общее время

$client = new GuzzleHttp\Client(); 
$response = client->get('http://www.google.com/'); 

Но ничего не могу найти в документации об этом. Есть идеи ?

Большое спасибо.

ответ

1
$client = new GuzzleHttp\Client(); 
$one = microtime(); 
$response = client->get('http://www.google.com/'); 
$two = microtime(); 
echo 'Total Request time: '. ($two - $one); 
+0

Если вы делаете одновременных запросов , что на самом деле не помогает ... – Erutan409

+0

если он работает для вас по одному запросу, просто используйте массив для хранения многих из них, например: '$ time ['start'] ['google'] = microtime() ; 'хранить конец в' $ time ['end'] ['google'] 'и перебирать, когда захотите. – xpy

-1

У меня была аналогичная проблема, хотя это все еще Guzzle 5.3.

См Guzzle 5.3 - Get request duration for asynchronous requests

Может быть, слушая события в Guzzle6 и извлечения TransferInfo будет делать трюк для вас тоже.

Это работает как для синхронных, так и для асинхронных запросов.

+1

В Guzzle 6 не используются события. Он использует обещания. Guzzle 6.1 добавила встроенную поддержку для обеспечения доступа к статистике транзакций с помощью предоставления возможности запроса на запрос «on_stats». –

+0

Ваш ответ содержит неправильную версию Guzzle. Тема стартера спросила о Гузле 6+. Вы даете ответ для 5.3. Эти версии Guzzle несовместимы друг с другом. – mrDinkelman

+0

Хотя вы говорите правду, как я уже говорил в самом начале моего ответа, с этим нет никаких проблем. Хотя это было всего лишь советом, чтобы увидеть, существует ли аналогичная концепция в Guzzle 6+, и, поскольку она, похоже, не помогает, не помогает TS, кто-то другой, пришедший с описанием проблемы, но на версии 5.x найдет это полезно. Достаточно сложно найти достоверную информацию о жужжании. Также: Этот ответ 1,5 года. Давайте не будем воскрешать мертвых. – Worp

Смежные вопросы