Cloud Tool Results API . projects . histories . executions . steps . perfMetricsSummary

Instance Methods

create(projectId, historyId, executionId, stepId, body=None, x__xgafv=None)

Creates a PerfMetricsSummary resource. Returns the existing one if it has

Method Details

create(projectId, historyId, executionId, stepId, body=None, x__xgafv=None)
Creates a PerfMetricsSummary resource. Returns the existing one if it has
already been created.

May return any of the following error code(s):
- NOT_FOUND - The containing Step does not exist

Args:
  projectId: string, The cloud project (required)
  historyId: string, A tool results history ID. (required)
  executionId: string, A tool results execution ID. (required)
  stepId: string, A tool results step ID. (required)
  body: object, The request body.
    The object takes the form of:

{ # A summary of perf metrics collected and performance environment info
  "stepId": "A String", # A tool results step ID.
      # @OutputOnly
  "graphicsStats": { # Graphics statistics for the App. # Graphics statistics for the entire run. Statistics are reset at the
      # beginning of the run and collected at the end of the run.
      # The information is collected from 'adb shell dumpsys graphicsstats'.
      # For more info see:
      # https://developer.android.com/training/testing/performance.html
      # Statistics will only be present for API 23+.
    "highInputLatencyCount": "A String", # Total "high input latency" events.
    "p50Millis": "A String", # 50th percentile frame render time in milliseconds.
    "slowUiThreadCount": "A String", # Total "slow UI thread" events.
    "slowDrawCount": "A String", # Total "slow draw" events.
    "missedVsyncCount": "A String", # Total "missed vsync" events.
    "jankyFrames": "A String", # Total frames with slow render time. Should be <= total_frames.
    "totalFrames": "A String", # Total frames rendered by package.
    "p99Millis": "A String", # 99th percentile frame render time in milliseconds.
    "buckets": [ # Histogram of frame render times. There should be 154 buckets ranging from
        # [5ms, 6ms) to [4950ms, infinity)
      {
        "frameCount": "A String", # Number of frames in the bucket.
        "renderMillis": "A String", # Lower bound of render time in milliseconds.
      },
    ],
    "slowBitmapUploadCount": "A String", # Total "slow bitmap upload" events.
    "p90Millis": "A String", # 90th percentile frame render time in milliseconds.
    "p95Millis": "A String", # 95th percentile frame render time in milliseconds.
  },
  "appStartTime": {
    "fullyDrawnTime": { #  # Optional. The time from app start to reaching the developer-reported
        # "fully drawn" time. This is only stored if the app includes a call to
        # Activity.reportFullyDrawn(). See
        # https://developer.android.com/topic/performance/launch-time.html#time-full
        # 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.
      "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
          # to +315,576,000,000 inclusive. Note: these bounds are computed from:
          # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
      "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
          # of time. Durations less than one second are represented with a 0
          # `seconds` field and a positive or negative `nanos` field. For durations
          # of one second or more, a non-zero value for the `nanos` field must be
          # of the same sign as the `seconds` field. Must be from -999,999,999
          # to +999,999,999 inclusive.
    },
    "initialDisplayTime": { #  # The time from app start to the first displayed activity being drawn,
        # as reported in Logcat. See
        # https://developer.android.com/topic/performance/launch-time.html#time-initial
        # 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.
      "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
          # to +315,576,000,000 inclusive. Note: these bounds are computed from:
          # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
      "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
          # of time. Durations less than one second are represented with a 0
          # `seconds` field and a positive or negative `nanos` field. For durations
          # of one second or more, a non-zero value for the `nanos` field must be
          # of the same sign as the `seconds` field. Must be from -999,999,999
          # to +999,999,999 inclusive.
    },
  },
  "projectId": "A String", # The cloud project
      # @OutputOnly
  "historyId": "A String", # A tool results history ID.
      # @OutputOnly
  "perfEnvironment": { # Encapsulates performance environment info # Describes the environment in which the performance metrics were collected
    "cpuInfo": { # CPU related environment info
      "cpuProcessor": "A String", # description of the device processor ie '1.8 GHz hexa core 64-bit ARMv8-A'
      "numberOfCores": 42, # the number of CPU cores
      "cpuSpeedInGhz": 3.14, # the CPU clock speed in GHz
    },
    "memoryInfo": { # Memory related environment info
      "memoryTotalInKibibyte": "A String", # Total memory available on the device in KiB
      "memoryCapInKibibyte": "A String", # Maximum memory that can be allocated to the process in KiB
    },
  },
  "perfMetrics": [ # Set of resource collected
    "A String",
  ],
  "executionId": "A String", # A tool results execution ID.
      # @OutputOnly
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A summary of perf metrics collected and performance environment info
    "stepId": "A String", # A tool results step ID.
        # @OutputOnly
    "graphicsStats": { # Graphics statistics for the App. # Graphics statistics for the entire run. Statistics are reset at the
        # beginning of the run and collected at the end of the run.
        # The information is collected from 'adb shell dumpsys graphicsstats'.
        # For more info see:
        # https://developer.android.com/training/testing/performance.html
        # Statistics will only be present for API 23+.
      "highInputLatencyCount": "A String", # Total "high input latency" events.
      "p50Millis": "A String", # 50th percentile frame render time in milliseconds.
      "slowUiThreadCount": "A String", # Total "slow UI thread" events.
      "slowDrawCount": "A String", # Total "slow draw" events.
      "missedVsyncCount": "A String", # Total "missed vsync" events.
      "jankyFrames": "A String", # Total frames with slow render time. Should be <= total_frames.
      "totalFrames": "A String", # Total frames rendered by package.
      "p99Millis": "A String", # 99th percentile frame render time in milliseconds.
      "buckets": [ # Histogram of frame render times. There should be 154 buckets ranging from
          # [5ms, 6ms) to [4950ms, infinity)
        {
          "frameCount": "A String", # Number of frames in the bucket.
          "renderMillis": "A String", # Lower bound of render time in milliseconds.
        },
      ],
      "slowBitmapUploadCount": "A String", # Total "slow bitmap upload" events.
      "p90Millis": "A String", # 90th percentile frame render time in milliseconds.
      "p95Millis": "A String", # 95th percentile frame render time in milliseconds.
    },
    "appStartTime": {
      "fullyDrawnTime": { #  # Optional. The time from app start to reaching the developer-reported
          # "fully drawn" time. This is only stored if the app includes a call to
          # Activity.reportFullyDrawn(). See
          # https://developer.android.com/topic/performance/launch-time.html#time-full
          # 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.
        "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
            # to +315,576,000,000 inclusive. Note: these bounds are computed from:
            # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
        "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
            # of time. Durations less than one second are represented with a 0
            # `seconds` field and a positive or negative `nanos` field. For durations
            # of one second or more, a non-zero value for the `nanos` field must be
            # of the same sign as the `seconds` field. Must be from -999,999,999
            # to +999,999,999 inclusive.
      },
      "initialDisplayTime": { #  # The time from app start to the first displayed activity being drawn,
          # as reported in Logcat. See
          # https://developer.android.com/topic/performance/launch-time.html#time-initial
          # 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.
        "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
            # to +315,576,000,000 inclusive. Note: these bounds are computed from:
            # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
        "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
            # of time. Durations less than one second are represented with a 0
            # `seconds` field and a positive or negative `nanos` field. For durations
            # of one second or more, a non-zero value for the `nanos` field must be
            # of the same sign as the `seconds` field. Must be from -999,999,999
            # to +999,999,999 inclusive.
      },
    },
    "projectId": "A String", # The cloud project
        # @OutputOnly
    "historyId": "A String", # A tool results history ID.
        # @OutputOnly
    "perfEnvironment": { # Encapsulates performance environment info # Describes the environment in which the performance metrics were collected
      "cpuInfo": { # CPU related environment info
        "cpuProcessor": "A String", # description of the device processor ie '1.8 GHz hexa core 64-bit ARMv8-A'
        "numberOfCores": 42, # the number of CPU cores
        "cpuSpeedInGhz": 3.14, # the CPU clock speed in GHz
      },
      "memoryInfo": { # Memory related environment info
        "memoryTotalInKibibyte": "A String", # Total memory available on the device in KiB
        "memoryCapInKibibyte": "A String", # Maximum memory that can be allocated to the process in KiB
      },
    },
    "perfMetrics": [ # Set of resource collected
      "A String",
    ],
    "executionId": "A String", # A tool results execution ID.
        # @OutputOnly
  }