8000 Moves the main.go into cmd/expvarmon folder to make it go gettable to… by arsham · Pull Request #21 · divan/expvarmon · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Moves the main.go into cmd/expvarmon folder to make it go gettable to… #21

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: gcpauses
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
expvarmon
!cmd/expvarmon
*.swp
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Also it doesn't use any storage engines and doesn't send notifications.

Just run go get:

go get github.com/divan/expvarmon
go get github.com/divan/expvarmon/...

## Usage

Expand Down
2 changes: 1 addition & 1 deletion average.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"github.com/antonholmquist/jason"
Expand Down
14 changes: 7 additions & 7 deletions average_test.go
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package main
package expvarmon

import (
"testing"
"testing"
)

func TestAverage(t *testing.T) {
avg := average(samplesPartial)
want := 621090.75
if avg != want {
t.Fatalf("Average must be %v, but got %v", want, avg)
}
avg := average(samplesPartial)
want := 621090.75
if avg != want {
t.Fatalf("Average must be %v, but got %v", want, avg)
}
}

var samplesPartial = []float64{507472, 433979, 610916, 931996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
Empty file added cmd/.gitkeep
Empty file.
28 changes: 15 additions & 13 deletions main.go → cmd/expvarmon/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ import (
"sync"
"time"

"github.com/divan/expvarmon"

"gopkg.in/gizak/termui.v1"
)

Expand All @@ -17,19 +19,19 @@ var (
varsArg = flag.String("vars", "mem:memstats.Alloc,mem:memstats.Sys,mem:memstats.HeapAlloc,mem:memstats.HeapInuse,memstats.PauseNs,memstats.PauseEnd,duration:memstats.PauseTotalNs", "Vars to monitor (comma-separated)")
dummy = flag.Bool("dummy", false, "Use dummy (console) output")
self = flag.Bool("self", false, "Monitor itself")
endpoint = flag.String("endpoint", DefaultEndpoint, "URL endpoint for expvars")
endpoint = flag.String("endpoint", expvarmon.DefaultEndpoint, "URL endpoint for expvars")
)

func main() {
flag.Usage = Usage
flag.Parse()

DefaultEndpoint = *endpoint
expvarmon.DefaultEndpoint = *endpoint

// Process ports/urls
ports, _ := ParsePorts(*urls)
ports, _ := expvarmon.ParsePorts(*urls)
if *self {
port, err := StartSelfMonitor()
port, err := expvarmon.StartSelfMonitor()
if err == nil {
ports = append(ports, port)
}
Expand All @@ -46,28 +48,28 @@ func main() {
}

// Process vars
vars, err := ParseVars(*varsArg)
vars, err := expvarmon.ParseVars(*varsArg)
if err != nil {
log.Fatal(err)
}

// Init UIData
var services []*Service
var services []*expvarmon.Service
for _, port := range ports {
service := NewService(port, vars)
service := expvarmon.NewService(port, vars)
services = append(services, service)
}
data := NewUIData(vars, services)
data := expvarmon.NewUIData(vars, services)

// Start proper UI
var ui UI
var ui expvarmon.UI
if len(services) > 1 {
ui = &TermUI{}
ui = expvarmon.NewTermUI(*interval)
} else {
ui = &TermUISingle{}
ui = expvarmon.NewTermUISingle(*interval)
}
if *dummy {
ui = &DummyUI{}
ui = &expvarmon.DummyUI{}
}

if err := ui.Init(*data); err != nil {
Expand Down Expand Up @@ -95,7 +97,7 @@ func main() {
}

// UpdateAll collects data from expvars and refreshes UI.
func UpdateAll(ui UI, data *UIData) {
func UpdateAll(ui expvarmon.UI, data *expvarmon.UIData) {
var wg sync.WaitGroup
for _, service := range data.Services {
wg.Add(1)
Expand Down
4 changes: 2 additions & 2 deletions data.go
1E80
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import "time"

Expand Down Expand Up @@ -37,7 +37,7 @@ func NewSparklineData(vars []VarName) *SparklineData {
// NewUIData inits and return new data object.
func NewUIData(vars []VarName, services []*Service) *UIData {
sp := make([]*SparklineData, len(services))
for i, _ := range services {
for i := range services {
sp[i] = NewSparklineData(vars)
}

Expand Down
2 changes: 1 addition & 1 deletion expvars.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"errors"
Expand Down
2 changes: 1 addition & 1 deletion expvars_test.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"os"
Expand Down
2 changes: 1 addition & 1 deletion histogram.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"math"
Expand Down
2 changes: 1 addition & 1 deletion self.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"expvar"
Expand Down
2 changes: 1 addition & 1 deletion service.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"net/url"
Expand Down
2 changes: 1 addition & 1 deletion stack.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

// DefaultSize specifies maximum number of items in stack.
//
Expand Down
2 changes: 1 addition & 1 deletion stack_test.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import "testing"

Expand Down
18 changes: 9 additions & 9 deletions stat.go
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
package main
package expvarmon

// Stat holds basic statistics data for
// integer data used for sparklines.
type Stat struct {
max int
maxStr string
max int
maxStr string
}

// NewStat inits new Stat object.
func NewStat() *Stat {
return &Stat{}
return &Stat{}
}

// Update updates stats on each push.
func (s *Stat) Update(v IntVar) {
if v.Value() > s.max {
s.max = v.Value()
s.maxStr = v.String()
}
if v.Value() > s.max {
s.max = v.Value()
s.maxStr = v.String()
}
}

// Max returns maximum recorded value.
func (s *Stat) Max() string {
return s.maxStr
return s.maxStr
}
8 changes: 4 additions & 4 deletions ui.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package main
package expvarmon

// UI represents UI renderer.
type UI interface {
Init(UIData) error
Close()
Update(UIData)
Init(UIData) error
Close()
Update(UIData)
}
2 changes: 1 addition & 1 deletion ui_dummy.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"fmt"
Expand Down
10 changes: 8 additions & 2 deletions ui_multi.go
B93C
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"fmt"
Expand All @@ -15,6 +15,12 @@ type TermUI struct {
Lists []*termui.List
Sparkline1 *termui.Sparklines
Sparkline2 *termui.Sparklines
interval time.Duration // interval between refreshes
}

// NewTermUI constructs the TermUI and sets the interval
func NewTermUI(interval time.Duration) *TermUI {
return &TermUI{interval: interval}
}

// Init creates widgets, sets sizes and labels.
Expand Down Expand Up @@ -92,7 +98,7 @@ func (t *TermUI) Init(data UIData) error {

// Update updates UI widgets from UIData.
func (t *TermUI) Update(data UIData) {
t.Title.Text = fmt.Sprintf("monitoring %d services every %v, press q to quit", len(data.Services), *interval)
t.Title.Text = fmt.Sprintf("monitoring %d services every %v, press q to quit", len(data.Services), t.interval)
t.Status.Text = fmt.Sprintf("Last update: %v", data.LastTimestamp.Format(time.Stamp))

// List with service names
Expand Down
12 changes: 9 additions & 3 deletions ui_single.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"fmt"
Expand All @@ -21,7 +21,13 @@ type TermUISingle struct {
GCIChart *termui.BarChart
GCIStats *termui.Par

bins int // histograms' bins count
bins int // histograms' bins count
interval time.Duration // interval between refreshes
}

// NewTermUISingle constructs the TermUISingle and sets the interval
func NewTermUISingle(interval time.Duration) *TermUISingle {
return &TermUISingle{interval: interval}
}

// Init creates widgets, sets sizes and labels.
Expand Down Expand Up @@ -128,7 +134,7 @@ func (t *TermUISingle) Update(data UIData) {
// single mode assumes we have one service only to monitor
service := data.Services[0]

t.Title.Text = fmt.Sprintf("monitoring %s every %v, press q to quit", service.Name, *interval)
t.Title.Text = fmt.Sprintf("monitoring %s every %v, press q to quit", service.Name, t.interval)
t.Status.Text = fmt.Sprintf("Last update: %v", data.LastTimestamp.Format(time.Stamp))

// Pars
Expand Down
2 changes: 1 addition & 1 deletion ui_single_test.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import "testing"

Expand Down
2 changes: 1 addition & 1 deletion utils.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"errors"
Expand Down
2 changes: 1 addition & 1 deletion utils_test.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import "testing"

Expand Down
2 changes: 1 addition & 1 deletion var.go
8D82
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"fmt"
Expand Down
2 changes: 1 addition & 1 deletion var_test.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package main
package expvarmon

import (
"strings"
Expand Down
0