/// <summary> /// Protected Constructor /// </summary> /// <param name="categoryName"></param> /// <param name="instanceName"></param> protected CounterHandlerBase(string categoryName, string instanceName) { CategoryName = categoryName; InstanceName = instanceName; Name = CounterType; UniqueName = PerfItRuntime.GetUniqueName(instanceName, Name); }
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { base.OnActionExecuted(actionExecutedContext); bool raiseErrors = true; if (actionExecutedContext.Request.Properties.ContainsKey(Constants.PerfItPublishErrorsKey)) { raiseErrors = Convert.ToBoolean(actionExecutedContext.Request.Properties[Constants.PerfItPublishErrorsKey]); } try { var instanceName = InstanceName; if (string.IsNullOrEmpty(instanceName)) { HttpActionContext actionContext = actionExecutedContext.ActionContext; HttpActionDescriptor actionDescriptor = actionContext.ActionDescriptor; instanceName = PerfItRuntime.GetCounterInstanceName(actionDescriptor.ControllerDescriptor.ControllerType, actionDescriptor.ActionName); } if (actionExecutedContext.Request.Properties.ContainsKey(Constants.PerfItKey)) { var context = (PerfItContext)actionExecutedContext.Request.Properties[Constants.PerfItKey]; foreach (var counter in Counters) { context.CountersToRun.Add(PerfItRuntime.GetUniqueName(instanceName, counter)); } context.Filter = this; } } catch (Exception exception) { Trace.TraceError(exception.ToString()); if (raiseErrors) { throw exception; } } }