# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one # or more contributor license agreements. Licensed under the Elastic License; # you may not use this file except in compliance with the Elastic License. require "concurrent" module LogStash module Inputs class TimerTaskLogger include LogStash::Util::Loggable def update(run_at, result, exception) if !exception.nil? # This can happen if the pipeline is blocked for too long if exception.is_a?(Concurrent::TimeoutError) logger.debug("metric shipper took too much time to complete", :exception => exception.class, :message => exception.message) else logger.error("metric shipper exception", :exception => exception.class, :message => exception.message, :backtrace => exception.backtrace) end end end end end end