recorder implementations
This commit is contained in:
@@ -21,6 +21,10 @@ import (
|
||||
"gitea.libretechconsulting.com/rmcguire/ambient-local-exporter/pkg/provider/wunderground"
|
||||
"gitea.libretechconsulting.com/rmcguire/ambient-local-exporter/pkg/weather"
|
||||
"gitea.libretechconsulting.com/rmcguire/ambient-local-exporter/pkg/weather/recorder"
|
||||
"gitea.libretechconsulting.com/rmcguire/ambient-local-exporter/pkg/weather/recorder/recorders"
|
||||
"gitea.libretechconsulting.com/rmcguire/ambient-local-exporter/pkg/weather/recorder/recorders/memory"
|
||||
"gitea.libretechconsulting.com/rmcguire/ambient-local-exporter/pkg/weather/recorder/recorders/noop"
|
||||
"gitea.libretechconsulting.com/rmcguire/ambient-local-exporter/pkg/weather/recorder/recorders/redis"
|
||||
)
|
||||
|
||||
const defUpdatesToKeep = 120
|
||||
@@ -70,10 +74,22 @@ func (aw *AmbientWeather) Init() *AmbientWeather {
|
||||
}
|
||||
span.SetAttributes(attribute.Int("updatesToKeep", updatesToKeep))
|
||||
|
||||
// TODO: Support other recorders (don't rely on default)
|
||||
aw.weatherRecorder = recorder.NewWeatherRecorder(&recorder.Opts{
|
||||
// Choose weather recorder for grpc / api requests,
|
||||
// default is memory recorder
|
||||
var r recorders.Recorder
|
||||
switch aw.Config.RecorderConfig.Type {
|
||||
case config.TypeMemory:
|
||||
r = &memory.MemoryRecorder{}
|
||||
case config.TypeRedis:
|
||||
r = &redis.RedisRecorder{}
|
||||
case config.TypeNoop:
|
||||
r = &noop.NoopRecorder{}
|
||||
}
|
||||
|
||||
aw.weatherRecorder = recorder.MustNewWeatherRecorder(&recorder.Opts{
|
||||
Ctx: aw.appCtx,
|
||||
KeepLast: updatesToKeep,
|
||||
Recorder: r,
|
||||
})
|
||||
|
||||
aw.l.Trace().Any("awConfig", aw.Config).Send()
|
||||
|
Reference in New Issue
Block a user