2015-07-10 15 views
5

Szukam odzyskać całkowity czas żądania w chlać 6, tuż po prostego wniosku otrzymujemy:chlać 6 - Get żądania całkowity czas

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

Ale nie mogę znaleźć nic w docs o tym. Dowolny pomysł ?

Wielkie dzięki.

Odpowiedz

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

Jeśli robisz jednoczesnych żądań , to naprawdę nie pomaga ... – Erutan409

+0

jeśli to działa dla Ciebie na jedno żądanie, po prostu użyj tablicy do przechowywania wielu z nich, takich jak: '$ time ['start'] ['google'] = microtime() ; "przechowuj koniec na $ $ ['end'] ['google']' i twórz iteracje, kiedy tylko chcesz. – xpy

-1

Miałem podobny problem, mimo że nadal jest Guzzle 5.3.

Zobacz Guzzle 5.3 - Get request duration for asynchronous requests

Może słuchać zdarzenie w Guzzle6 i pobierania TransferInfo załatwi za Ciebie.

Działa to zarówno w przypadku żądań synchronicznych, jak i asynchronicznych.

+1

Guzzle 6 nie korzysta z wydarzeń. Wykorzystuje obietnice. Guzzle 6.1 dodał natywną obsługę zapewniania dostępu do statystyk transakcji poprzez użycie opcji wywoływania dla opcji żądania "on_stats". –

+0

Twoja odpowiedź zawiera nieprawidłową wersję Guzzle. Temat starter zapytał o Guzzle 6+. Podajesz odpowiedź na 5.3. Te wersje Guzzle są ze sobą niezgodne. – mrDinkelman

+0

Podczas gdy to, co mówisz, jest prawdą, jak już powiedziałem na samym początku mojej odpowiedzi, nie ma z tym problemu. Chociaż było to tylko sugestia, czy podobna koncepcja nadal istnieje w Guzzle 6+ i, jak się wydaje, nie pomaga TS, ktoś inny przychodzi z opisem problemu, ale na wersji 5.x znajdzie to przydatne. Trudno jest znaleźć prawidłowe informacje o tym, jak to jest. Ponadto: ta odpowiedź ma 1,5 roku. Nie wskrzeszajmy umarłych. – Worp

Powiązane problemy