TriAx Labs

トライアックスの技術関連ブログです。
Search

‘Trac’ タグのついている投稿

2010 Jul 28 01:45
retweet

Trac のレポート機能を使ってバグ収束曲線を描いてみた

こんにちは、金子です。

今回は Trac のレポート機能を使って簡単な集計をしてみたいと思います。
まず、レポート一覧画面からこんな SQL 文を入力してレポートを作成します。

SELECT day AS 日付, substr("日月火水木金土", w, 1) AS 曜日,
       inc AS 増, -dec AS 減,
       (CASE WHEN inc + dec > 0 THEN '+' ELSE '' END)||(inc + dec) AS 増減,
       (CASE WHEN w == 7 THEN "background:#DFF"
             WHEN w == 1 THEN "background:#FDC"
             ELSE "background:white" END) AS __style__ FROM
(SELECT distinct t0.day AS day, strftime('%w', t0.day) + 1 AS w,
        (CASE WHEN t1.delta IS NULL THEN 0 ELSE t1.delta END) AS inc,
        (CASE WHEN t2.delta IS NULL THEN 0 ELSE t2.delta END) AS dec FROM
 (SELECT strftime('%Y-%m-%d', time, 'unixepoch') AS day FROM ticket UNION
  SELECT strftime('%Y-%m-%d', time, 'unixepoch') AS day FROM ticket_change
    WHERE field='status' AND newvalue='reopened') AS t0
 LEFT OUTER JOIN
 (SELECT day, sum(delta) AS delta FROM
  (SELECT strftime('%Y-%m-%d', time, 'unixepoch') AS day,
          id AS ticket, 1 AS delta FROM ticket UNION
   SELECT strftime('%Y-%m-%d', time, 'unixepoch') AS day,
          ticket, 1 AS delta FROM ticket_change
     WHERE field='status' AND newvalue='reopened')
  GROUP BY day) AS t1 ON t0.day=t1.day
 LEFT OUTER JOIN
 (SELECT day, sum(delta) AS delta FROM
  (SELECT strftime('%Y-%m-%d', time, 'unixepoch') AS day,
          ticket, -1 AS delta FROM ticket_change
     WHERE field='status' AND newvalue='closed')
  GROUP BY day) AS t2 ON t0.day==t2.day
 ORDER BY t0.day);

日毎の新規チケットの増加数、チケットがクローズされた数を確認することができます。
1週間の区切りが分かりやすいように土日に色を付けました。

次に TSV 区切りでデータをダウンロードします。
ダウンロードしたファイルをグラフ化するのには gnuplot を使います。

set xdata time
set timefmt "%Y-%m-%d"
set xtics 86400*7
set boxwidth 86400
set xzeroaxis
plot "report.tsv" using 1:3 every ::2 notitle w boxes, \
     "report.tsv" using 1:(-$4) every ::2 notitle w boxes, \
     "<awk '{x=x+$5; print $1,x}' report.tsv" using 1:2 every ::2 notitle w l

出力されたグラフはこんな感じです。
赤色の棒グラフが追加されたチケットの数、緑色の棒グラフが解決したチケットの数、青色の折れ線グラフが残存チケット数です。

バグ収束曲線
…バグ収束曲線と言いつつむしろ発散してるような気もしますが、これはチケット管理のフローが徹底されてなくて当面やらないタスクもチケットとして残っているからです。リリースに向けてプロジェクトは順調に進んでいます。本当ですよ?

ということで、オチが付いたところで今回はこの辺で終わります。

カテゴリー:
  • 開発
Author:knzm

    タグ:
  • gnuplot , 
  • Trac
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをGoogle bookmarkに追加
<< 前の月のアーカイブを見る
これより後の月にはエントリーがありません。
Category
Archive
Tags
すくすくスクラム アクセスログ アジャイル アラン・クーパー クラウド コメントの書き方 コンパイル コーディング規約 スクラム スマートフォン ソーシャルメディア タブレット タブレット端末 テキストマイニング テーマ デザイン デバッグ ドン・ノーマン ネットワーク プログラマ ペルソナ マーケティング メソッド ユーザ行動モデリング 便利ツール 勉強会 壁紙 実行時間 教育 暑中見舞い 行動パターン分析 開発 Android article aside buildbot CSS3 daemon mode facebook facebook page GAE Getting Things Done gnuplot Google Analytics Google App Engine GTD Hadoop Hardy HTML5 iframe iOS iOS4.2 iPad iPhone Jinja Jinja2 Mahout Mako MapReduce NFS PEP pybundle Pylons PyPl Python Pyxis Review Board RHEL4 section Smartphone Sphinx Tablet Toscawidgets Trac TrStyle UX Validator virtualenv web-kit Widget WSGI
    • トライアックス株式会社
    • LaCoon
Copyright(C) TriAx Corp. All rights reserved.