diff --git a/atlas-lwc-events/src/main/resources/reference.conf b/atlas-lwc-events/src/main/resources/reference.conf index e64e45592..a74ccff6c 100644 --- a/atlas-lwc-events/src/main/resources/reference.conf +++ b/atlas-lwc-events/src/main/resources/reference.conf @@ -5,6 +5,12 @@ atlas.lwc.events { config-uri = ${atlas.lwc.events.base-uri}"/expressions" eval-uri = ${atlas.lwc.events.base-uri}"/evaluate" + // Frequency for refreshing configs + config-refresh-frequency = 10s + + // Frequency for sending heartbeats + heartbeat-frequency = 2s + // Max buffer size before events will start getting dropped. Used to avoid OOM. buffer-size = 1000000 diff --git a/atlas-lwc-events/src/main/scala/com/netflix/atlas/lwc/events/RemoteLwcEventClient.scala b/atlas-lwc-events/src/main/scala/com/netflix/atlas/lwc/events/RemoteLwcEventClient.scala index bb406e4b1..b46fbefa8 100644 --- a/atlas-lwc-events/src/main/scala/com/netflix/atlas/lwc/events/RemoteLwcEventClient.scala +++ b/atlas-lwc-events/src/main/scala/com/netflix/atlas/lwc/events/RemoteLwcEventClient.scala @@ -43,6 +43,9 @@ class RemoteLwcEventClient(registry: Registry, config: Config) private val configUri = URI.create(scopedConfig.getString("config-uri")) private val evalUri = URI.create(scopedConfig.getString("eval-uri")) + private val configRefreshFrequency = scopedConfig.getDuration("config-refresh-frequency") + private val heartbeatFrequency = scopedConfig.getDuration("heartbeat-frequency") + private val bufferSize = scopedConfig.getInt("buffer-size") private val flushSize = scopedConfig.getInt("flush-size") private val batchSize = scopedConfig.getInt("batch-size") @@ -66,12 +69,12 @@ class RemoteLwcEventClient(registry: Registry, config: Config) scheduler = new Scheduler(registry, "LwcEventClient", 2) val refreshOptions = new Scheduler.Options() - .withFrequency(Scheduler.Policy.FIXED_DELAY, Duration.ofSeconds(10)) + .withFrequency(Scheduler.Policy.FIXED_DELAY, configRefreshFrequency) .withStopOnFailure(false) scheduler.schedule(refreshOptions, () => refreshConfigs()) val heartbeatOptions = new Scheduler.Options() - .withFrequency(Scheduler.Policy.FIXED_DELAY, Duration.ofSeconds(2)) + .withFrequency(Scheduler.Policy.FIXED_DELAY, heartbeatFrequency) .withStopOnFailure(false) scheduler.schedule(heartbeatOptions, () => sendHeartbeat())