1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-29 09:34:03 +08:00

sort options and add id to verbose output

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
This commit is contained in:
Jeromy
2016-02-01 22:05:29 -08:00
parent df0f87a8eb
commit 4753e6c292
2 changed files with 23 additions and 5 deletions

View File

@ -20,13 +20,18 @@ type ReqLogEntry struct {
} }
func (r *ReqLogEntry) Finish() { func (r *ReqLogEntry) Finish() {
r.log.lock.Lock() log := r.log
defer r.log.lock.Unlock() log.lock.Lock()
defer log.lock.Unlock()
r.Active = false r.Active = false
r.EndTime = time.Now() r.EndTime = time.Now()
r.log.maybeCleanup() r.log.maybeCleanup()
// remove references to save memory
r.req = nil
r.log = nil
} }
func (r *ReqLogEntry) Copy() *ReqLogEntry { func (r *ReqLogEntry) Copy() *ReqLogEntry {

View File

@ -4,6 +4,7 @@ import (
"bytes" "bytes"
"fmt" "fmt"
"io" "io"
"sort"
"text/tabwriter" "text/tabwriter"
"time" "time"
@ -35,6 +36,9 @@ Lists running and recently run commands.
verbose, _, _ := res.Request().Option("v").Bool() verbose, _, _ := res.Request().Option("v").Bool()
w := tabwriter.NewWriter(buf, 4, 4, 2, ' ', 0) w := tabwriter.NewWriter(buf, 4, 4, 2, ' ', 0)
if verbose {
fmt.Fprint(w, "ID\t")
}
fmt.Fprint(w, "Command\t") fmt.Fprint(w, "Command\t")
if verbose { if verbose {
fmt.Fprint(w, "Arguments\tOptions\t") fmt.Fprint(w, "Arguments\tOptions\t")
@ -42,11 +46,20 @@ Lists running and recently run commands.
fmt.Fprintln(w, "Active\tStartTime\tRunTime") fmt.Fprintln(w, "Active\tStartTime\tRunTime")
for _, req := range *out { for _, req := range *out {
if verbose {
fmt.Fprintf(w, "%d\t", req.ID)
}
fmt.Fprintf(w, "%s\t", req.Command) fmt.Fprintf(w, "%s\t", req.Command)
if verbose { if verbose {
fmt.Fprintf(w, "%v\t[", req.Args) fmt.Fprintf(w, "%v\t[", req.Args)
for k, v := range req.Options { var keys []string
fmt.Fprintf(w, "%s=%v,", k, v) for k, _ := range req.Options {
keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
fmt.Fprintf(w, "%s=%v,", k, req.Options[k])
} }
fmt.Fprintf(w, "]\t") fmt.Fprintf(w, "]\t")
} }