mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-07-31 10:42:01 +08:00
27 lines
458 B
Go
27 lines
458 B
Go
package converter
|
|
|
|
// percentConverter is a converter for percent unit
|
|
type percentConverter struct{}
|
|
|
|
func NewPercentConverter() Converter {
|
|
return &percentConverter{}
|
|
}
|
|
|
|
func FromPercentUnit(u Unit) float64 {
|
|
switch u {
|
|
case "percent":
|
|
return 1
|
|
case "percentunit":
|
|
return 100
|
|
default:
|
|
return 1
|
|
}
|
|
}
|
|
|
|
func (c *percentConverter) Convert(v Value, to Unit) Value {
|
|
return Value{
|
|
F: v.F * FromPercentUnit(v.U) / FromPercentUnit(to),
|
|
U: to,
|
|
}
|
|
}
|