IAnalyticsClient
Implements analytics and logging functions. This interface is defined
for internal use only to implement analytics functions and mock the tests.
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Dynamo.Logging
{
public interface IAnalyticsClient
{
bool ReportingAnalytics { get; }
void Start();
void ShutDown();
void TrackEvent(Actions action, Categories category, string description, int? value);
void TrackPreference(string name, string stringValue, int? metricValue);
void TrackTimedEvent(Categories category, string variable, TimeSpan time, string description);
void TrackScreenView(string viewName);
void TrackException(Exception ex, bool isFatal);
void TrackActivityStatus(string activityType);
IDisposable CreateTimedEvent(Categories category, string variable, string description, int? value);
Task<IDisposable> CreateTaskTimedEvent(Categories category, string variable, string description, int? value);
IDisposable CreateCommandEvent(string name, string description, int? value);
Task<IDisposable> CreateTaskCommandEvent(string name, string description, int? value, IDictionary<string, object> parameters = null);
void EndEventTask(Task<IDisposable> taskToEnd);
IDisposable TrackFileOperationEvent(string filepath, Actions operation, int size, string description);
Task<IDisposable> TrackTaskFileOperationEvent(string filepath, Actions operation, int size, string description);
}
}