on develop help sign in
Updating toolresults service definition
commitcb11a4f35d8a44ba91542490a054e6c2c4514c35 authorBrendan Hay <brendan.g.hay@gmail.com> dateSat 11 Feb 2017, 11:26 (10 years ago) parentc9c14a4
1 file changed+643−6
gen/model/toolresults/v1beta3/toolresults-api.json+643−6
gen/model/toolresults/v1beta3/toolresults-api.json+643−6
@@ -1,19 +1,19 @@
11{
22 "kind": "discovery#restDescription",
3− "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/sRYR7w3v53bGSs-0ySeriwTU574\"",
3+ "etag": "\"tbys6C40o18GZwyMen5GMkdK-3s/NLNRi_fS4FqWh_1V7egeBkDSD6g\"",
44 "discoveryVersion": "v1",
55 "id": "toolresults:v1beta3",
66 "name": "toolresults",
77 "canonicalName": "Tool Results",
88 "version": "v1beta3",
9− "revision": "20160802",
9+ "revision": "20170124",
1010 "title": "Cloud Tool Results API",
1111 "description": "Reads and publishes results from Cloud Test Lab.",
1212 "ownerDomain": "google.com",
1313 "ownerName": "Google",
1414 "icons": {
15− "x16": "http://www.google.com/images/icons/product/search-16.gif",
16− "x32": "http://www.google.com/images/icons/product/search-32.gif"
15+ "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
16+ "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
1717 },
1818 "documentationLink": "https://developers.google.com/cloud-test-lab/",
1919 "protocol": "rest",
@@ -93,10 +93,116 @@
9393 }
9494 }
9595 },
96+ "BasicPerfSampleSeries": {
97+ "id": "BasicPerfSampleSeries",
98+ "type": "object",
99+ "description": "Encapsulates the metadata for basic sample series represented by a line chart",
100+ "properties": {
101+ "perfMetricType": {
102+ "type": "string",
103+ "enum": [
104+ "cpu",
105+ "memory",
106+ "network",
107+ "perfMetricTypeUnspecified"
108+ ],
109+ "enumDescriptions": [
110+ "",
111+ "",
112+ "",
113+ ""
114+ ]
115+ },
116+ "perfUnit": {
117+ "type": "string",
118+ "enum": [
119+ "kibibyte",
120+ "percent",
121+ "perfUnitUnspecified"
122+ ],
123+ "enumDescriptions": [
124+ "",
125+ "",
126+ ""
127+ ]
128+ },
129+ "sampleSeriesLabel": {
130+ "type": "string",
131+ "enum": [
132+ "cpuKernel",
133+ "cpuTotal",
134+ "cpuUser",
135+ "memoryRssPrivate",
136+ "memoryRssShared",
137+ "memoryRssTotal",
138+ "ntBytesReceived",
139+ "ntBytesTransferred",
140+ "sampleSeriesTypeUnspecified"
141+ ],
142+ "enumDescriptions": [
143+ "",
144+ "",
145+ "",
146+ "",
147+ "",
148+ "",
149+ "",
150+ "",
151+ ""
152+ ]
153+ }
154+ }
155+ },
156+ "BatchCreatePerfSamplesRequest": {
157+ "id": "BatchCreatePerfSamplesRequest",
158+ "type": "object",
159+ "description": "The request must provide up to a maximum of 5000 samples to be created; a larger sample size will cause an INVALID_ARGUMENT error",
160+ "properties": {
161+ "perfSamples": {
162+ "type": "array",
163+ "description": "The set of PerfSamples to create should not include existing timestamps",
164+ "items": {
165+ "$ref": "PerfSample"
166+ }
167+ }
168+ }
169+ },
170+ "BatchCreatePerfSamplesResponse": {
171+ "id": "BatchCreatePerfSamplesResponse",
172+ "type": "object",
173+ "properties": {
174+ "perfSamples": {
175+ "type": "array",
176+ "items": {
177+ "$ref": "PerfSample"
178+ }
179+ }
180+ }
181+ },
182+ "CPUInfo": {
183+ "id": "CPUInfo",
184+ "type": "object",
185+ "properties": {
186+ "cpuProcessor": {
187+ "type": "string",
188+ "description": "description of the device processor ie '1.8 GHz hexa core 64-bit ARMv8-A'"
189+ },
190+ "cpuSpeedInGhz": {
191+ "type": "number",
192+ "description": "the CPU clock speed in GHz",
193+ "format": "float"
194+ },
195+ "numberOfCores": {
196+ "type": "integer",
197+ "description": "the number of CPU cores",
198+ "format": "int32"
199+ }
200+ }
201+ },
96202 "Duration": {
97203 "id": "Duration",
98204 "type": "object",
99− "description": "A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.\n\nExample 1: Compute Duration from two Timestamps in pseudo code.\n\nTimestamp start = ...; Timestamp end = ...; Duration duration = ...;\n\nduration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;\n\nif (duration.seconds 0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds \u003e 0 && duration.nanos \u003c 0) { duration.seconds -= 1; duration.nanos += 1000000000; }\n\nExample 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n\nTimestamp start = ...; Duration duration = ...; Timestamp end = ...;\n\nend.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;\n\nif (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }\n\nExample 3: Compute Duration from datetime.timedelta in Python.\n\ntd = datetime.timedelta(days=3, minutes=10) duration = Duration() duration.FromTimedelta(td)",
205+ "description": "A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.\n\n# Examples\n\nExample 1: Compute Duration from two Timestamps in pseudo code.\n\nTimestamp start = ...; Timestamp end = ...; Duration duration = ...;\n\nduration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;\n\nif (duration.seconds 0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds \u003e 0 && duration.nanos \u003c 0) { duration.seconds -= 1; duration.nanos += 1000000000; }\n\nExample 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n\nTimestamp start = ...; Duration duration = ...; Timestamp end = ...;\n\nend.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;\n\nif (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }\n\nExample 3: Compute Duration from datetime.timedelta in Python.\n\ntd = datetime.timedelta(days=3, minutes=10) duration = Duration() duration.FromTimedelta(td)\n\n# JSON Mapping\n\nIn JSON format, the Duration type is encoded as a string rather than an object, where the string ends in the suffix \"s\" (indicating seconds) and is preceded by the number of seconds, with nanoseconds expressed as fractional seconds. For example, 3 seconds with 0 nanoseconds should be encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1 microsecond should be expressed in JSON format as \"3.000001s\".",
100206 "properties": {
101207 "nanos": {
102208 "type": "integer",
@@ -281,6 +387,35 @@
281387 }
282388 }
283389 },
390+ "ListPerfSampleSeriesResponse": {
391+ "id": "ListPerfSampleSeriesResponse",
392+ "type": "object",
393+ "properties": {
394+ "perfSampleSeries": {
395+ "type": "array",
396+ "description": "The resulting PerfSampleSeries sorted by id",
397+ "items": {
398+ "$ref": "PerfSampleSeries"
399+ }
400+ }
401+ }
402+ },
403+ "ListPerfSamplesResponse": {
404+ "id": "ListPerfSamplesResponse",
405+ "type": "object",
406+ "properties": {
407+ "nextPageToken": {
408+ "type": "string",
409+ "description": "Optional, returned if result size exceeds the page size specified in the request (or the default page size, 500, if unspecified). It indicates the last sample timestamp to be used as page_token in subsequent request"
410+ },
411+ "perfSamples": {
412+ "type": "array",
413+ "items": {
414+ "$ref": "PerfSample"
415+ }
416+ }
417+ }
418+ },
284419 "ListStepThumbnailsResponse": {
285420 "id": "ListStepThumbnailsResponse",
286421 "type": "object",
@@ -317,6 +452,22 @@
317452 }
318453 }
319454 },
455+ "MemoryInfo": {
456+ "id": "MemoryInfo",
457+ "type": "object",
458+ "properties": {
459+ "memoryCapInKibibyte": {
460+ "type": "string",
461+ "description": "Maximum memory that can be allocated to the process in KiB",
462+ "format": "int64"
463+ },
464+ "memoryTotalInKibibyte": {
465+ "type": "string",
466+ "description": "Total memory available on the device in KiB",
467+ "format": "int64"
468+ }
469+ }
470+ },
320471 "Outcome": {
321472 "id": "Outcome",
322473 "type": "object",
@@ -358,6 +509,114 @@
358509 }
359510 }
360511 },
512+ "PerfEnvironment": {
513+ "id": "PerfEnvironment",
514+ "type": "object",
515+ "description": "Encapsulates performance environment info",
516+ "properties": {
517+ "cpuInfo": {
518+ "$ref": "CPUInfo",
519+ "description": "CPU related environment info"
520+ },
521+ "memoryInfo": {
522+ "$ref": "MemoryInfo",
523+ "description": "Memory related environment info"
524+ }
525+ }
526+ },
527+ "PerfMetricsSummary": {
528+ "id": "PerfMetricsSummary",
529+ "type": "object",
530+ "description": "A summary of perf metrics collected and performance environment info",
531+ "properties": {
532+ "executionId": {
533+ "type": "string",
534+ "description": "A tool results execution ID."
535+ },
536+ "historyId": {
537+ "type": "string",
538+ "description": "A tool results history ID."
539+ },
540+ "perfEnvironment": {
541+ "$ref": "PerfEnvironment",
542+ "description": "Describes the environment in which the performance metrics were collected"
543+ },
544+ "perfMetrics": {
545+ "type": "array",
546+ "description": "Set of resource collected",
547+ "items": {
548+ "type": "string",
549+ "enum": [
550+ "cpu",
551+ "memory",
552+ "network",
553+ "perfMetricTypeUnspecified"
554+ ],
555+ "enumDescriptions": [
556+ "",
557+ "",
558+ "",
559+ ""
560+ ]
561+ }
562+ },
563+ "projectId": {
564+ "type": "string",
565+ "description": "The cloud project"
566+ },
567+ "stepId": {
568+ "type": "string",
569+ "description": "A tool results step ID."
570+ }
571+ }
572+ },
573+ "PerfSample": {
574+ "id": "PerfSample",
575+ "type": "object",
576+ "description": "Resource representing a single performance measure or data point",
577+ "properties": {
578+ "sampleTime": {
579+ "$ref": "Timestamp",
580+ "description": "Timestamp of collection"
581+ },
582+ "value": {
583+ "type": "number",
584+ "description": "Value observed",
585+ "format": "double"
586+ }
587+ }
588+ },
589+ "PerfSampleSeries": {
590+ "id": "PerfSampleSeries",
591+ "type": "object",
592+ "description": "Resource representing a collection of performance samples (or data points)",
593+ "properties": {
594+ "basicPerfSampleSeries": {
595+ "$ref": "BasicPerfSampleSeries",
596+ "description": "Basic series represented by a line chart"
597+ },
598+ "executionId": {
599+ "type": "string",
600+ "description": "A tool results execution ID."
601+ },
602+ "historyId": {
603+ "type": "string",
604+ "description": "A tool results history ID."
605+ },
606+ "projectId": {
607+ "type": "string",
608+ "description": "The cloud project"
609+ },
610+ "sampleSeriesId": {
611+ "type": "string",
612+ "description": "A sample series id"
613+ },
614+ "stepId": {
615+ "type": "string",
616+ "description": "A tool results step ID."
617+ }
618+ }
619+ },
361620 "ProjectSettings": {
362621 "id": "ProjectSettings",
363622 "type": "object",
@@ -692,7 +951,7 @@
692951 "Timestamp": {
693952 "id": "Timestamp",
694953 "type": "object",
695− "description": "A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are \"smeared\" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).\n\nExample 1: Compute Timestamp from POSIX `time()`.\n\nTimestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);\n\nExample 2: Compute Timestamp from POSIX `gettimeofday()`.\n\nstruct timeval tv; gettimeofday(&tv, NULL);\n\nTimestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);\n\nExample 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\nFILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) \u003c\u003c 32) | ft.dwLowDateTime;\n\n// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\nExample 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\nlong millis = System.currentTimeMillis();\n\nTimestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n\n\nExample 5: Compute Timestamp from current time in Python.\n\ntimestamp = Timestamp() timestamp.GetCurrentTime()",
954+ "description": "A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are \"smeared\" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).\n\n# Examples\n\nExample 1: Compute Timestamp from POSIX `time()`.\n\nTimestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);\n\nExample 2: Compute Timestamp from POSIX `gettimeofday()`.\n\nstruct timeval tv; gettimeofday(&tv, NULL);\n\nTimestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);\n\nExample 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\nFILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) \u003c\u003c 32) | ft.dwLowDateTime;\n\n// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\nExample 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\nlong millis = System.currentTimeMillis();\n\nTimestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n\n\nExample 5: Compute Timestamp from current time in Python.\n\ntimestamp = Timestamp() timestamp.GetCurrentTime()\n\n# JSON Mapping\n\nIn JSON format, the Timestamp type is encoded as a string in the [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\" where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone is required, though only UTC (as indicated by \"Z\") is presently supported.\n\nFor example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past 01:30 UTC on January 15, 2017.\n\nIn JavaScript, one can convert a Date object to this format using the standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] method. In Python, a standard `datetime.datetime` object can be converted to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) to obtain a formatter capable of generating timestamps in this format.",
696955 "properties": {
697956 "nanos": {
698957 "type": "integer",
@@ -1192,6 +1451,47 @@
11921451 "https://www.googleapis.com/auth/cloud-platform"
11931452 ]
11941453 },
1454+ "getPerfMetricsSummary": {
1455+ "id": "toolresults.projects.histories.executions.steps.getPerfMetricsSummary",
1456+ "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary",
1457+ "httpMethod": "GET",
1458+ "description": "Retrieves a PerfMetricsSummary.\n\nMay return any of the following error code(s): - NOT_FOUND - The specified PerfMetricsSummary does not exist",
1459+ "parameters": {
1460+ "executionId": {
1461+ "type": "string",
1462+ "description": "A tool results execution ID.",
1463+ "required": true,
1464+ "location": "path"
1465+ },
1466+ "historyId": {
1467+ "type": "string",
1468+ "description": "A tool results history ID.",
1469+ "required": true,
1470+ "location": "path"
1471+ },
1472+ "projectId": {
1473+ "type": "string",
1474+ "description": "The cloud project",
1475+ "required": true,
1476+ "location": "path"
1477+ },
1478+ "stepId": {
1479+ "type": "string",
1480+ "description": "A tool results step ID.",
1481+ "required": true,
1482+ "location": "path"
1483+ }
1484+ },
1485+ "parameterOrder": [
1486+ "projectId",
1487+ "historyId",
1488+ "executionId",
1489+ "stepId"
1490+ ],
1491+ "response": {
1492+ "$ref": "PerfMetricsSummary"
1493+ }
1494+ },
11951495 "list": {
11961496 "id": "toolresults.projects.histories.executions.steps.list",
11971497 "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps",
@@ -1341,6 +1641,343 @@
13411641 }
13421642 },
13431643 "resources": {
1644+ "perfMetricsSummary": {
1645+ "methods": {
1646+ "create": {
1647+ "id": "toolresults.projects.histories.executions.steps.perfMetricsSummary.create",
1648+ "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary",
1649+ "httpMethod": "POST",
1650+ "description": "Creates a PerfMetricsSummary resource.\n\nMay return any of the following error code(s): - ALREADY_EXISTS - A PerfMetricSummary already exists for the given Step - NOT_FOUND - The containing Step does not exist",
1651+ "parameters": {
1652+ "executionId": {
1653+ "type": "string",
1654+ "description": "A tool results execution ID.",
1655+ "required": true,
1656+ "location": "path"
1657+ },
1658+ "historyId": {
1659+ "type": "string",
1660+ "description": "A tool results history ID.",
1661+ "required": true,
1662+ "location": "path"
1663+ },
1664+ "projectId": {
1665+ "type": "string",
1666+ "description": "The cloud project",
1667+ "required": true,
1668+ "location": "path"
1669+ },
1670+ "stepId": {
1671+ "type": "string",
1672+ "description": "A tool results step ID.",
1673+ "required": true,
1674+ "location": "path"
1675+ }
1676+ },
1677+ "parameterOrder": [
1678+ "projectId",
1679+ "historyId",
1680+ "executionId",
1681+ "stepId"
1682+ ],
1683+ "request": {
1684+ "$ref": "PerfMetricsSummary"
1685+ },
1686+ "response": {
1687+ "$ref": "PerfMetricsSummary"
1688+ },
1689+ "scopes": [
1690+ "https://www.googleapis.com/auth/cloud-platform"
1691+ ]
1692+ }
1693+ }
1694+ },
1695+ "perfSampleSeries": {
1696+ "methods": {
1697+ "create": {
1698+ "id": "toolresults.projects.histories.executions.steps.perfSampleSeries.create",
1699+ "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries",
1700+ "httpMethod": "POST",
1701+ "description": "Creates a PerfSampleSeries.\n\nMay return any of the following error code(s): - ALREADY_EXISTS - PerfMetricSummary already exists for the given Step - NOT_FOUND - The containing Step does not exist",
1702+ "parameters": {
1703+ "executionId": {
1704+ "type": "string",
1705+ "description": "A tool results execution ID.",
1706+ "required": true,
1707+ "location": "path"
1708+ },
1709+ "historyId": {
1710+ "type": "string",
1711+ "description": "A tool results history ID.",
1712+ "required": true,
1713+ "location": "path"
1714+ },
1715+ "projectId": {
1716+ "type": "string",
1717+ "description": "The cloud project",
1718+ "required": true,
1719+ "location": "path"
1720+ },
1721+ "stepId": {
1722+ "type": "string",
1723+ "description": "A tool results step ID.",
1724+ "required": true,
1725+ "location": "path"
1726+ }
1727+ },
1728+ "parameterOrder": [
1729+ "projectId",
1730+ "historyId",
1731+ "executionId",
1732+ "stepId"
1733+ ],
1734+ "request": {
1735+ "$ref": "PerfSampleSeries"
1736+ },
1737+ "response": {
1738+ "$ref": "PerfSampleSeries"
1739+ },
1740+ "scopes": [
1741+ "https://www.googleapis.com/auth/cloud-platform"
1742+ ]
1743+ },
1744+ "get": {
1745+ "id": "toolresults.projects.histories.executions.steps.perfSampleSeries.get",
1746+ "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}",
1747+ "httpMethod": "GET",
1748+ "description": "Gets a PerfSampleSeries.\n\nMay return any of the following error code(s): - NOT_FOUND - The specified PerfSampleSeries does not exist",
1749+ "parameters": {
1750+ "executionId": {
1751+ "type": "string",
1752+ "description": "A tool results execution ID.",
1753+ "required": true,
1754+ "location": "path"
1755+ },
1756+ "historyId": {
1757+ "type": "string",
1758+ "description": "A tool results history ID.",
1759+ "required": true,
1760+ "location": "path"
1761+ },
1762+ "projectId": {
1763+ "type": "string",
1764+ "description": "The cloud project",
1765+ "required": true,
1766+ "location": "path"
1767+ },
1768+ "sampleSeriesId": {
1769+ "type": "string",
1770+ "description": "A sample series id",
1771+ "required": true,
1772+ "location": "path"
1773+ },
1774+ "stepId": {
1775+ "type": "string",
1776+ "description": "A tool results step ID.",
1777+ "required": true,
1778+ "location": "path"
1779+ }
1780+ },
1781+ "parameterOrder": [
1782+ "projectId",
1783+ "historyId",
1784+ "executionId",
1785+ "stepId",
1786+ "sampleSeriesId"
1787+ ],
1788+ "response": {
1789+ "$ref": "PerfSampleSeries"
1790+ },
1791+ "scopes": [
1792+ "https://www.googleapis.com/auth/cloud-platform"
1793+ ]
1794+ },
1795+ "list": {
1796+ "id": "toolresults.projects.histories.executions.steps.perfSampleSeries.list",
1797+ "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries",
1798+ "httpMethod": "GET",
1799+ "description": "Lists PerfSampleSeries for a given Step.\n\nThe request provides an optional filter which specifies one or more PerfMetricsType to include in the result; if none returns all. The resulting PerfSampleSeries are sorted by ids.\n\nMay return any of the following canonical error codes: - NOT_FOUND - The containing Step does not exist",
1800+ "parameters": {
1801+ "executionId": {
1802+ "type": "string",
1803+ "description": "A tool results execution ID.",
1804+ "required": true,
1805+ "location": "path"
1806+ },
1807+ "filter": {
1808+ "type": "string",
1809+ "description": "Specify one or more PerfMetricType values such as CPU to filter the result",
1810+ "enum": [
1811+ "cpu",
1812+ "memory",
1813+ "network",
1814+ "perfMetricTypeUnspecified"
1815+ ],
1816+ "enumDescriptions": [
1817+ "",
1818+ "",
1819+ "",
1820+ ""
1821+ ],
1822+ "repeated": true,
1823+ "location": "query"
1824+ },
1825+ "historyId": {
1826+ "type": "string",
1827+ "description": "A tool results history ID.",
1828+ "required": true,
1829+ "location": "path"
1830+ },
1831+ "projectId": {
1832+ "type": "string",
1833+ "description": "The cloud project",
1834+ "required": true,
1835+ "location": "path"
1836+ },
1837+ "stepId": {
1838+ "type": "string",
1839+ "description": "A tool results step ID.",
1840+ "required": true,
1841+ "location": "path"
1842+ }
1843+ },
1844+ "parameterOrder": [
1845+ "projectId",
1846+ "historyId",
1847+ "executionId",
1848+ "stepId"
1849+ ],
1850+ "response": {
1851+ "$ref": "ListPerfSampleSeriesResponse"
1852+ },
1853+ "scopes": [
1854+ "https://www.googleapis.com/auth/cloud-platform"
1855+ ]
1856+ }
1857+ },
1858+ "resources": {
1859+ "samples": {
1860+ "methods": {
1861+ "batchCreate": {
1862+ "id": "toolresults.projects.histories.executions.steps.perfSampleSeries.samples.batchCreate",
1863+ "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples:batchCreate",
1864+ "httpMethod": "POST",
1865+ "description": "Creates a batch of PerfSamples - a client can submit multiple batches of Perf Samples through repeated calls to this method in order to split up a large request payload - duplicates and existing timestamp entries will be ignored. - the batch operation may partially succeed - the set of elements successfully inserted is returned in the response (omits items which already existed in the database).\n\nMay return any of the following canonical error codes: - NOT_FOUND - The containing PerfSampleSeries does not exist",
1866+ "parameters": {
1867+ "executionId": {
1868+ "type": "string",
1869+ "description": "A tool results execution ID.",
1870+ "required": true,
1871+ "location": "path"
1872+ },
1873+ "historyId": {
1874+ "type": "string",
1875+ "description": "A tool results history ID.",
1876+ "required": true,
1877+ "location": "path"
1878+ },
1879+ "projectId": {
1880+ "type": "string",
1881+ "description": "The cloud project",
1882+ "required": true,
1883+ "location": "path"
1884+ },
1885+ "sampleSeriesId": {
1886+ "type": "string",
1887+ "description": "A sample series id",
1888+ "required": true,
1889+ "location": "path"
1890+ },
1891+ "stepId": {
1892+ "type": "string",
1893+ "description": "A tool results step ID.",
1894+ "required": true,
1895+ "location": "path"
1896+ }
1897+ },
1898+ "parameterOrder": [
1899+ "projectId",
1900+ "historyId",
1901+ "executionId",
1902+ "stepId",
1903+ "sampleSeriesId"
1904+ ],
1905+ "request": {
1906+ "$ref": "BatchCreatePerfSamplesRequest"
1907+ },
1908+ "response": {
1909+ "$ref": "BatchCreatePerfSamplesResponse"
1910+ },
1911+ "scopes": [
1912+ "https://www.googleapis.com/auth/cloud-platform"
1913+ ]
1914+ },
1915+ "list": {
1916+ "id": "toolresults.projects.histories.executions.steps.perfSampleSeries.samples.list",
1917+ "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples",
1918+ "httpMethod": "GET",
1919+ "description": "Lists the Performance Samples of a given Sample Series - The list results are sorted by timestamps ascending - The default page size is 500 samples; and maximum size allowed 5000 - The response token indicates the last returned PerfSample timestamp - When the results size exceeds the page size, submit a subsequent request including the page token to return the rest of the samples up to the page limit\n\nMay return any of the following canonical error codes: - OUT_OF_RANGE - The specified request page_token is out of valid range - NOT_FOUND - The containing PerfSampleSeries does not exist",
1920+ "parameters": {
1921+ "executionId": {
1922+ "type": "string",
1923+ "description": "A tool results execution ID.",
1924+ "required": true,
1925+ "location": "path"
1926+ },
1927+ "historyId": {
1928+ "type": "string",
1929+ "description": "A tool results history ID.",
1930+ "required": true,
1931+ "location": "path"
1932+ },
1933+ "pageSize": {
1934+ "type": "integer",
1935+ "description": "The default page size is 500 samples, and the maximum size is 5000. If the page_size is greater than 5000, the effective page size will be 5000",
1936+ "format": "int32",
1937+ "location": "query"
1938+ },
1939+ "pageToken": {
1940+ "type": "string",
1941+ "description": "Optional, the next_page_token returned in the previous response",
1942+ "location": "query"
1943+ },
1944+ "projectId": {
1945+ "type": "string",
1946+ "description": "The cloud project",
1947+ "required": true,
1948+ "location": "path"
1949+ },
1950+ "sampleSeriesId": {
1951+ "type": "string",
1952+ "description": "A sample series id",
1953+ "required": true,
1954+ "location": "path"
1955+ },
1956+ "stepId": {
1957+ "type": "string",
1958+ "description": "A tool results step ID.",
1959+ "required": true,
1960+ "location": "path"
1961+ }
1962+ },
1963+ "parameterOrder": [
1964+ "projectId",
1965+ "historyId",
1966+ "executionId",
1967+ "stepId",
1968+ "sampleSeriesId"
1969+ ],
1970+ "response": {
1971+ "$ref": "ListPerfSamplesResponse"
1972+ },
1973+ "scopes": [
1974+ "https://www.googleapis.com/auth/cloud-platform"
1975+ ]
1976+ }
1977+ }
1978+ }
1979+ }
1980+ },
13441981 "thumbnails": {
13451982 "methods": {
13461983 "list": {