diff --git a/cli/state.go b/cli/state.go
index 5899dfdb1..307db6668 100644
--- a/cli/state.go
+++ b/cli/state.go
@@ -935,6 +935,10 @@ var stateComputeStateCmd = &cli.Command{
Name: "compute-state-output",
Usage: "a json file containing pre-existing compute-state output, to generate html reports without rerunning state changes",
},
+ &cli.BoolFlag{
+ Name: "no-timing",
+ Usage: "don't show timing information in html traces",
+ },
},
Action: func(cctx *cli.Context) error {
api, closer, err := GetFullNodeAPI(cctx)
@@ -1026,7 +1030,9 @@ var stateComputeStateCmd = &cli.Command{
return c.Code, nil
}
- return ComputeStateHTMLTempl(os.Stdout, ts, stout, getCode)
+ _, _ = fmt.Fprintln(os.Stderr, "computed state cid: ", stout.Root)
+
+ return ComputeStateHTMLTempl(os.Stdout, ts, stout, !cctx.Bool("no-timing"), getCode)
}
fmt.Println("computed state cid: ", stout.Root)
@@ -1147,8 +1153,11 @@ var compStateMsg = `
{{if gt (len .Msg.Params) 0}}
{{JsonParams ($code) (.Msg.Method) (.Msg.Params) | html}}
{{end}}
- Took {{.Duration}}, Exit: {{.MsgRct.ExitCode}}{{if gt (len .MsgRct.Return) 0}}, Return{{end}}
-
+ {{if PrintTiming}}
+ Took {{.Duration}}, Exit: {{.MsgRct.ExitCode}}{{if gt (len .MsgRct.Return) 0}}, Return{{end}}
+ {{else}}
+ Exit: {{.MsgRct.ExitCode}}{{if gt (len .MsgRct.Return) 0}}, Return{{end}}
+ {{end}}
{{if gt (len .MsgRct.Return) 0}}
{{JsonReturn ($code) (.Msg.Method) (.MsgRct.Return) | html}}
{{end}}
@@ -1174,7 +1183,7 @@ var compStateMsg = `
{{range .GasCharges}}
{{.Name}}{{if .Extra}}:{{.Extra}}{{end}} |
{{template "gasC" .}}
- {{.TimeTaken}} |
+ {{if PrintTiming}}{{.TimeTaken}}{{end}} |
{{ $fImp := FirstImportant .Location }}
{{ if $fImp }}
@@ -1213,7 +1222,7 @@ var compStateMsg = `
{{with SumGas .GasCharges}}
|
Sum |
{{template "gasC" .}}
- {{.TimeTaken}} |
+ {{if PrintTiming}}{{.TimeTaken}}{{end}} |
|
{{end}}
@@ -1234,19 +1243,20 @@ type compStateHTMLIn struct {
Comp *api.ComputeStateOutput
}
-func ComputeStateHTMLTempl(w io.Writer, ts *types.TipSet, o *api.ComputeStateOutput, getCode func(addr address.Address) (cid.Cid, error)) error {
+func ComputeStateHTMLTempl(w io.Writer, ts *types.TipSet, o *api.ComputeStateOutput, printTiming bool, getCode func(addr address.Address) (cid.Cid, error)) error {
t, err := template.New("compute_state").Funcs(map[string]interface{}{
- "GetCode": getCode,
- "GetMethod": getMethod,
- "ToFil": toFil,
- "JsonParams": JsonParams,
- "JsonReturn": jsonReturn,
- "IsSlow": isSlow,
- "IsVerySlow": isVerySlow,
- "IntExit": func(i exitcode.ExitCode) int64 { return int64(i) },
- "SumGas": sumGas,
- "CodeStr": codeStr,
- "Call": call,
+ "GetCode": getCode,
+ "GetMethod": getMethod,
+ "ToFil": toFil,
+ "JsonParams": JsonParams,
+ "JsonReturn": jsonReturn,
+ "IsSlow": isSlow,
+ "IsVerySlow": isVerySlow,
+ "IntExit": func(i exitcode.ExitCode) int64 { return int64(i) },
+ "SumGas": sumGas,
+ "CodeStr": codeStr,
+ "Call": call,
+ "PrintTiming": func() bool { return printTiming },
"FirstImportant": func(locs []types.Loc) *types.Loc {
if len(locs) != 0 {
for _, l := range locs {
diff --git a/testplans/lotus-soup/rfwp/html_chain_state.go b/testplans/lotus-soup/rfwp/html_chain_state.go
index bc39b58d2..480d9fa16 100644
--- a/testplans/lotus-soup/rfwp/html_chain_state.go
+++ b/testplans/lotus-soup/rfwp/html_chain_state.go
@@ -55,7 +55,7 @@ func FetchChainState(t *testkit.TestEnvironment, m *testkit.LotusMiner) error {
return c.Code, nil
}
- return cli.ComputeStateHTMLTempl(file, tipset, stout, getCode)
+ return cli.ComputeStateHTMLTempl(file, tipset, stout, true, getCode)
}()
if err != nil {
return err