Documentation
¶
Overview ¶
Simple console progress bars
Index ¶
- Constants
- func Format(i int64, units Units, width int) string
- func FormatBytes(i int64) (result string)
- func FormatDuration(d time.Duration) string
- type Callback
- type EWMA
- type ProgressBar
- func (pb *ProgressBar) Finish()
- func (pb *ProgressBar) Format(format string) *ProgressBar
- func (pb *ProgressBar) GOString() string
- func (pb *ProgressBar) GetWidth() int
- func (pb *ProgressBar) Postfix(postfix string) *ProgressBar
- func (pb *ProgressBar) Prefix(prefix string) *ProgressBar
- func (pb *ProgressBar) Set64(current int64) *ProgressBar
- func (pb *ProgressBar) SetMaxWidth(width int) *ProgressBar
- func (pb *ProgressBar) SetRefreshRate(rate time.Duration) *ProgressBar
- func (pb *ProgressBar) SetScale(scale float64) *ProgressBar
- func (pb *ProgressBar) SetUnits(units Units) *ProgressBar
- func (pb *ProgressBar) SetWidth(width int) *ProgressBar
- func (pb *ProgressBar) Start() *ProgressBar
- func (pb *ProgressBar) Update()
- type Units
Constants ¶
const ( // AverageMetricAge average over a one-minute period, which means the average // age of the metrics is in the period of 30 seconds AverageMetricAge float64 = 30.0 // Decay formula for computing the decay factor for average metric age Decay float64 = 2 / (float64(AverageMetricAge) + 1) )
const ( // Default refresh rate - 200ms DEFAULT_REFRESH_RATE = time.Millisecond * 200 FORMAT = "[=>-]" )
Variables ¶
This section is empty.
Functions ¶
func FormatBytes ¶
Convert bytes to human readable string. Like a 2 MB, 64.2 KB, 52 B
func FormatDuration ¶
Types ¶
type Callback ¶
type Callback func(out string)
Callback for custom output For example:
bar.Callback = func(s string) {
mySuperPrint(s)
}
type EWMA ¶
type EWMA struct {
// contains filtered or unexported fields
}
EWMA represents the exponentially weighted moving average of a series of numbers.
type ProgressBar ¶
type ProgressBar struct {
Total int64
RefreshRate time.Duration
ShowPercent, ShowCounters bool
ShowSpeed, ShowTimeLeft, ShowBar bool
ShowFinalTime bool
Output io.Writer
Callback Callback
NotPrint bool
Units Units
Width int
ForceWidth bool
ManualUpdate bool
// default width for unit numbers and time box
UnitsWidth int
TimeBoxWidth int
BarWidth int
BarStart string
BarEnd string
Empty string
Current string
CurrentN string
AlwaysUpdate bool
// contains filtered or unexported fields
}
func New64 ¶
func New64(total int64) *ProgressBar
Create new progress bar object uding int64 as total
func (*ProgressBar) Format ¶
func (pb *ProgressBar) Format(format string) *ProgressBar
Set custom format for bar Example: bar.Format("[=>_]") Example: bar.Format("[\x00=\x00>\x00-\x00]") // \x00 is the delimiter
func (*ProgressBar) GOString ¶
func (pb *ProgressBar) GOString() string
func (*ProgressBar) GetWidth ¶
func (pb *ProgressBar) GetWidth() int
func (*ProgressBar) Postfix ¶
func (pb *ProgressBar) Postfix(postfix string) *ProgressBar
Set postfix string
func (*ProgressBar) Prefix ¶
func (pb *ProgressBar) Prefix(prefix string) *ProgressBar
Set prefix string
func (*ProgressBar) Set64 ¶
func (pb *ProgressBar) Set64(current int64) *ProgressBar
Set64 sets the current value as int64
func (*ProgressBar) SetMaxWidth ¶
func (pb *ProgressBar) SetMaxWidth(width int) *ProgressBar
Set max width, if width is bigger than terminal width, will be ignored
func (*ProgressBar) SetRefreshRate ¶
func (pb *ProgressBar) SetRefreshRate(rate time.Duration) *ProgressBar
Set bar refresh rate
func (*ProgressBar) SetScale ¶
func (pb *ProgressBar) SetScale(scale float64) *ProgressBar
func (*ProgressBar) SetUnits ¶
func (pb *ProgressBar) SetUnits(units Units) *ProgressBar
Set units bar.SetUnits(U_NO) - by default bar.SetUnits(U_BYTES) - for Mb, Kb, etc
func (*ProgressBar) SetWidth ¶
func (pb *ProgressBar) SetWidth(width int) *ProgressBar
Set bar width
func (*ProgressBar) Update ¶
func (pb *ProgressBar) Update()
Write the current state of the progressbar