--- WARNING: THIS IS AN AUTO-GENERATED FILE, DO NOT EDIT. PLEASE MODIFY THE ORIGINAL SOURCE IN THE 'https://github.com/apigee/istio-mixer-adapter' REPO source_repo: https://github.com/apigee/istio-mixer-adapter title: Analytics description: The Analytics template is used to dispatch runtime telemetry to Apigee. location: https://istio.io/docs/reference/config/policy-and-telemetry/templates/analytics.html layout: partner-component generator: protoc-gen-docs number_of_entries: 1 ---

The `analytics` template represents a single request reported to Apigee’s analytics processing system. Complete Apigee documentation on the concepts and usage of this adapter is also available on the Apigee Adapter for Istio site. For more information and product support, please contact Apigee support.

Example config:

    apiVersion: config.istio.io/v1alpha2
    kind: analytics
    metadata:
      name: apigee
      namespace: istio-system
    spec:
      api_key: request.api_key | request.headers["x-api-key"] | ""
      api_proxy: api.service | destination.service | ""
      response_status_code: response.code | 0
      client_ip: source.ip | ip("0.0.0.0")
      request_verb: request.method | ""
      request_uri: request.path | ""
      request_path: request.path | ""
      useragent: request.useragent | ""
      client_received_start_timestamp: request.time
      client_received_end_timestamp: request.time
      target_sent_start_timestamp: request.time
      target_sent_end_timestamp: request.time
      target_received_start_timestamp: response.time
      target_received_end_timestamp: response.time
      client_sent_start_timestamp: response.time
      client_sent_end_timestamp: response.time
      api_claims: # from jwt
        json_claims: request.auth.raw_claims | ""

## Template

This Template provides Istio telemetry data to the Apigee Analytics engine. For additional information on this adapter or support please contact anchor-prega-support@google.com.

Field | Type | Description
--- | --- | ---
`apiProxy` | `string` | The name of the proxy (usually the Istio API or service name).
`responseStatusCode` | `int64` | HTTP response code
`clientIp` | `istio.policy.v1beta1.IPAddress` | Client IP address
`requestVerb` | `string` | HTTP request verb
`requestUri` | `string` | HTTP request URI
`requestPath` | `string` | HTTP request path
`useragent` | `string` | HTTP user agent header
`clientReceivedStartTimestamp` | `istio.policy.v1beta1.TimeStamp` | Timestamp of when the api_proxy started receiving the request.
`clientReceivedEndTimestamp` | `istio.policy.v1beta1.TimeStamp` | Timestamp of when the api_proxy finished receiving the request.
`clientSentStartTimestamp` | `istio.policy.v1beta1.TimeStamp` | Timestamp of when the api_proxy started sending the request to the target.
`clientSentEndTimestamp` | `istio.policy.v1beta1.TimeStamp` | Timestamp of when the api_proxy finished sending the request to the target.
`targetSentStartTimestamp` | `istio.policy.v1beta1.TimeStamp` | Timestamp of when the api_proxy started request to target.
`targetSentEndTimestamp` | `istio.policy.v1beta1.TimeStamp` | Timestamp of when the api_proxy finished sending request to target.
`targetReceivedStartTimestamp` | `istio.policy.v1beta1.TimeStamp` | Timestamp of when the api_proxy started receiving response from target.
`targetReceivedEndTimestamp` | `istio.policy.v1beta1.TimeStamp` | Timestamp of when the api_proxy finished receiving response from target.
`apiClaims` | `map<string, string>` | The JWT claims that were used for authenticating the request (if any) Use subkey “json_claims” for passing all claims in as a single JSON field.
`apiKey` | `string` | The API KEY that was used for authenticating the request (if any)