前のトピック: エージェントの一般的な API次のトピック: エージェント トランザクション API


エージェント ディスカバリ API

com.itko.lisa.remote.client.DiscoveryClient クラスは、エージェント上のデータの検出に関連するメソッドを提供します。 AgentClient.getInstance().getDiscoveryClient() コールで DiscoveryClient クラスを取得できます。

注: エージェントの JavaDocs で、このクラスに関する詳細情報を表示できます。 JavaDocs は、LISA_HOME\doc ディレクトリにあります。

/**
  * 指定したエージェントのシステム プロパティ
  * @param info
  * @return
  * @throws JMSInvocationException
  */
 public Map getVMProperties(IAgentInfo info) throws JMSInvocationException;
 
 /**
  * from と to の日付の間に、指定したエージェントに対して記録された StatsFrames のリストを返します。
  * @param agentInfo: 統計を取得するエージェント
  * @param from: フィルタを開始する日付
  * @param to: フィルタを終了する日付
  * @return: 新しいほうから(to の日付から開始)並べられた目的の StatsFrames のリスト
  */
 public List getStatistics(IAgentInfo agentInfo, Date from, Date to);
 
 /**
  * from と to の日付の間に、指定したエージェントに対して記録された StatsFrames のリストを返します。
  * @param agentInfo: 統計を取得するエージェント
  * @param from: フィルタを開始する日付
  * @param to: フィルタを終了する日付
  * @param interval: 結果を集約する方法(秒単位)。 10 の場合、10 秒ごとの結果が平均されます。
  * @param limit: 結果の最大数
  * @return: 新しいほうから(to の日付から開始)並べられた目的の StatsFrames のリスト
  */
 public List getStatistics(IAgentInfo agentInfo, Date from, Date to, int interval, int limit);
 
 /**
  * TODO: (再)インプリメント。現在はスローします
  * @param info
  * @return
  * @throws JMSInvocationException
  */
 public Topology getTopology(IAgentInfo info) throws JMSInvocationException;
 
 /**
  * 出口点は、スタックの下でネットワーク コールを行うクラス/メソッドをキャプチャする MethodInfo です
  * @param info
  * @return
  * @throws JMSInvocationException
  */
 public Set getExitPoints(IAgentInfo info) throws JMSInvocationException;
 
 /**
  * J2EE コンテナ(J2EE コンテナでない場合は java)の名前を返します
  * @param info
  * @return
  * @throws JMSInvocationException
  */
 public String getServerInfo(IAgentInfo info) throws JMSInvocationException;
 
 /**
  * 指定した J2EE コンテナに展開されている Web アプリケーションを返します
  * @param info
  * @return
  */
 public WebApplication[] getWebApps(IAgentInfo info) throws JMSInvocationException;
 
 /**
  * ClassNode ツリーで表された、指定したエージェントの JNDI 階層を返します
  * @param info
  * @return
  * @throws JMSInvocationException
  */
 public ClassNode getJNDIRoot(IAgentInfo info) throws JMSInvocationException;
 
 /**
  * エージェント VM の現在のスレッド
  * @param info
  * @return
  * @throws JMSInvocationException
  */
 public ThreadInfo[] getThreadInfos(IAgentInfo info) throws JMSInvocationException;
 
 /**
  * エージェント VM の現在のスレッド スタック
  * @param info
  * @return
  */
 public String[] dumpThreads(IAgentInfo info) throws JMSInvocationException;
 
 /**
  * 指定したエージェントのクラスパスにあるすべてのファイル
  * @param info
  * @return
  * @throws JMSInvocationException
  */
 public Set getClasspath(IAgentInfo info) throws JMSInvocationException;
 
 /**
  * 指定したパスの下のクラス階層を返します
  * @param info
  * @param fromPath
  * @return
  */
 public ClassNode getClassNodes(IAgentInfo info, String fromPath) throws JMSInvocationException;
 
 /**
  * 指定した URL のアーカイブで見つかったクラス階層
  * @param info
  * @param url
  * @return
  * @throws JMSInvocationException
  */
 public ClassNode getArchiveNodes(IAgentInfo info, URL url) throws JMSInvocationException;
 
 /**
  * クラスに関するデータ(フィールド/メソッド/ソース)を含むセット
  * @param info
  * @param className
  * @return
  * @throws JMSInvocationException
  */
 public Set getClassInfo(IAgentInfo info, String className) throws JMSInvocationException;
 
 /**
  * ソースを逆コンパイルし、クラスに返します
  * @param info
  * @param clazz
  * @param loc: クライアントまたはエージェントで逆コンパイルします
  * @return
  * @throws JMSInvocationException
  */
 public String getClassSrc(IAgentInfo info, String clazz, boolean loc) throws JMSInvocationException, IOException;
 
 /**
  * このクラスが属する階層(すべての祖先とすべてのエクステンダ/インプリメンタ)を返します
  * @param info
  * @param className
  * @return
  * @throws JMSInvocationException
  */
 public ClassNode[] getClassHierarchy(IAgentInfo info, String className) throws JMSInvocationException;
 
/**
  * 指定したクラスのヒープに存在するすべてのオブジェクト(への参照)を返します。使用には注意してください
  * @param info
  * @param className
  * @return
  * @throws JMSInvocationException
  */
 public ClassNode getInstancesView(IAgentInfo info, String className) throws JMSInvocationException;
 
 /**
  * エージェントによって追跡されたヒープに存在するすべてのオブジェクト(への参照)を返します
  * @param info
  * @return
  * @throws JMSInvocationException
  */
 public ClassNode getTrackedObjects(IAgentInfo info) throws JMSInvocationException;
 
 /**
  * オブジェクト(再帰的に計算されたフィールド)の未加工のグラフを表示
  * @param info
  * @param clazz
  * @param hashCode
  * @return
  * @throws JMSInvocationException
  */
 public ClassNode getObjectGraph(IAgentInfo info, String clazz, int hashCode) throws JMSInvocationException;
 
 /**
  * オブジェクトから GC ルートへのパスを取得します
  * @param info
  * @param clazz
  * @param hashCode
  * @return
  * @throws JMSInvocationException
  */
 public ClassNode getRootPath(IAgentInfo info, String clazz, int hashCode) throws JMSInvocationException;
 
 /**
  * エージェント ファイル システムにあるファイルを取得し、それを一時的な場所でクライアントにダウンロードし、ハンドルをクライアントに返します
  * @param info
  * @param file
  * @return
  * @throws JMSInvocationException
  */
 public File getFile(IAgentInfo info, String file) throws JMSInvocationException, IOException;