起源
最近、私は非常に人気のタイトル、見て「私が主張どのようにオープンソースXX年、スターXXXを。」
このタイトルを参照してください、突然、ちょうど秋のシーズンに次の要約とレビューを行う、ちょうど今年、2018年9月にオープンソース以来、Arthasはを発見しました。
Arthas
アリババは似開発者がオープンソースのJava診断ツールです。
- Githubの:github.com/alibaba/art...
- ドキュメント:alibaba.github.io/arthas
Arthasは数のスターの歴史を想起し、それは、急速な成長を維持している画期的な16Kとなっています。
ユーザーのサポートのおかげで、圧力だけでなく、やる気だけではありません。昨年、オープンソース、Arthasは、我々は3点を主張してきた、リリース7のバージョンをリリースしました?:
- 継続的にユーザビリティを向上させます
- 増加し続けてコマンドを使用して簡単に
- コミュニティに戻って、オープンソースコミュニティからの強さを得ます
継続的にユーザビリティを向上させます
Arthasは、最初の場所での使いやすさは、オープンソースの後、我々は次のような改善がなされています。
- 開発Arthasはブーツ、Windowsの/ Linuxの/ Macの統一の経験のためのサポート
- シルキー完了、参照jshell経験
- 効率的な歴史マッチングコマンドを、
Up/Down
直接 - 改善されたカテゴリ検索マッチング機能、ラムダおよび内部クラスのためのより良いサポート
- パーフェクトリダイレクトメカニズム
- サポートJDK 9/10/11
- サポートドッカー
- サポートRPM / DEBパッケージをインストール
私たちは多くの努力の下で容易に、しかし何度もユーザーエントリより困難なこと、それゆえ、私たちはインタラクティブチュートリアルのK8Sを参照していますが、Arthasはのオンラインチュートリアルを開始しました:
基本的なチュートリアルでは、あなたはどこに上級コースを介してケースArthasはトラブルシューティングの深い理解をすることができます対話型端末のエントリをステップ実行することができます。
また、ユーザの大規模な展開の便宜のために、我々は、トンネルサーバとユーザデータ報告を実現しました。
- トンネルサーバ、統合管理エージェントの接続性を増やします
- セキュリティ管理と制御を行うために、簡単なユーザーデータリターン機能を増やします
増加し続けてコマンドを使用して簡単に
Arthasは知られている診断ツールは、Javaアプリケーションですので、我々はスローガンの価値がある必要があります。オープンソースの後、Arthasは10の以上のコマンドを増加し続けました。
- OGNLコマンド任意のコードの実行
- MCラインメモリコンパイラ
- コマンドライン熱更新コードを再定義
- すべてのロガーの設定でアプリケーションを表示するための鍵loggerコマンド
- syspropビューの更新システムのプロパティ
- 環境変数を表示してsysenv
- VMOptionは、更新されたVMオプションを表示します
- ビューロガーロガーの設定、更新レベル
- JMX MBeanの情報を見ます
- heapdumpヒープメモリのスナップショット
以下は、2つの機能を強調しています。
JAD / MC /符号列ホット更新ラインを再定義
するために、オンラインチュートリアルをArthasはにUserController
例:
-
コードをコンパイルするためにJADを使用して、
jad --source-only com.example.demo.arthas.user.UserController > /tmp/UserController.java 复制代码
-
vimのコンパイルされたコードを使用します
ユーザIDが1未満である場合、それは通常、nothrowに戻ります。
@GetMapping("/user/{id}") public User findUserById(@PathVariable Integer id) { logger.info("id: {}" , id); if (id != null && id < 1) { return new User(id, "name" + id); // throw new IllegalArgumentException("id < 1"); } else { return new User(id, "name" + id); } } 复制代码
-
使用する
mc
修正をコンパイルするコマンドをUserController.java
$ mc /tmp/UserController.java -d /tmp Memory compiler output: /tmp/com/example/demo/arthas/user/UserController.class Affect(row-cnt:1) cost in 346 ms 复制代码
-
使用し
redefine
た熱は、コードを更新することができるので、コマンドを$ redefine /tmp/com/example/demo/arthas/user/UserController.class redefine success, size: 1 复制代码
loggerコマンドは、コンフィギュレーションを表示することで、レベルを変更します
(二重11など)のウェブサイトにストレスの多い時代には、緩和策は、アプリケーションのログレベルERRORを修正することであります。だから、2つの問題があります。
- ロギングシステムは、システムの設定が有効になるログに記録し、複数の複雑なアプリケーションを、持っていること?
- どのようにオンラインレベル動的にロガーを修正?
することでlogger
、コマンド、次のような、ロガーアプリケーションにおける詳細な設定情報を表示することができFileAppender
、ファイル出力AsyncAppender
するかどうかblocking
。
[arthas@2062]$ logger
name ROOT
class ch.qos.logback.classic.Logger
classLoader sun.misc.Launcher$AppClassLoader@2a139a55
classLoaderHash 2a139a55
level INFO
effectiveLevel INFO
additivity true
codeSource file:/Users/hengyunabc/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
appenders name CONSOLE
class ch.qos.logback.core.ConsoleAppender
classLoader sun.misc.Launcher$AppClassLoader@2a139a55
classLoaderHash 2a139a55
target System.out
name APPLICATION
class ch.qos.logback.core.rolling.RollingFileAppender
classLoader sun.misc.Launcher$AppClassLoader@2a139a55
classLoaderHash 2a139a55
file app.log
name ASYNC
class ch.qos.logback.classic.AsyncAppender
classLoader sun.misc.Launcher$AppClassLoader@2a139a55
classLoaderHash 2a139a55
blocking false
appenderRef [APPLICATION]
复制代码
また、ラインレベルロガーを変更することができます。
[arthas@2062]$ logger --name ROOT --level debug
update logger level success.
复制代码
コミュニティに戻って、オープンソースコミュニティからの強さを得ます
67人の協力者のおかげで
Arthasは、オープンソース、67人の貢献者の合計ので、おかげで彼らの貢献を向上させます:
コミュニティは、一連の改良を提出し、(完了していない)、下記の点のいくつか:
- 文書の英訳のほとんどは
- traceコマンドは、行番号をサポートしています
- パッケージ形式のサポートRPM / DEB
- 改善されたコマンドラインプロンプトがあります
arthas@pid
- 窓のサポートの向上
- 増加
mbean
のコマンドを - 改善されたWebConsoleに経験
また、情報の利用を登録する83の企業/団体があり、より多くのユーザーが登録を歓迎します。
保健プロジェクト洐
Arthasはに基づいて、また興学生プログラムの数を生産し、ここではそれらの2つです:
- Bistoury:CAPEソースプロジェクトは、Arthasは統合
- Arthasは-MVEL:フォークMVELスクリプトを使用します
ユーザーのケーススタディ
Arthasはトラブルシューティングプロセスの使用におけるユーザーの大半、調査プロセスの多くを共有し、経験を共有することが歓迎されています。
オープンソースのフィードバック
Arthasはそれ自体が、コードのオープンソースプロジェクト、オープンソースのプロセスの多くを使用して、我々はネッティー、OGNL、CFRを与えるので、バック上流のコードを向上させるために貢献しました。
追伸
Arthasはパンフレットを行うことで、Arthasはスローガンは次のとおりです。
「バラ手、さらに悪い耐久性のある香り。」
Arthasは将来はより多くのユーザーが問題を解決するのに役立つことができるように願っています、だけでなく、開発者の大半はArthasは上のより多くの改善点や提案をしたことを願っています。
最後に、抽選は、あなたが公共の数の投稿、コメント、ストーリーとArthasは独自の背景を転送、またはArthasはへの提案を行うことができ、Arthasは賞はセーターがあります?:
いいえ公共ありません
Javaの、春ブーツ、Arthasは、ダボに焦点を当て、コラム水平雲がリッジを破る見るへようこそ。