private async Task <EventTracingDesiredState> SetEventTracingConfiguration(JObject desiredValue) { var jsonRequest = EventTracingDesiredState.FromJsonObject((JObject)desiredValue); // Send the request... if (jsonRequest.request.Collectors.Count != 0) { Logger.Log("Sending request...", LoggingLevel.Information); var setResponse = await _systemConfiguratorProxy.SendCommandAsync(jsonRequest.request) as Message.StringResponse; if (setResponse.Status != ResponseStatus.Success) { throw new Error((int)setResponse.Status, setResponse.Response); } } return(jsonRequest); }
private async Task OnDesiredPropertyChangeAsync(JToken desiredValue) { Logger.Log("Processing desired properties for section: " + PropertySectionName + "...", LoggingLevel.Information); if (!(desiredValue is JObject)) { return; } EventTracingDesiredState jsonRequest = await SetEventTracingConfiguration((JObject)desiredValue); _generalReportLevel = jsonRequest.generalReportLevel; _configuredCollectors = jsonRequest.configuredCollectors; JObject reportedProperties = await GetEventTracingConfiguration(_generalReportLevel, _configuredCollectors); await NullifyReported(); await _callback.ReportPropertiesAsync(EventTracingDataContract.SectionName, reportedProperties); }
public static EventTracingDesiredState FromJsonObject(JObject eventTracingCollectorsNode) { Logger.Log("Building native request from desired json...", LoggingLevel.Information); EventTracingDataContract.DesiredProperties desiredPropertyies = EventTracingDataContract.DesiredProperties.FromJsonObject(eventTracingCollectorsNode); EventTracingDesiredState jsonRequest = new EventTracingDesiredState(); jsonRequest.generalReportLevel = desiredPropertyies.generalReportLevel; jsonRequest.configuredCollectors = new HashSet <string>(); jsonRequest.request = new SetEventTracingConfigurationRequest(); foreach (EventTracingDataContract.CollectorDesiredState collector in desiredPropertyies.collectors) { CollectorDesiredConfiguration msgCollector = SystemConfiguratorConverters.CollectorToMessage(collector); jsonRequest.request.Collectors.Add(msgCollector); jsonRequest.configuredCollectors.Add(msgCollector.Name); } return(jsonRequest); }