Improve the output and extraction of psiphon metrics
This commit is contained in:
parent
1e8b482c23
commit
24316728b9
|
@ -71,8 +71,8 @@ var summarizers = map[string]func(uint64, uint64, string) []string{
|
||||||
},
|
},
|
||||||
"circumvention": func(totalCount uint64, anomalyCount uint64, ss string) []string {
|
"circumvention": func(totalCount uint64, anomalyCount uint64, ss string) []string {
|
||||||
return []string{
|
return []string{
|
||||||
fmt.Sprintf("Detected: %v", anomalyCount > 0),
|
fmt.Sprintf("%d tested", totalCount),
|
||||||
"",
|
fmt.Sprintf("%d blocked", anomalyCount),
|
||||||
"",
|
"",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package nettests
|
package nettests
|
||||||
|
|
||||||
|
import "github.com/pkg/errors"
|
||||||
|
|
||||||
// Psiphon test implementation
|
// Psiphon test implementation
|
||||||
type Psiphon struct {
|
type Psiphon struct {
|
||||||
}
|
}
|
||||||
|
@ -17,14 +19,27 @@ func (h Psiphon) Run(ctl *Controller) error {
|
||||||
|
|
||||||
// PsiphonTestKeys contains the test keys
|
// PsiphonTestKeys contains the test keys
|
||||||
type PsiphonTestKeys struct {
|
type PsiphonTestKeys struct {
|
||||||
IsAnomaly bool `json:"-"`
|
IsAnomaly bool `json:"-"`
|
||||||
|
BootstrapTime float64 `json:"bootstrap_time"`
|
||||||
|
Failure string `json:"failure"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetTestKeys generates a summary for a test run
|
// GetTestKeys generates a summary for a test run
|
||||||
func (h Psiphon) GetTestKeys(tk map[string]interface{}) (interface{}, error) {
|
func (h Psiphon) GetTestKeys(tk map[string]interface{}) (interface{}, error) {
|
||||||
return PsiphonTestKeys{
|
var err error
|
||||||
IsAnomaly: tk["failure"] != nil,
|
testKeys := PsiphonTestKeys{IsAnomaly: false, Failure: ""}
|
||||||
}, nil
|
if tk["failure"] != nil {
|
||||||
|
testKeys.IsAnomaly = true
|
||||||
|
testKeys.Failure, ok = tk["failure"].(string)
|
||||||
|
if !ok {
|
||||||
|
err = errors.Wrap(err, "failure key invalid")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
testKeys.BootstrapTime, ok = tk["bootstrap_time"].(float64)
|
||||||
|
if !ok {
|
||||||
|
err = errors.Wrap(err, "bootstrap_time key invalid")
|
||||||
|
}
|
||||||
|
return testKeys, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// LogSummary writes the summary to the standard output
|
// LogSummary writes the summary to the standard output
|
||||||
|
|
Loading…
Reference in New Issue
Block a user