統計情報の有効化

デフォルトでは、PlantUMLは統計情報を生成しません。統計情報の生成を有効化したい場合、次のいずれかを使用してください: 統計情報は非常に一般的なものです。その目的は、ユーザを覗き見ることではなく、PlantUMLの利用方法とパフォーマンスを計測することです。 統計情報の生成が有効化されている場合、このことを知らせるメッセージがライセンス情報と共に出力されます。 (@startuml/license/@enduml).

統計情報レポート

PlantUMLの使用状況に関する統計情報をXMLまたはHTML形式で生成することができます。

この機能は、コマンドライン-xmlstatsまたは-htmlstatsフラグを追加することで有効化されます。 処理完了時にplantuml-stats.xmlまたはplantuml-stats.htmlというファイルに出力されます:

処理完了時ではなくリアルタイムに統計情報を生成したい場合は、-realtimestatsフラグを使用します。

-loopstatsフラグを使用すると、ダイアグラムの生成中の統計情報をコンソールに出力し続けることができます。 これは、PlantUMLをバックグラウンドで実行するデーモンがある場合に便利かもしれません。

これらのオプションにはAntタスクで利用可能なものもあります。

Java統合API

PlantUMLをライブラリとして利用する場合、StatsUtils.getStats()メソッドを呼ぶと、すべてのデータを含むStatsオブジェクトを返します。

それを取り出して自由に利用することができます。

この このAPIの簡単なクラス図です:

🎉 Copied!
@startuml
class StatsUtil {
{static} +Stats getStats()
}
interface Stats {
+StatsTable getLastSessions()
+StatsTable getCurrentSessionByDiagramType()
+StatsTable getCurrentSessionByFormat()
+StatsTable getAllByDiagramType()
+StatsTable getAllByFormat()
}
StatsUtil -> Stats: build
Stats o--> "5" StatsTable: contains
enum StatsColumn {
SESSION_ID
VERSION
PARSED_COUNT
...
}
interface StatsTable {
+ Collection<StatsColumn> getColumnHeaders()
+ List<StatsLine> getLines()
}
StatsTable o-> StatsColumn: headers
StatsTable *--> StatsLine: contains
interface StatsLine {
}
interface StatsLine {
+Collection<StatsColumn> getColumnHeaders()
+Object getValue(StatsColumn column)
}
StatsLine o--> StatsColumn: headers
@enduml

Implementation note: The storage of historical data are provided through the Preference API.