public static void FailedToQueryAllPeople(this MonitoringEvents monitoringEvents, string activity, Exception ex) { monitoringEvents.Logger.Error(activity, ex); var tags = Tags.Failure; monitoringEvents.Metrics.IncrementCounter(activity, tags); }
public static void VersionMismatch(this MonitoringEvents monitoringEvents, string activity, Exception ex) { monitoringEvents.Logger.Error(activity, ex); var tags = Tags.Failure; monitoringEvents.Metrics.IncrementCounter(activity, tags); }
public static void AbortBecausePersonExists(this MonitoringEvents monitoringEvents, string activity, Exception ex) { monitoringEvents.Logger.Error(activity, ex); var tags = Tags.Failure; monitoringEvents.Metrics.IncrementCounter(activity, tags); }
public static void CreatedAdult(this MonitoringEvents monitoringEvents, string activity) { var tags = Tags.Success .WithTag("as", "adult"); monitoringEvents.Metrics.IncrementCounter(activity, tags); }
public long RecordEvent(MonitoringEventsDto dto) { var entity = new MonitoringEvents(); entity.InjectFrom(dto); if (entity.EventEnd != DateTime.MinValue) { Logger.Trace("Removing existing Event record"); var all = Repo.GetAll(); Logger.Trace("We have all events count: {0}", all.Count()); var startNotification = all.FirstOrDefault(x => x.EventStart == entity.EventStart); if (startNotification != null) { Logger.Trace("We have found the old event to delete id: {0}", startNotification.Id); Repo.Delete(startNotification); } } Logger.Trace("Inserting new event: Name: {0} | Type: {1}", entity.EventName, entity.EventType); return(Repo.Insert(entity)); }
public static void FailedToCreateAdult(this MonitoringEvents monitoringEvents, string activity, Exception ex) { monitoringEvents.Logger.Error(activity, ex); var tags = Tags.Failure .WithTag("as", "adult"); monitoringEvents.Metrics.IncrementCounter(activity, tags); }
public static void SkippedCreatePersonAsAdult(this MonitoringEvents monitoringEvents, string activity) { var tags = Tags.Failure .WithTag(failReason(activity), "dependency_unavailable") .WithTag("as", "adult"); monitoringEvents.Metrics.IncrementCounter(activity, tags); }
private void ConfigureLoggingAndMetrics() { ConfigureSerilog(); ConfigureDatadog(); _monitoringEvents = new MonitoringEvents(_logger, new DatadogMetrics()); _monitoringEvents.ApplicationStart(); }
public static void HttpRequestStarted(this MonitoringEvents monitoringEvents, HttpContext context) { monitoringEvents.LogContext.PushProperties( new LogContextProperty("CorrelationId", CorrelationContext.CorrelationId), new LogContextProperty("IncomingAttemptId", CorrelationContext.AttemptId), new LogContextProperty("HttpMethod", context.Request.Method), new LogContextProperty("HttpUri", context.Request.Path + context.Request.QueryString), new LogContextProperty("HttpRemoteHost", context.Connection.RemoteIpAddress)); monitoringEvents.Logger.Information("HTTP request: {HttpMethod} {HttpUri} from {HttpRemoteHost}", context.Request.Method, context.Request.Path + context.Request.QueryString, context.Connection.RemoteIpAddress); }
public static void HttpRequestCompleted(this MonitoringEvents monitoringEvents, HttpContext context, TimeSpan elapsedTime) { monitoringEvents.Logger.Information("HTTP request complete: {HttpStatusCode} {HttpMimeType} after " + "{RequestElapsedTime} ms", context.Response.StatusCode, context.Response.ContentType, elapsedTime.TotalMilliseconds); monitoringEvents.Metrics.Timer("httprequest.elapsed", elapsedTime, "method:" + context.Request.Method, "status:" + context.Response.StatusCode); }
public static void ExecutedOracleQuery(this MonitoringEvents monitoringEvents, string queryType, TimeSpan?duration) { monitoringEvents.Metrics.IncrementCounter("persistence.oracle.execute_query", "success:true", "type:" + queryType); if (duration.HasValue) { monitoringEvents.Metrics.Timer( "persistence.oracle.execute_query.duration", duration.Value, "success:true", "type:" + queryType ); } }
public static void ErrorExecutingOracleQuery(this MonitoringEvents monitoringEvents, Exception ex, string queryType, TimeSpan?duration) { monitoringEvents.Logger.Error(ex, "Error executing Oracle query"); monitoringEvents.Metrics.IncrementCounter("persistence.oracle.execute_query", "success:false", "type:" + queryType); if (duration.HasValue) { monitoringEvents.Metrics.Timer( "persistence.oracle.execute_query.duration", duration.Value, "success:false", "type:" + queryType ); } }
public PersistenceAdapter(PersistenceAdapterSettings settings, MonitoringEvents monitoringEvents) { _settings = settings ?? throw new ArgumentNullException(nameof(settings)); _monitoringEvent = monitoringEvents; }
public static void LogProcessSubstep(this MonitoringEvents MonitoringEvents, string processName, string processId, string newState, string substepName) { MonitoringEvents.Logger.Information("Process [{name:id}] has entered state {state} for substep: {substep}.", processName, processId, newState, substepName); }
public static void UnhandledException(this MonitoringEvents monitoringEvents, Exception exception) { monitoringEvents.Logger.Error(exception, "Unhandled exception in application."); }
public static void UnexpectedExceptionReturnedByUseCase(this MonitoringEvents monitoringEvents, Exception ex) { monitoringEvents.Logger.Warning(ex, "Unexpected exception returned by use case."); }
public ExceptionHandlingMiddleware(MonitoringEvents monitoringEvents, bool respondOnError = false) { _monitoringEvents = monitoringEvents; _respondOnError = respondOnError; }
public static void ApplicationStart(this MonitoringEvents monitoringEvents) { monitoringEvents.Logger.Information("Starting Structured Logging Workshop, version {Version}", Reflect.OnTypes.GetAssembly(typeof(MonitoringEventsExtensions)).GetName().Version); }
public static void ErrorTestingOracleConnectivity(this MonitoringEvents monitoringEvents, Exception ex) { monitoringEvents.Logger.Error(ex, "Error testing Oracle connectivity"); }