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'