public static List<String> toStringList(List<ProjectName> values) { List<String> list = new ArrayList<String>(values.size()); for (ProjectName value : values) { if (value == null) { list.add(""); } else { list.add(value.toString()); } } return list; }
public static ProjectName parse(String formattedString) { if (formattedString.isEmpty()) { return null; } Map<String, String> matchMap = PATH_TEMPLATE.validatedMatch( formattedString, "ProjectName.parse: formattedString not in valid format"); return of(matchMap.get("project")); }
public static String format(String project) { return newBuilder().setProject(project).build().toString(); }
/** * Gets all monitored resource descriptors. */ void listMonitoredResources() throws IOException { // [START monitoring_list_resources] // Your Google Cloud Platform project ID String projectId = System.getProperty("projectId"); final MetricServiceClient client = MetricServiceClient.create(); ProjectName name = ProjectName.of(projectId); ListMonitoredResourceDescriptorsRequest request = ListMonitoredResourceDescriptorsRequest .newBuilder() .setName(name.toString()) .build(); System.out.println("Listing monitored resource descriptors: "); ListMonitoredResourceDescriptorsPagedResponse response = client .listMonitoredResourceDescriptors(request); for (MonitoredResourceDescriptor d : response.iterateAll()) { System.out.println(d.getType()); } // [END monitoring_list_resources] }
@Test @SuppressWarnings("all") public void createTimeSeriesTest() { Empty expectedResponse = Empty.newBuilder().build(); mockMetricService.addResponse(expectedResponse); ProjectName name = ProjectName.of("[PROJECT]"); List<TimeSeries> timeSeries = new ArrayList<>(); client.createTimeSeries(name, timeSeries); List<GeneratedMessageV3> actualRequests = mockMetricService.getRequests(); Assert.assertEquals(1, actualRequests.size()); CreateTimeSeriesRequest actualRequest = (CreateTimeSeriesRequest) actualRequests.get(0); Assert.assertEquals(name, ProjectName.parse(actualRequest.getName())); Assert.assertEquals(timeSeries, actualRequest.getTimeSeriesList()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void listUptimeCheckConfigsExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockUptimeCheckService.addException(exception); try { String formattedParent = ProjectName.format("[PROJECT]"); client.listUptimeCheckConfigs(formattedParent); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { // Expected exception } }
public static ProjectName of(String project) { return newBuilder().setProject(project).build(); }
public static List<ProjectName> parseList(List<String> formattedStrings) { List<ProjectName> list = new ArrayList<>(formattedStrings.size()); for (String formattedString : formattedStrings) { list.add(parse(formattedString)); } return list; }
public ProjectName build() { return new ProjectName(this); } }
/** * Returns the first page of all metric descriptors. */ void listMetricDescriptors() throws IOException { // [START monitoring_list_descriptors] // Your Google Cloud Platform project ID String projectId = System.getProperty("projectId"); final MetricServiceClient client = MetricServiceClient.create(); ProjectName name = ProjectName.of(projectId); ListMetricDescriptorsRequest request = ListMetricDescriptorsRequest .newBuilder() .setName(name.toString()) .build(); ListMetricDescriptorsPagedResponse response = client.listMetricDescriptors(request); System.out.println("Listing descriptors: "); for (MetricDescriptor d : response.iterateAll()) { System.out.println(d.getName() + " " + d.getDisplayName()); } // [END monitoring_list_descriptors] }
@Test @SuppressWarnings("all") public void listAlertPoliciesTest() { String nextPageToken = ""; AlertPolicy alertPoliciesElement = AlertPolicy.newBuilder().build(); List<AlertPolicy> alertPolicies = Arrays.asList(alertPoliciesElement); ListAlertPoliciesResponse expectedResponse = ListAlertPoliciesResponse.newBuilder() .setNextPageToken(nextPageToken) .addAllAlertPolicies(alertPolicies) .build(); mockAlertPolicyService.addResponse(expectedResponse); ProjectName name = ProjectName.of("[PROJECT]"); ListAlertPoliciesPagedResponse pagedListResponse = client.listAlertPolicies(name); List<AlertPolicy> resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); Assert.assertEquals(expectedResponse.getAlertPoliciesList().get(0), resources.get(0)); List<GeneratedMessageV3> actualRequests = mockAlertPolicyService.getRequests(); Assert.assertEquals(1, actualRequests.size()); ListAlertPoliciesRequest actualRequest = (ListAlertPoliciesRequest) actualRequests.get(0); Assert.assertEquals(name, ProjectName.parse(actualRequest.getName())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void createUptimeCheckConfigExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockUptimeCheckService.addException(exception); try { String formattedParent = ProjectName.format("[PROJECT]"); UptimeCheckConfig uptimeCheckConfig = UptimeCheckConfig.newBuilder().build(); client.createUptimeCheckConfig(formattedParent, uptimeCheckConfig); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { // Expected exception } }
CreateTimeSeriesExporter( String projectId, MetricServiceClient metricServiceClient, MonitoredResource monitoredResource, @javax.annotation.Nullable String metricNamePrefix) { projectName = ProjectName.newBuilder().setProject(projectId).build(); this.metricServiceClient = metricServiceClient; this.monitoredResource = monitoredResource; this.domain = StackdriverExportUtils.getDomain(metricNamePrefix); }
/** * Demonstrates listing time series using a filter. */ void listTimeSeries(String filter) throws IOException { // [START monitoring_read_timeseries_simple] MetricServiceClient metricServiceClient = MetricServiceClient.create(); String projectId = System.getProperty("projectId"); ProjectName name = ProjectName.of(projectId); // Restrict time to last 20 minutes long startMillis = System.currentTimeMillis() - ((60 * 20) * 1000); TimeInterval interval = TimeInterval.newBuilder() .setStartTime(Timestamps.fromMillis(startMillis)) .setEndTime(Timestamps.fromMillis(System.currentTimeMillis())) .build(); ListTimeSeriesRequest.Builder requestBuilder = ListTimeSeriesRequest.newBuilder() .setName(name.toString()) .setFilter(filter) .setInterval(interval); ListTimeSeriesRequest request = requestBuilder.build(); ListTimeSeriesPagedResponse response = metricServiceClient.listTimeSeries(request); System.out.println("Got timeseries: "); for (TimeSeries ts : response.iterateAll()) { System.out.println(ts); } // [END monitoring_read_timeseries_simple] }
/** * Lists monitored resource descriptors that match a filter. This method does not require a * Stackdriver account. * * <p>Sample code: * * <pre><code> * try (MetricServiceClient metricServiceClient = MetricServiceClient.create()) { * ProjectName name = ProjectName.of("[PROJECT]"); * for (MonitoredResourceDescriptor element : metricServiceClient.listMonitoredResourceDescriptors(name).iterateAll()) { * // doThingsWith(element); * } * } * </code></pre> * * @param name The project on which to execute the request. The format is * `"projects/{project_id_or_number}"`. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final ListMonitoredResourceDescriptorsPagedResponse listMonitoredResourceDescriptors( ProjectName name) { ListMonitoredResourceDescriptorsRequest request = ListMonitoredResourceDescriptorsRequest.newBuilder() .setName(name == null ? null : name.toString()) .build(); return listMonitoredResourceDescriptors(request); }
@Test @SuppressWarnings("all") public void listMetricDescriptorsTest() { String nextPageToken = ""; MetricDescriptor metricDescriptorsElement = MetricDescriptor.newBuilder().build(); List<MetricDescriptor> metricDescriptors = Arrays.asList(metricDescriptorsElement); ListMetricDescriptorsResponse expectedResponse = ListMetricDescriptorsResponse.newBuilder() .setNextPageToken(nextPageToken) .addAllMetricDescriptors(metricDescriptors) .build(); mockMetricService.addResponse(expectedResponse); ProjectName name = ProjectName.of("[PROJECT]"); ListMetricDescriptorsPagedResponse pagedListResponse = client.listMetricDescriptors(name); List<MetricDescriptor> resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); Assert.assertEquals(expectedResponse.getMetricDescriptorsList().get(0), resources.get(0)); List<GeneratedMessageV3> actualRequests = mockMetricService.getRequests(); Assert.assertEquals(1, actualRequests.size()); ListMetricDescriptorsRequest actualRequest = (ListMetricDescriptorsRequest) actualRequests.get(0); Assert.assertEquals(name, ProjectName.parse(actualRequest.getName())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
public static void executeNoCatch(String projectId) throws Exception { try (MetricServiceClient client = MetricServiceClient.create()) { ProjectName name = ProjectName.of(projectId); ListMonitoredResourceDescriptorsPagedResponse pagedResponse = client.listMonitoredResourceDescriptors(name); } }
@Test @SuppressWarnings("all") public void listUptimeCheckConfigsTest() { String nextPageToken = ""; int totalSize = 705419236; UptimeCheckConfig uptimeCheckConfigsElement = UptimeCheckConfig.newBuilder().build(); List<UptimeCheckConfig> uptimeCheckConfigs = Arrays.asList(uptimeCheckConfigsElement); ListUptimeCheckConfigsResponse expectedResponse = ListUptimeCheckConfigsResponse.newBuilder() .setNextPageToken(nextPageToken) .setTotalSize(totalSize) .addAllUptimeCheckConfigs(uptimeCheckConfigs) .build(); mockUptimeCheckService.addResponse(expectedResponse); String formattedParent = ProjectName.format("[PROJECT]"); ListUptimeCheckConfigsPagedResponse pagedListResponse = client.listUptimeCheckConfigs(formattedParent); List<UptimeCheckConfig> resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); Assert.assertEquals(expectedResponse.getUptimeCheckConfigsList().get(0), resources.get(0)); List<GeneratedMessageV3> actualRequests = mockUptimeCheckService.getRequests(); Assert.assertEquals(1, actualRequests.size()); ListUptimeCheckConfigsRequest actualRequest = (ListUptimeCheckConfigsRequest) actualRequests.get(0); Assert.assertEquals(formattedParent, actualRequest.getParent()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
CreateMetricDescriptorExporter( String projectId, MetricServiceClient metricServiceClient, @javax.annotation.Nullable String metricNamePrefix, MetricExporter nextExporter) { this.projectId = projectId; projectName = ProjectName.newBuilder().setProject(projectId).build(); this.metricServiceClient = metricServiceClient; this.domain = StackdriverExportUtils.getDomain(metricNamePrefix); this.displayNamePrefix = StackdriverExportUtils.getDisplayNamePrefix(metricNamePrefix); this.nextExporter = nextExporter; }
/** * Demonstrates listing time series headers. */ void listTimeSeriesHeaders() throws IOException { // [START monitoring_read_timeseries_fields] MetricServiceClient metricServiceClient = MetricServiceClient.create(); String projectId = System.getProperty("projectId"); ProjectName name = ProjectName.of(projectId); // Restrict time to last 20 minutes long startMillis = System.currentTimeMillis() - ((60 * 20) * 1000); TimeInterval interval = TimeInterval.newBuilder() .setStartTime(Timestamps.fromMillis(startMillis)) .setEndTime(Timestamps.fromMillis(System.currentTimeMillis())) .build(); ListTimeSeriesRequest.Builder requestBuilder = ListTimeSeriesRequest.newBuilder() .setName(name.toString()) .setFilter("metric.type=\"compute.googleapis.com/instance/cpu/utilization\"") .setInterval(interval) .setView(ListTimeSeriesRequest.TimeSeriesView.HEADERS); ListTimeSeriesRequest request = requestBuilder.build(); ListTimeSeriesPagedResponse response = metricServiceClient.listTimeSeries(request); System.out.println("Got timeseries headers: "); for (TimeSeries ts : response.iterateAll()) { System.out.println(ts); } // [END monitoring_read_timeseries_fields] }