public async Task <MonitoringDataPoint> Get() { var rng = new Random(); MonitoringDataPoint data = new MonitoringDataPoint(); data.cpuPercentage = Convert.ToInt32(await GetCpuUsageForProcess()); data.workingSet = Environment.WorkingSet; return(data); }
private void WritePingData(DateTimeOffset timestamp, Stream stream) { var dataPoint = new MonitoringDataPoint { Version = this.version, //InstrumentationKey = instrumentationKey, // ikey is currently set in query string parameter Instance = this.instanceName, Timestamp = timestamp.UtcDateTime }; this.serializerDataPoint.WriteObject(stream, dataPoint); }
private void WriteSamples(IEnumerable <QuickPulseDataSample> samples, string instrumentationKey, Stream stream, CollectionConfigurationError[] errors) { var monitoringPoints = new List <MonitoringDataPoint>(); foreach (var sample in samples) { var metricPoints = new List <MetricPoint>(); metricPoints.AddRange(CreateDefaultMetrics(sample)); metricPoints.AddRange( sample.PerfCountersLookup.Select(counter => new MetricPoint { Name = counter.Key, Value = Round(counter.Value), Weight = 1, })); metricPoints.AddRange(CreateCalculatedMetrics(sample)); ITelemetryDocument[] documents = sample.TelemetryDocuments.ToArray(); Array.Reverse(documents); ProcessCpuData[] topCpuProcesses = sample.TopCpuData.Select(p => new ProcessCpuData() { ProcessName = p.Item1, CpuPercentage = p.Item2, }).ToArray(); var dataPoint = new MonitoringDataPoint { Version = this.version, InvariantVersion = MonitoringDataPoint.CurrentInvariantVersion, InstrumentationKey = instrumentationKey, Instance = this.instanceName, RoleName = this.roleName, StreamId = this.streamId, MachineName = this.machineName, Timestamp = sample.EndTimestamp.UtcDateTime, IsWebApp = this.isWebApp, PerformanceCollectionSupported = true, ProcessorCount = this.processorCount, Metrics = metricPoints.ToArray(), Documents = documents, GlobalDocumentQuotaReached = sample.GlobalDocumentQuotaReached, TopCpuProcesses = topCpuProcesses.Length > 0 ? topCpuProcesses : null, TopCpuDataAccessDenied = sample.TopCpuDataAccessDenied, CollectionConfigurationErrors = errors, }; monitoringPoints.Add(dataPoint); } this.serializerDataPointArray.WriteObject(stream, monitoringPoints.ToArray()); }
private void WritePingData(DateTimeOffset timestamp, Stream stream) { var dataPoint = new MonitoringDataPoint { Version = this.version, InvariantVersion = MonitoringDataPoint.CurrentInvariantVersion, //InstrumentationKey = instrumentationKey, // ikey is currently set in query string parameter Instance = this.instanceName, StreamId = this.streamId, MachineName = this.machineName, Timestamp = timestamp.UtcDateTime, IsWebApp = this.isWebApp, ProcessorCount = this.processorCount }; this.serializerDataPoint.WriteObject(stream, dataPoint); }
private void WriteSamples(IEnumerable <QuickPulseDataSample> samples, string instrumentationKey, Stream stream) { var monitoringPoints = new List <MonitoringDataPoint>(); foreach (var sample in samples) { var metricPoints = new List <MetricPoint> { new MetricPoint { Name = @"\ApplicationInsights\Requests/Sec", Value = Round(sample.AIRequestsPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Request Duration", Value = Round(sample.AIRequestDurationAveInMs), Weight = sample.AIRequests }, new MetricPoint { Name = @"\ApplicationInsights\Requests Failed/Sec", Value = Round(sample.AIRequestsFailedPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Requests Succeeded/Sec", Value = Round(sample.AIRequestsSucceededPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Dependency Calls/Sec", Value = Round(sample.AIDependencyCallsPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Dependency Call Duration", Value = Round(sample.AIDependencyCallDurationAveInMs), Weight = sample.AIDependencyCalls }, new MetricPoint { Name = @"\ApplicationInsights\Dependency Calls Failed/Sec", Value = Round(sample.AIDependencyCallsFailedPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Dependency Calls Succeeded/Sec", Value = Round(sample.AIDependencyCallsSucceededPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Exceptions/Sec", Value = Round(sample.AIExceptionsPerSecond), Weight = 1 } }; metricPoints.AddRange(sample.PerfCountersLookup.Select(counter => new MetricPoint { Name = counter.Key, Value = Round(counter.Value), Weight = 1 })); var dataPoint = new MonitoringDataPoint { Version = this.version, InstrumentationKey = instrumentationKey, Instance = this.instanceName, Timestamp = sample.EndTimestamp.UtcDateTime, Metrics = metricPoints.ToArray() }; monitoringPoints.Add(dataPoint); } this.serializerDataPointArray.WriteObject(stream, monitoringPoints.ToArray()); }
private void WriteSamples(IEnumerable <QuickPulseDataSample> samples, string instrumentationKey, Stream stream) { var monitoringPoints = new List <MonitoringDataPoint>(); foreach (var sample in samples) { var metricPoints = new List <MetricPoint> { new MetricPoint { Name = @"\ApplicationInsights\Requests/Sec", Value = Round(sample.AIRequestsPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Request Duration", Value = Round(sample.AIRequestDurationAveInMs), Weight = sample.AIRequests }, new MetricPoint { Name = @"\ApplicationInsights\Requests Failed/Sec", Value = Round(sample.AIRequestsFailedPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Requests Succeeded/Sec", Value = Round(sample.AIRequestsSucceededPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Dependency Calls/Sec", Value = Round(sample.AIDependencyCallsPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Dependency Call Duration", Value = Round(sample.AIDependencyCallDurationAveInMs), Weight = sample.AIDependencyCalls }, new MetricPoint { Name = @"\ApplicationInsights\Dependency Calls Failed/Sec", Value = Round(sample.AIDependencyCallsFailedPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Dependency Calls Succeeded/Sec", Value = Round(sample.AIDependencyCallsSucceededPerSecond), Weight = 1 }, new MetricPoint { Name = @"\ApplicationInsights\Exceptions/Sec", Value = Round(sample.AIExceptionsPerSecond), Weight = 1 } }; metricPoints.AddRange(sample.PerfCountersLookup.Select(counter => new MetricPoint { Name = counter.Key, Value = Round(counter.Value), Weight = 1 })); ITelemetryDocument[] documents = sample.TelemetryDocuments.ToArray(); Array.Reverse(documents); ProcessCpuData[] topCpuProcesses = sample.TopCpuData.Select(p => new ProcessCpuData() { ProcessName = p.Item1, CpuPercentage = p.Item2 }).ToArray(); var dataPoint = new MonitoringDataPoint { Version = this.version, InvariantVersion = MonitoringDataPoint.CurrentInvariantVersion, InstrumentationKey = instrumentationKey, Instance = this.instanceName, StreamId = this.streamId, MachineName = this.machineName, Timestamp = sample.EndTimestamp.UtcDateTime, IsWebApp = this.isWebApp, Metrics = metricPoints.ToArray(), Documents = documents, TopCpuProcesses = topCpuProcesses.Length > 0 ? topCpuProcesses : null, TopCpuDataAccessDenied = sample.TopCpuDataAccessDenied }; monitoringPoints.Add(dataPoint); } this.serializerDataPointArray.WriteObject(stream, monitoringPoints.ToArray()); }