2010-11-16 81 views
2

Comment fonctionne un outil de surveillance des performances des applications tel que New Relic RPM? Comment peut-il comprendre toutes ces informations sur votre application? Si quelqu'un devait construire quelque chose de similaire pour une application PHP, où serait un bon endroit pour commencer? (Je sais que New Relic pour PHP est disponible, je suis intéressé par la façon d'en construire un moi-même).Comment fonctionne un outil de surveillance des performances des applications tel que New Relic RPM?

Répondre

0

Un bon début est de regarder le système de réflexion de PHP;

http://php.net/manual/en/book.reflection.php

utilisation peut recueillir des informations les plus vitales en utilisant des traces et profileur décharges, consultez le site Web de xdebug pour plus d'informations.

3

Vous pouvez regarder Pinba qui est un peu similaire à New Relic.

+0

Merci beaucoup! –

1

New Relic utilise une extension PHP personnalisée. Vous devez installer ceci et ensuite il rapportera à leur application principale. Tous les outils APM les plus connus le font de cette façon: Nouvelle Relique, Dynatrace/Ruxit, AppDynamics, Tideways, Instana, ...

Leurs extensions se verrouillent généralement dans le function executors of the PHP engine. Cela leur permet d'exécuter du code arbitraire, par ex. pour mesurer le temps d'exécution, l'utilisation de la mémoire, etc. lorsque des fonctions individuelles sont exécutées. Ces mesures sont collectées puis envoyées via le réseau (ou d'autres moyens) vers une application de traitement.

Vous pouvez jeter un oeil à Facebook's xhprof, xdebug ou Tideways pour des exemples open source sur l'accrochage dans les exécuteurs de fonction et le profilage du code PHP. Ces profileurs exposent également des fonctions dans un espace utilisateur pour permettre aux utilisateurs de faire des instruments personnalisés de leur propre code, par ex. seulement le profil des parties spécifiques du code, etc