using System.Data.Common;
using SQLInsight.Core.Instances;
namespace SQLInsight.Collectors;
///
/// Reads one kind of data from a monitored instance. Collectors are stateless; anything they need from the
/// previous run (to compute deltas or continue reading) is passed in .
///
public interface ICollector
{
string Name { get; }
/// The type of the collected data, as rules look it up in CollectedData.
Type DataType { get; }
TimeSpan DefaultInterval { get; }
/// What the instance must support. If anything is missing, the collector does not run.
IReadOnlyCollection RequiredCapabilities { get; }
Task