問題タブ [blackfire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2705 参照

php - Blackfire モジュールを一時的に無効にする

Blackfire エージェント、cli ツール、およびプローブのインストールに成功し、正常に動作します。bf でプロファイリングしている間、xdebug モジュールを無効にしました。

以前と同じように xdebug を使用したいのですが、xdebug が機能せず、デバッグ セッションに入らないだけです。ブレークポイントがなく、機能しませんxdebug_break。プロデューサーのウェブサイトからの引用は次のように述べています。

既知の非互換性

デバッグでコンパイルされた PHP はサポートされておらず、Probe は XDebug または XHProf と競合する可能性があることに注意してください。Probe を有効にするときに、これらの拡張機能を無効にします。

Blackfire ツールチェーン全体をアンインストールせずにBlackfireエージェントを無効にする方法はありますか? ファイル/etc/php5/conf.d/90-blackfire.iniをバックアップ場所に移動しても機能しませんでした。

更新 何が機能するかは、phpエージェントをアンインストールすることsudo apt-get remove blackfire-phpです。しかし、私はより良い解決策があるに違いないと確信しています。

0 投票する
1 に答える
227 参照

php - blackfire.io を使用して PHP 7 アプリケーションをプロファイリングすると、同じコードに対して異なる CPU 時間が表示されるのはなぜですか?

レガシー PHP7 アプリケーションのサポートとリワークを行っています。このアプリケーションはオートローディングを使用しません。代わりに、このアプリケーションではすべてのクラスを 1 つのファイルで要求し、すべてのディレクトリをクラスで巡回します。古いチームは、それが素晴らしい最適化方法だと考えていました。

だから私はBlackfireでいくつかのテストを行い、これを含むとCPUの半分の時間を消費する可能性があることがわかりました. 私は autoload で実験を行い、CPU 時間を 2 倍に、メモリ消費を 3 倍に減らしました。すばらしい結果です。

次に、オートロードを使用せずに古いコードで実験を続けたところ、場合によってはメガ インクルードが多くの時間を消費しないことがわかりました (そして、多くのループを含むフラット ファイルであり、if-else ステートメントはありません)。

blackfire パネルでは、これはインクルードを含むファイルに非常に顕著な数の呼び出し先があるように見えます。あるケースでは、このファイルには 21 の呼び出し先があり、132 ミリ秒で動作します。別のケースでは、6 つの呼び出し先で 2.63 ミリ秒です。

そして、私はそのような違いの理由を理解していません。私の推測では、PHP7 は非常にスマートで、実際にバイト コードでコンパイルする必要があるクラスとそうでないクラスを分析できます。

このような違いが存在する理由を誰かが知っていますか?

PS: ブラックファイア レポートを表示することはできません。PM はこれを許可していません。

0 投票する
1 に答える
1153 参照

wamp - Blackfire が Windows / WAMP で動作しない

Blackfire から、「このページをプロファイリングする権限がありますか? プローブが見つからないか、署名が無効です。」というメッセージが表示されます。私のWAMPインストールで!

すべての手順を正しく実行し、すべてを適切な場所にインストールしました。

0 投票する
2 に答える
3846 参照

php - Docker 環境で Blackfire コンテナを使用してアプリをプロファイリングする

今日、Blackfire を Docker スタックに追加しようとしています。Docker 実装専用の Blackfire ドキュメントに従いました。コンテナーは正しく設定されていますが、アプリケーションの最初のプロファイルを作成できません。

これは Symfony スタックです。PHP-FPM コンテナーと、コマンドを起動する CLI コンテナーがあります。NGINX コンテナーは Web サーバーです。

私のdocker-compose.ymlファイルは次のとおりです。

環境変数は Blackfire ID で適切に設定されています。

次のコマンドラインでプロファイルを作成しようとしています:

結果は次のとおりです。

PHP-FPM と CLI Dockerfiles の両方に、ドキュメントの指示を入れました。

編集: プロファイル コマンドをトリガーした後、PHP-FPM コンテナーと NGINX アプリ ログに次のログがあります。

PHP-FPM

NGINX

0 投票する
2 に答える
770 参照

php - Laravel / Blackfire - かなりの時間がかかるオートローダーを含む作曲家

PHP / Laravel アプリケーションのプロファイリングにBlackfireを使用しています。ほとんどのエンドポイントで、Composer に長い時間がかかっているようです。具体的には、メソッドComposer\Autoload\includeFile. 以下の例では、240 回呼び出されます。

今、実行composer dump-autoload --optimizeしてopcache有効にしました。この動作は正常ですか、それとも問題を示していますか? 私の理解では、オートローダーを含める必要があるのは 1 回だけです。

ブラックファイア スクリーンショット 1 ブラックファイア スクリーンショット 2