using System;
using System.Threading.Tasks;

namespace Valg.EVA.Skanning.Diagnostics
{
    public interface ITimingProbe
    {
        
        
        
        void Measure(Action callbackToMeasure, Func<IMeasurementEventData> instrumentationContextGenerator);

        
        
        
        
        
        Task MeasureAsync(Func<Task> callbackToMeasure, Func<IMeasurementEventData> instrumentationContextGenerator);
    }
}
