<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="chromeuxreport_v1.html">Chrome UX Report API</a> . <a href="chromeuxreport_v1.records.html">records</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#queryRecord">queryRecord(body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Queries the Chrome User Experience for a single `record` for a given site. Returns a `record` that contains one or more `metrics` corresponding to performance data about the requested site.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="queryRecord">queryRecord(body=None, x__xgafv=None)</code>
  <pre>Queries the Chrome User Experience for a single `record` for a given site. Returns a `record` that contains one or more `metrics` corresponding to performance data about the requested site.

Args:
  body: object, The request body.
    The object takes the form of:

{ # Request payload sent by a physical web client. This request includes all necessary context to load a particular user experience record.
  &quot;effectiveConnectionType&quot;: &quot;A String&quot;, # The effective connection type is a query dimension that specifies the effective network class that the record&#x27;s data should belong to. This field uses the values [&quot;offline&quot;, &quot;slow-2G&quot;, &quot;2G&quot;, &quot;3G&quot;, &quot;4G&quot;] as specified in: https://wicg.github.io/netinfo/#effective-connection-types Note: If no effective connection type is specified, then a special record with aggregated data over all effective connection types will be returned.
  &quot;formFactor&quot;: &quot;A String&quot;, # The form factor is a query dimension that specifies the device class that the record&#x27;s data should belong to. Note: If no form factor is specified, then a special record with aggregated data over all form factors will be returned.
  &quot;metrics&quot;: [ # The metrics that should be included in the response. If none are specified then any metrics found will be returned. Allowed values: [&quot;first_contentful_paint&quot;, &quot;first_input_delay&quot;, &quot;largest_contentful_paint&quot;, &quot;cumulative_layout_shift&quot;, &quot;experimental_uncapped_cumulative_layout_shift&quot;]
    &quot;A String&quot;,
  ],
  &quot;origin&quot;: &quot;A String&quot;, # The url pattern &quot;origin&quot; refers to a url pattern that is the origin of a website. Examples: &quot;https://example.com&quot;, &quot;https://cloud.google.com&quot;
  &quot;url&quot;: &quot;A String&quot;, # The url pattern &quot;url&quot; refers to a url pattern that is any arbitrary url. Examples: &quot;https://example.com/&quot;, &quot;https://cloud.google.com/why-google-cloud/&quot;
}

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

Returns:
  An object of the form:

    { # Response payload sent back to a physical web client. This response contains the record found based on the identiers present in a `QueryRequest`. The returned response will have a record, and sometimes details on normalization actions taken on the request that were necessary to make the request successful.
  &quot;record&quot;: { # Record is a single Chrome UX report data record. It contains use experience statistics for a single url pattern and set of dimensions. # The record that was found.
    &quot;key&quot;: { # Key defines all the dimensions that identify this record as unique. # Key defines all of the unique querying parameters needed to look up a user experience record.
      &quot;effectiveConnectionType&quot;: &quot;A String&quot;, # The effective connection type is the general connection class that all users experienced for this record. This field uses the values [&quot;offline&quot;, &quot;slow-2G&quot;, &quot;2G&quot;, &quot;3G&quot;, &quot;4G&quot;] as specified in: https://wicg.github.io/netinfo/#effective-connection-types If the effective connection type is unspecified, then aggregated data over all effective connection types will be returned.
      &quot;formFactor&quot;: &quot;A String&quot;, # The form factor is the device class that all users used to access the site for this record. If the form factor is unspecified, then aggregated data over all form factors will be returned.
      &quot;origin&quot;: &quot;A String&quot;, # Origin specifies the origin that this record is for. Note: When specifying an origin, data for loads under this origin over all pages are aggregated into origin level user experience data.
      &quot;url&quot;: &quot;A String&quot;, # Url specifies a specific url that this record is for. Note: When specifying a &quot;url&quot; only data for that specific url will be aggregated.
    },
    &quot;metrics&quot;: { # Metrics is the map of user experience data available for the record defined in the key field. Metrics are keyed on the metric name. Allowed key values: [&quot;first_contentful_paint&quot;, &quot;first_input_delay&quot;, &quot;largest_contentful_paint&quot;, &quot;cumulative_layout_shift&quot;]
      &quot;a_key&quot;: { # A `metric` is a set of user experience data for a single web performance metric, like &quot;first contentful paint&quot;. It contains a summary histogram of real world Chrome usage as a series of `bins`.
        &quot;histogram&quot;: [ # The histogram of user experiences for a metric. The histogram will have at least one bin and the densities of all bins will add up to ~1.
          { # A bin is a discrete portion of data spanning from start to end, or if no end is given, then from start to +inf. A bin&#x27;s start and end values are given in the value type of the metric it represents. For example, &quot;first contentful paint&quot; is measured in milliseconds and exposed as ints, therefore its metric bins will use int32s for its start and end types. However, &quot;cumulative layout shift&quot; is measured in unitless decimals and is exposed as a decimal encoded as a string, therefore its metric bins will use strings for its value type.
            &quot;density&quot;: 3.14, # The proportion of users that experienced this bin&#x27;s value for the given metric.
            &quot;end&quot;: &quot;&quot;, # End is the end of the data bin. If end is not populated, then the bin has no end and is valid from start to +inf.
            &quot;start&quot;: &quot;&quot;, # Start is the beginning of the data bin.
          },
        ],
        &quot;percentiles&quot;: { # Percentiles contains synthetic values of a metric at a given statistical percentile. These are used for estimating a metric&#x27;s value as experienced by a percentage of users out of the total number of users. # Common useful percentiles of the Metric. The value type for the percentiles will be the same as the value types given for the Histogram bins.
          &quot;p75&quot;: &quot;&quot;, # 75% of users experienced the given metric at or below this value.
        },
      },
    },
  },
  &quot;urlNormalizationDetails&quot;: { # Object representing the normalization actions taken to normalize a url to achieve a higher chance of successful lookup. These are simple automated changes that are taken when looking up the provided `url_patten` would be known to fail. Complex actions like following redirects are not handled. # These are details about automated normalization actions that were taken in order to make the requested `url_pattern` valid.
    &quot;normalizedUrl&quot;: &quot;A String&quot;, # The URL after any normalization actions. This is a valid user experience URL that could reasonably be looked up.
    &quot;originalUrl&quot;: &quot;A String&quot;, # The original requested URL prior to any normalization actions.
  },
}</pre>
</div>

</body></html>