Thyme - 自动追踪使用应用程序的时间


MIT
跨平台
Google Go

软件简介

Thyme 可以自动追踪你使用应用程序的时间。

特性:

简单的命令行界面:

每 30s 记录一次你使用的应用

$ while true; do thyme track -o thyme.json; sleep 30s; done;

在新窗口创建图表以显示应用使用时间

$ thyme show -i thyme.json -w stats > thyme.html

安装:

安装 Go:

$ go get -u github.com/sourcegraph/thyme/cmd/thyme

按照 thyme.dep 打印的说明

$ thyme dep

校验 thyme

$ thyme track

使用示例

var trackCmd TrackCmd
func (c *TrackCmd) Execute(args []string) error {
t, err := getTracker()
if err != nil {
return err
}
snap, err := t.Snap()
if err != nil {
return err
}
if c.Out == "" {
out, err := json.MarshalIndent(snap, "", "  ")
if err != nil {
return err
}
fmt.Println(string(out))
} else {
var stream thyme.Stream
if _, err := os.Stat(c.Out); err == nil {
if err := func() error {
f, err := os.Open(c.Out)
if err != nil {
return err
}
defer f.Close()
if err := json.NewDecoder(f).Decode(&stream); err != nil {
return err
}
return nil
}(); err != nil {
return err
}
} else if !os.IsNotExist(err) {
return err
}
stream.Snapshots = append(stream.Snapshots, snap)
f, err := os.Create(c.Out)
if err != nil {
return err
}
if err := json.NewEncoder(f).Encode(stream); err != nil {
return err
}
}
return nil
}