問題タブ [diagnostics]
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.
performance - ソフトウェア コンポーネントのパフォーマンスをキャプチャしてログに記録するためのベスト プラクティス
開発中のソフトウェアの診断を実行するための優れた (できればプラグ アンド プレイ) ソリューションを探しています。私が取り組んでいるソフトウェアには、大規模なコンピューティング リソースを必要とするコンポーネントがいくつかあります。そのため、これらのコンポーネントのパフォーマンスを取得しようとしています。その理由は次の 2 つです。1) 必要なコンピューティング リソースとソフトウェアの実行コストを見積もる。2)コンポーネントの「改善」が何であるかを定量化します (つまり、コードを変更して速度が向上した場合、それは改善です)。私たちのアプリケーションは検索エンジンと他の多くのコンポーネントで構成されており、検索エンジンの速度を理解することもエンドユーザーにとって重要です。
問題を適切に定義する方法がわからないため、解決策を探すのは難しいようです。しかし、私がこれまでに見つけたのは、基本的なエラー ログのテクニックのようです。データから統計 (統計回帰など) を実行することを目的とするソリューションが最適です。単体テスト フレームワークには組み込みのテスト タイマーがあるかもしれませんが、さまざまなシナリオを考慮して、アプリケーションのライブ実行からデータを取得する必要があります。
したがって、実際には2つの質問があります。
1) この種のテスト用に定義済みのソリューションはありますか?
2) この種のデータに対して統計的回帰を実行するための適切なリファレンスはありますか? スクリプトの実行時間と入力データ (クエリなど) のサイズをキャプチャしたとします。データ サイズの変更が実行時間に及ぼす影響を理解するために、データ サイズの時間を回帰できます。しかし、関連するすべての変数が何であるかが明確ではないため、この種の回帰は注意が必要です。パフォーマンス データの分析に関する参考資料はどれも優れており、多くの人にとって有益であると私は信じています!
ありがとうマット
c++ - コピーの省略を確実にすることは可能ですか?
コピーの省略は優れた最適化手法であり、場合によっては、コピーの省略に依存する方が、参照を「手動で」渡すよりも実際に高速になることがあります。
したがって、最大のパフォーマンスを得るために、コードパスに対してコンパイラによってコピーの省略が実行されるという事実に依存する重要なコードパスを特定したと仮定します。
しかし今、あなたはコンパイラの最適化に依存しています。
コピーの省略が実際に実行され、コピーの省略が実行できない場合にコンパイラ(または別のツール)に警告/エラーを生成させる(コンパイラ固有の、明らかに)方法はありますか?
__forceinline
(このようにマークされた関数がコンパイラーによってインライン化されていない場合に警告を生成するよりも、Visual C ++にリモートで類似したものを考えています。)
c# - ツールチップ キャッチャー c#
ホットキーを押すと、ツール ヒント (現在のデスクトップ/ウィンドウに表示されるツール ヒント) をコピーできるアプリケーションを作成したいと考えています。では、現在のデスクトップにツール ヒントがあるかどうかを追跡するにはどうすればよいでしょうか。
c++ - C ++テンプレート関数でGCC診断プラグマを使用するにはどうすればよいですか?
g ++と-Werrorを使用したいので、制御できないサードパーティライブラリの警告を無効にする必要があります。http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.htmlによって提供されるソリューションは非常にうまく機能し、サードパーティのヘッダーのインクルードをプラグマでラップするだけで済みます。残念ながら、テンプレートが関係する特定のセットアップでは、それは機能しなくなりました。このアプローチが期待どおりに機能しなかった次の最小限の例を作成しました。
ソースファイルmain.cpp
およびヘッダーhdr.hpp
Makefileを使用してコンパイル
次のコンパイラエラーが発生します
ヘッダーをインクルードした直後のmain.cppでの明示的なインスタンス化は機能せず、main.cppでのテンプレート関数への呼び出しのラップも機能しなかったことに注意してください。main関数の前に置く#pragma GCC diagnostic ignored "-Wunused-parameter"
とコンパイラーが沈黙し、ファイルの最後#pragma GCC diagnostic error "-Wunused-parameter"
に追加するとコンパイラーが再びエラーを生成するという不可解なことがありました。このパズルを解く方法は?
(このプラグマについては数十のスレッドがありますが、そのようなセットアップに関係する人は見つかりませんでした)
iis - IIS:IISログはどこにありますか?
サードパーティからアプリケーションをセットアップしようとしています。これには、ローカルIISでホストされているサポートWebサイトが必要です。インストールガイドで説明されているとおりにWebサイトを作成しましたが、いくつか問題があり、IISログの内容を確認したいと思います。恥ずかしいことに、問題はログファイルが見つからないことです。
だから私の質問は:IIS7はデフォルトでログをどこに保存しますか?
.net - コードを介したMSBuildを使用したデータベースプロジェクトの展開のビルドは、リリースよりもデバッグの方がかなり長くなります
MSBuildエンジンを使用して、TeamServerデータベースプロジェクトで展開を実行しています。
これは、一連の単体テストのセットアップフィクスチャで実行されています。Resharperを使用して実行すると、セットアップは妥当な時間で実行されますが、テストをデバッグすると、デバッグ出力に大量のトレースノイズが発生します。ほとんどのメッセージは詳細レベルでログに記録されます。
関連するアセンブリのいくつかを振り返ると、静的クラスMicrosoft.Data.Schema.Common.Diagnostics.TSDTrace、Microsoft.Data.Schema.Utilitiesで作成された「TSData」という名前のTraceSourceがあることがわかりました。
デバッグウィンドウに表示される出力を停止したapp.configに以下を適用しようとしましたが、実行時間は影響を受けません。
ロギングクラスには、次の小さな宝石があります。
ここで、_traceIfDebuggerAttachedは常にtrueです。私は何かを逃したことをホッピングしています。最終的にはこれをコードから無効にしたいのですが、アプリの構成を含む解決策を選びます。
編集
私は間違いを犯しました。トレースソースは、上記で修正した実際の「TSData」です。app.configでログレベルをオフに設定しました。これにより、出力がデバッグ出力に表示されなくなりましたが、速度は同じです。この問題は私がやろうとしていることに固有のものであるように思われるので、元の質問にさらに詳細を追加しました。
c# - C# を使用した依存関係チェッカー診断ユーティリティ
アップデート:
WinForms アプリケーションを使用して、コンピューターの構成と診断ユーティリティを検証し、エンド ユーザーまたはテクニカル サポート担当者が実行して、ユーザーのマシンが特定のアプリケーションに対して正しく構成されているかどうかを判断したいと考えています。
特定のアプリケーションでワークステーションをトラブルシューティングする方法について、日常生活から着想を得た参考文献を見つけたいと思います。チェックリストとガイドラインは非常に有用であることが証明されていますが、関連する手動プロセスはいくぶん退屈です。初期のトラブルシューティングを迅速化し、ターンアラウンド タイムを短縮することをお勧めします。
VS 2010、C#、Win7、および WinXP を使用しています。
コードプレックスでNdiagnosticsしか見つかりませんでしたが、プロジェクトは死んでいます
たとえば、Sql Server 2008 R2 インストーラーが行うように、この構成を確認するにはどうすればよいですか(SQL Server セットアップは、セットアップ操作が完了する前にコンピューターの構成を検証します)。
64 ビット プラットフォームの場合、OS バージョン、.NET Framework の特定のバージョン、IIS バージョン、システム プラットフォームをチェックします。
Java バージョン、ビジュアル J# ランタイム バージョン、ビジュアル C++ ランタイム バージョンがインストールされていることを確認します
保留中のコンピューターの再起動が必要かどうかを確認します。
コンピューターがオペレーティング システムの最小バージョン要件を満たしているかどうかを確認します。
SQL Server セットアップを実行しているアカウントがコンピューターの管理者特権を持っているかどうかを確認します。
WMI サービスが開始され、コンピューターで実行されているかどうかを確認します。
コンピュータがインターネットに接続されているかどうかを確認します。
コンピューターがドメイン コントローラーであるかどうかを確認します。
Windows PowerShell がインストールされているかどうかを確認します。
Visual Studio 2008 の以前のリリース、または既に SP1 にアップグレードされているかどうかを確認します。
既存のパフォーマンス カウンター レジストリ ハイブが一貫しているかどうかを確認します。
SqlServer バージョンまたは SQL Server サービスがインストールされているかどうかを確認します。
.NET のチェック: smtp とプロキシの構成、...
ユーザーがマシン管理者であるかどうかを確認したり、ユーザーが指定されたグループ/ロールに属していることを確認したりします。
特定の「URL」が利用可能かどうかを判断します (Web ページまたは Web サービスを確認できます)。
特定のサーバーが利用可能かどうかを判断します (イントラネット内の任意のサーバーを確認できます)。
税関:
特定のフォルダの存在をチェックし、
特定のプロセスが実行されているかどうかを判断します
接続のテスト sqlserver-oracle-checks で指定されたデータベースへの接続を確認します。-、メール smtp 接続のテストなど
もっと...
提案、コード サンプル、ヒント、サンプル アプリケーションなどはありますか?
更新: Microsoft All-In-One Code Framework でのリクエスト
http://1code.codeplex.com/workitem/10118
良いアイデアは Microsoft Dynamics CRM 2011 の診断ツールですが、CRM にのみ固有です
http://crmdiagtool2011.codeplex.com/
ruby - Rubyでトップレベルの名前空間を取得する
Rubyでこれを行うにはどうすればよいですか?:
インタープリター言語での診断の場合、コードをすばやく変更し、オブジェクトを最上位の名前空間に入れて、インタラクティブな環境でそれをいじる方が速い場合があります。
Pythonでは、これをコードに追加します。
...次に、コマンドを使用してファイルを実行しますpython -i [myfilename]
。Rubyのトップレベルの名前空間にアクセスする方法はありますか?
unit-testing - リリースされたソフトウェアにテストを組み込むためのガイドライン?
多くのオープンソースプロジェクトでは、使用されるテストスイートは多くの場合包括的です。これは、多くの人々が途中であまり中断することなく変更に簡単に貢献できるようにするために行われます。
私が使用したソフトウェアの1つは、テストフレームワークFitnNesseです。FitNesseの興味深い点の1つは、テストスイートが「インストールされた」システムの一部であることです。
リリースされたソフトウェアに、どのレベルのテストを組み込むかについてのガイドラインはありますか?
明らかに、リリースされた製品にすべての単体テストを含めることは、おそらく正しいことではありません。
これらの組み込まれたテストの別名は「診断」である可能性があります。
perl - Perl、直接含まれていないモジュールからの診断メッセージを回避する方法は?
この警告が表示されます (「use diagnostics;」の後);
/usr/lib/perl5/HTML/PullParser.pm 81 行目でエンティティをデコードするときに、デコードされていない UTF-8 を解析するとガベージが生成されます。
私のプログラムは次のようなものです:
どうすればそれを取り除くことができますか? それとも無視しても大丈夫ですか?
更新: WWW::Mechanize::GZip->new() の代わりに WWW::Mechanize->new() を使用すると、静かに動作することを知っているだけです...だから、問題は GZip モジュールから来ています...?