lib/fluent/plugin/in_azuremonitorlog.rb in fluent-plugin-azuremonitorlog-0.0.2 vs lib/fluent/plugin/in_azuremonitorlog.rb in fluent-plugin-azuremonitorlog-0.0.3
- old
+ new
@@ -70,21 +70,17 @@
end
private
def watch
- while true
- log.debug "azure monitorlog: watch thread starting"
- output
- sleep @interval
- end
- end
+ log.debug "azure monitorlog: watch thread starting"
- def output
- start_time = Time.now - @interval
- end_time = Time.now
-
+ @next_fetch_time = Time.now
+
+ until @finished
+ start_time = @next_fetch_time - @interval
+ end_time = @next_fetch_time
log.debug "start time: #{start_time}, end time: #{end_time}"
filter = "eventTimestamp ge '#{start_time}' and eventTimestamp le '#{end_time}'"
if !@filter.empty?
filter += " and #{@filter}"
@@ -98,9 +94,13 @@
router.emit(@tag, Time.now.to_i, val)
}
else
log.debug "empty"
end
+ @next_fetch_time += @interval
+ sleep @interval
+ end
+
end
def get_monitor_log_async(filter = nil, custom_headers = nil)
options = set_query_options(filter, custom_headers)
path_template = '/subscriptions/{subscriptionId}/providers/microsoft.insights/eventtypes/management/values'