コード例 #1
0
        private async Task UpdateMetrics(Uri remoteUri, Func <string, JsonMetricsContext> deserializer, CancellationToken token)
        {
            try
            {
                var remoteContext = await HttpRemoteMetrics.FetchRemoteMetrics(remoteUri, deserializer, token).ConfigureAwait(false);

                remoteContext.Environment.Add("RemoteUri", remoteUri.ToString());
                remoteContext.Environment.Add("RemoteVersion", remoteContext.Version);
                remoteContext.Environment.Add("RemoteTimestamp", Clock.FormatTimestamp(remoteContext.Timestamp));

                this.currentData = remoteContext.ToMetricsData();
            }
            catch (Exception x)
            {
                MetricsErrorHandler.Handle(x, "Error updating metrics data from " + remoteUri.ToString());
                this.currentData = MetricsData.Empty;
            }
        }
コード例 #2
0
        private void UpdateMetrics(Uri remoteUri, Func <string, JsonMetricsContext> deserializer, CancellationToken token)
        {
            try
            {
                var remoteContext = Metrics.Visualization.TaskHelper.RunAsync <JsonMetricsContext>(() => { return(HttpRemoteMetrics.FetchRemoteMetrics(remoteUri, deserializer, token)); }, null).Result;
                remoteContext.Environment.Add("RemoteUri", remoteUri.ToString());
                remoteContext.Environment.Add("RemoteVersion", remoteContext.Version);
                remoteContext.Environment.Add("RemoteTimestamp", remoteContext.Timestamp);

                this.currentData = remoteContext.ToMetricsData();
            }
            catch (Exception x)
            {
                MetricsErrorHandler.Handle(x, "Error updating metrics data from " + remoteUri.ToString());
                this.currentData = MetricsData.Empty;
            }
        }