/// <summary>
        /// Creates or adds data to one or more time series. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response.
        /// Documentation https://developers.google.com/monitoring/v3/reference/timeSeries/create
        /// Generation Note: This does not always build corectly.  Google needs to standardise things I need to figuer out which ones are wrong.
        /// </summary>
        /// <param name="service">Authenticated Monitoring service.</param>
        /// <param name="name">The project on which to execute the request. The format is "projects/{project_id_or_number}".</param>
        /// <param name="body">A valid Monitoring v3 body.</param>
        /// <returns>EmptyResponse</returns>
        public static Empty Create(MonitoringService service, string name, CreateTimeSeriesRequest body)
        {
            try
            {
                // Initial validation.
                if (service == null)
                {
                    throw new ArgumentNullException("service");
                }
                if (body == null)
                {
                    throw new ArgumentNullException("body");
                }
                if (name == null)
                {
                    throw new ArgumentNullException(name);
                }

                // Make the request.
                return(service.TimeSeries.Create(body, name).Execute());
            }
            catch (Exception ex)
            {
                throw new Exception("Request TimeSeries.Create failed.", ex);
            }
        }
Exemple #2
0
        /// <summary>Snippet for CreateTimeSeries</summary>
        public void CreateTimeSeries_RequestObject()
        {
            // Snippet: CreateTimeSeries(CreateTimeSeriesRequest,CallSettings)
            // Create client
            MetricServiceClient metricServiceClient = MetricServiceClient.Create();
            // Initialize request argument(s)
            CreateTimeSeriesRequest request = new CreateTimeSeriesRequest
            {
                ProjectName = new ProjectName("[PROJECT]"),
                TimeSeries  = { },
            };

            // Make the request
            metricServiceClient.CreateTimeSeries(request);
            // End snippet
        }
        public async Task CreateTimeSeriesAsync2()
        {
            Mock <MetricService.MetricServiceClient> mockGrpcClient = new Mock <MetricService.MetricServiceClient>(MockBehavior.Strict);
            CreateTimeSeriesRequest request = new CreateTimeSeriesRequest
            {
                ProjectName = new ProjectName("[PROJECT]"),
                TimeSeries  = { },
            };
            Empty expectedResponse = new Empty();

            mockGrpcClient.Setup(x => x.CreateTimeSeriesAsync(request, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <Empty>(Task.FromResult(expectedResponse), null, null, null, null));
            MetricServiceClient client = new MetricServiceClientImpl(mockGrpcClient.Object, null);
            await client.CreateTimeSeriesAsync(request);

            mockGrpcClient.VerifyAll();
        }
        public void CreateTimeSeries2()
        {
            Mock <MetricService.MetricServiceClient> mockGrpcClient = new Mock <MetricService.MetricServiceClient>(MockBehavior.Strict);
            CreateTimeSeriesRequest request = new CreateTimeSeriesRequest
            {
                ProjectName = new ProjectName("[PROJECT]"),
                TimeSeries  = { },
            };
            Empty expectedResponse = new Empty();

            mockGrpcClient.Setup(x => x.CreateTimeSeries(request, It.IsAny <CallOptions>()))
            .Returns(expectedResponse);
            MetricServiceClient client = new MetricServiceClientImpl(mockGrpcClient.Object, null);

            client.CreateTimeSeries(request);
            mockGrpcClient.VerifyAll();
        }
        /// <summary>Snippet for CreateTimeSeriesAsync</summary>
        public async Task CreateTimeSeriesAsync_RequestObject()
        {
            // Snippet: CreateTimeSeriesAsync(CreateTimeSeriesRequest,CallSettings)
            // Additional: CreateTimeSeriesAsync(CreateTimeSeriesRequest,CancellationToken)
            // Create client
            MetricServiceClient metricServiceClient = await MetricServiceClient.CreateAsync();

            // Initialize request argument(s)
            CreateTimeSeriesRequest request = new CreateTimeSeriesRequest
            {
                ProjectName = new ProjectName("[PROJECT]"),
                TimeSeries  = { },
            };
            // Make the request
            await metricServiceClient.CreateTimeSeriesAsync(request);

            // End snippet
        }
        private void Export()
        {
            var viewDataList = new List <IViewData>();

            foreach (var view in viewManager.AllExportedViews)
            {
                if (RegisterView(view))
                {
                    var data = viewManager.GetView(view.Name);
                    viewDataList.Add(data);
                }
            }

            // Add time series from all the views that need exporting
            var timeSeriesList = new List <TimeSeries>();

            foreach (var viewData in viewDataList)
            {
                MetricDescriptor  metricDescriptor = metricDescriptors[viewData.View];
                List <TimeSeries> timeSeries       = MetricsConversions.CreateTimeSeriesList(viewData, monitoredResource, metricDescriptor, domain);
                timeSeriesList.AddRange(timeSeries);
            }

            // Perform the operation in batches of MAX_BATCH_EXPORT_SIZE
            foreach (IEnumerable <TimeSeries> batchedTimeSeries in timeSeriesList.Partition(MAX_BATCH_EXPORT_SIZE))
            {
                var request = new CreateTimeSeriesRequest();
                request.ProjectName = project;
                request.TimeSeries.AddRange(batchedTimeSeries);

                try
                {
                    metricServiceClient.CreateTimeSeries(request);
                }
                catch (RpcException e)
                {
                    ExporterStackdriverEventSource.Log.UnknownProblemWhileCreatingStackdriverTimeSeriesError(e);
                }
            }
        }