public void EmitCurrentCallInfo <TCallingInstance>(TCallingInstance instance, [CallerMemberName] string memberName = "") { IList <IComponentRegistration> components = _monitoring.GetComponents(instance, memberName); if (_onActivityEmit == null) { return; } for (int index = 0; index < components.Count; index++) { IComponentRegistration component = components[index]; IApplicationRegistration application = component.Application; ISystemRegistration system = application.SystemRegistration; string eventName = component.GetEventName(memberName); IList <Tuple <string, object> > parameters = component.GetObservedParameterValues(instance); _onActivityEmit( system.Name, application.Name, component.Name, (string.IsNullOrEmpty(eventName) ? memberName : eventName), parameters); } }
public void AddSystem(ISystemRegistration system) { if ((system == null) || (string.IsNullOrEmpty(system.Name))) { throw new ArgumentException("'system' instance and 'System Name' is required"); } if (_registrationContainers.ContainsKey(system.Name)) { _registrationContainers.Remove(system.Name); } _registrationContainers.Add(system.Name, system); }
public void RegisterSystem(ISystemRegistration systemRegistration) { _monitoring.AddSystem(systemRegistration); }