feat(inputs.mock): Add sine phase (#15990)

This commit is contained in:
Lars Stegman 2024-10-07 20:41:42 +02:00 committed by GitHub
parent 31ddd699c5
commit 391b4b86a7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 4 additions and 1 deletions

View File

@ -40,6 +40,7 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
# name = "wave"
# amplitude = 1.0
# period = 0.5
# phase = 20.0
# base_line = 0.0
# [[inputs.mock.step]]
# name = "plus_one"

View File

@ -43,6 +43,7 @@ type sineWave struct {
Name string `toml:"name"`
Amplitude float64 `toml:"amplitude"`
Period float64 `toml:"period"`
Phase float64 `toml:"phase"`
BaseLine float64 `toml:"base_line"`
}
@ -118,7 +119,7 @@ func (m *Mock) generateRandomFloat64(fields map[string]interface{}) {
// Create sine waves
func (m *Mock) generateSineWave(fields map[string]interface{}) {
for _, field := range m.SineWave {
fields[field.Name] = math.Sin(float64(m.counter)*field.Period*math.Pi)*field.Amplitude + field.BaseLine
fields[field.Name] = math.Sin((float64(m.counter)+field.Phase)*field.Period*math.Pi)*field.Amplitude + field.BaseLine
}
}

View File

@ -19,6 +19,7 @@
# name = "wave"
# amplitude = 1.0
# period = 0.5
# phase = 20.0
# base_line = 0.0
# [[inputs.mock.step]]
# name = "plus_one"