public void CreateEvent(RequestTracerEventType eventType, DateTime startInstant, RequestEventDetails details) { try { if (!IsPerformanceMonitorEnabled() || Convert.ToInt32(details[RequestEventDetails.DURATION]) < EventCreationThreshold(eventType) || (tracer.MainEventType == RequestTracerEventType.ExposedIntegrationExecuted && !IsExposedIntegrationExecutedEnabled())) { return; } RequestEvent newEvent = new RequestEvent( startInstant, tracer.RequestKey, eventType.ToString(), tracer.ModuleKey, tracer.ModuleName, tracer.ApplicationKey, tracer.ApplicationName, details.ToString() ); _requestEvents.Add(newEvent); } catch (Exception e) { HandleException(e); } }
private int AggregateExternalCallsByType(RequestTracerEventType eventType, string aggregateType) { IEnumerable <ESpaceExternalCallTracer> externalExecutionTracer = externalCalls.Values. Where((tracer) => tracer.EventType == eventType); return(externalExecutionTracer.Aggregate(0, (acc, tracer) => acc + Convert.ToInt32(tracer.Details[aggregateType]))); }
private int GetEventThreshold(RequestTracerEventType type) { switch (type) { case RequestTracerEventType.QueryExecuted: return(DatabaseAccess.SlowQueryThreshold); case RequestTracerEventType.ExtensionExecuted: return(Settings.GetInt(Settings.Configs.Log_SlowExtensionCallInMs)); case RequestTracerEventType.ConsumedIntegrationExecuted: return(Settings.GetInt(Settings.Configs.Log_SlowIntegrationThresholdInMs)); default: return(0); } }
private ESpaceExternalCallTracer AddNewExternalCallTracer(RequestTracerEventType eventType, string objectKey, string objectName, string ownerESpaceKey, string ownerEspaceName, DateTime instant) { ESpaceExternalCallTracer result = new ESpaceExternalCallTracer { StartInstant = instant, EventType = eventType, Details = new ESpaceExternalCallDetails(objectKey, objectName, ownerESpaceKey, ownerEspaceName, CommonRequestEventDetails) }; result.Details[RequestEventDetails.END_POINT_NAME] = runningEndpointName; result.Details[RequestEventDetails.END_POINT_KEY] = runningEndpointKey; result.Details[RequestEventDetails.ACTION_NAME] = runningActionName; result.Details[RequestEventDetails.ACTION_KEY] = runningActionKey; externalCalls.Add( GetExecutionKey(objectKey, ownerESpaceKey), result ); return(result); }
private void RegisterExternalCall(RequestTracerEventType eventType, string objectKey, string objectName, string ownerESpaceKey, string ownerEspaceName, int executionDuration, DateTime startTime) { try { if (objectName == "" || objectKey == "" || executionDuration < 0) { return; } if (!externalCalls.ContainsKey(GetExecutionKey(objectKey, ownerESpaceKey))) { AddNewExternalCallTracer(eventType, objectKey, objectName, ownerESpaceKey, ownerEspaceName, startTime); } externalCalls[GetExecutionKey(objectKey, ownerESpaceKey)].Details.AddExecution(executionDuration); } catch (Exception e) { HandleRequestTracerException(e); } }
public int CountEventsOfType(RequestTracerEventType eventType) { return(_requestEvents.Where(reqEvent => reqEvent.RequestEventName == eventType.ToString()).Count()); }