デザインアーキテクチャ
jpOwlクライアントは、クライアントがビジネス・サービスのパフォーマンスに影響を与えることができない任意のシナリオの下で、シンプルなAPI、高い信頼性を要求し、そこからJava言語で書かれています。各ビジネスラインのための豊富な機能とデータ収集を提供するように設計さ埋没。
より特別なスレッド結合メカニズムであるJavaでの変数値のコピーを提供します、その変数を使用するように、スレッドごとにデータの収集にThreadLocalのを使用して、すべてのスレッドが独立して、そのコピーを変更することができます紛争や他のスレッドのコピーではありません。
図に示すように、時にビジネスロジックの実行は、実際に監督のツリー構造はThreadContext、はThreadContextに格納されている対応する監視要求を配置します。最終営業スレッドの実行の終わりには、監視対象 非同期 メモリキューに、jpOwlは、キュー内のスレッドの消費量のデータがある 非同期 サードパーティのストレージエンジンに送られます。価値とメリット
値
- 障害検出時間を短縮
- 故障箇所のコストを削減
- ヘルパーアプリケーションの最適化
- 監視データは、完全な統計、jpOwlサポートが事前に計算されたデータであります
- リンクデータのサンプルが計算されます
優位
- リアルタイム処理:情報の価値は、時間の経過とともに削除されますので、必要性はすぐに情報を収集します
- データの完全な量:容易にするために、インデックスデータの全額を集める詳細な分析の障害ケース
- フォールトトレランス:障害がビジネスは透明、事業の正常な動作には影響を与えません。
- ハイスループット:データを収集するために大規模な監視、あなたは高いスループットを確保するために行う必要があります
ビジネスモデルのモニタリング
jpOwlは、以下の4つのメインモニタのモデルをサポートしています。
- トランザクションなど長距離通話、データベース・コールなどのシステムの境界にまたがるプログラムのアクセス行動を記録するのに適し、だけでなく、ビジネスロジックモニタ、実行時間や回数コードの一部を記録するために使用されるトランザクションを実行するのに長い時間のために。
- イベントは、このような統計や取引時間の不足に比べて、トランザクション未満費用記録システムの異常、など何かが起こる回数の数を記録するために使用します。
- ハートビートは、例えば、CPU使用率、メモリ使用率、接続プールのステータス、システムの負荷として、定期的にプログラム内で生成された統計を表します。
- メトリック・トラフィックインジケータを記録するため、指標は平均値、記録の和、1分の最小粒子サイズの統計交通指標を記録、レコードの数の指標を含むことができます。
ニュースの木
jpOwl監視システムURL、サービス要求の内部実装が完了メッセージツリーとしてパッケージ化されるたびに、ツリーは、メッセージ含んでいてもよいTransaction
、Event
、Heartbeat
、Metric
およびその他の情報。Completeメッセージツリー
APIの機能設計
- URLレコードは、時間のかかるコードの一部は、それが時間のかかるSQLすることができことができます
- あなたは、コードのレコード番号は、ロジックの例外、実行頻度や期間をスロー記録することができます
- 報告書は、定期的にコア指標、JVMメモリ、GCおよびその他の指標のいくつかを実行します
- 監視業務などの受注数を監視などの指標、取引、決済成功率
- 宣言型またはプログラムの監視注入
- サードパーティのデータストレージエンジンを任命する無料
- これは、自動降格ログレベルをサポートしています
- 動的分類のための監視ログのプレフィックスを指定します
パフォーマンスデザイン
非常に重要な側面である全体のクライアント側のパフォーマンスなど、シリアライズや通信サービス、
- 非同期シリアル化、シーケンス合意プロトコルのjpOwlシーケンスいるProtobuf
- 非同期通信、jpOwl通信はNIOに基づいてデータ伝送が網状達成されます
- IOの非同期操作
- の非同期伝送
- 非同期データ収集、ベースのロギングパイプラインNIO
- データバッファメモリのレベルに基づいて