You're viewing **Apigee Edge** documentation.  
[Go to the
**Apigee X** documentation](http://cloud.google.com/apigee/docs/api-platform/system-administration/data-collectors). info

> [!NOTE]
> Was this troubleshooting playbook helpful? Please let us know by clicking [Send Feedback]().

## UnsupportedDatatype

### Error message

Deployment of the API proxy through either the Edge UI or Edge management API fails with this error message:

```
Error Deploying Revision [revision_number]
StatisticsCollection [datatype]: Datatype Revision:[revision_number];APIProxy:[api_proxy];Organization:[org_name];Environment:[env_name] is unsupported . Context [context].
```

**Example error message**

    Error Saving Revision 1
    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.

**Example screenshot**

![](https://docs.apigee.com/static/api-platform/images/stats-collector-deploy-error-1.png)

### Cause

If the type of the variable specified by the `ref` attribute in the `<Statistic>` element of the Statistics Collector policy is unsupported, then the deployment of the API proxy fails.

The supported data types are `string`, `integer`, `float`, `long`, `double`, and `boolean`.

For example, if the type of the variable is specified as `char` in the `<Statistic>` element of the Statistics Collector policy, then the deployment of the API proxy fails.

### Diagnosis

1. Identify the Statistics Collector policy in the specific API Proxy where the failure has occurred.
2. Identify the unsupported data type used in the Statistics Collector policy. You can find this information from the error message. For example, in the following error, the unsupported data type is `char`:

   ```
   StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
   ```
3. Verify that the type attribute used in the failed Statistics Collector policy matches the data type identified in the error message (step #2 above). For example, the following policy specifies the datatype as `char`, which matches what's in the error message:

   ```
   <StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
     <DisplayName>Statistics Collector 1</DisplayName>
     <Statistics>
         <Statistic name="statName" ref="varName" type="char">defaultStatValue</Statistic>
     </Statistics>
   </StatisticsCollector>
   ```
4. If the type attribute is not of a supported data type, then that's the cause of the error.

   In the example Statistics Collector policy shown above, recall that the `type` attribute is set as `char`, which is unsupported. Therefore, the deployment of the API Proxy fails with the error:

       StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.

### Resolution

Ensure that the data type of the variables specified by the ref attributes in the `<Statistic>` elements of the Statistics Collector policy is supported and valid. For example:

```
<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
    <DisplayName>Statistics Collector 1</DisplayName>
    <Statistics>
        <Statistic name="statName" ref="varName" type="string">defaultStatValue</Statistic>
    </Statistics>
</StatisticsCollector>
```

## InvalidName

### Error message

Deployment of the API proxy through either the Edge UI or Edge management API fails with this error message:

```
Error Deploying Revision [revision_number]
StatisticsCollection: Name: [name] conflicts with system defined variables. Context policy: [policy_name]
```

**Example error message**

    Error Saving Revision 1
    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.

**Example screenshot**

![](https://docs.apigee.com/static/api-platform/images/stats-collector-deploy-error-2.png)

### Cause

If the name used to reference the data collected for the specified variable defined within the `<Statistic>` element of the Statistics Collector policy conflicts with a system-defined variable, then the deployment of the API proxy fails.

Some of the known system-defined variables are `organization` and `environment`.

For example, if the name attribute is specified as `organization` in the `<Statistic>` element of the Statistics Collector policy, then the deployment of the API proxy fails.

### Diagnosis

1. Identify the Statistics Collector policy where the error occurred and the name of `<Statistic>` element that conflicts with a system-defined variable. You can find both these items in the error message. For example, in the following error, the policy name is `StatCollector`, the name of the `<Statistic>` element that conflicts with the system defined variable is `organization`:

       StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.

2. Verify that the name of the `<Statistic>` element used in the failed Statistics Collector policy XML matches the name identified in the error message (step #1 above). For example, the following policy specifies the name as `organization` in the `<Statistic>` element, which matches what's in the error message:

   ```
   <StatisticsCollector name="StatCollector">
     <Statistics>
         <Statistic name="organization" ref="organization" type="string">myorg</Statistic>
         <Statistic name="traffic" ref="traffic" type="string">999999</Statistic>
     </Statistics>
   </StatisticsCollector>
   ```
3. Examine the definition of each of the `<Statistic>` elements. If there's any `<Statistic>` element where the `name` attribute conflicts with a system variable, then that is the cause of the error.

In the example Statistics Collector policy shown above, recall that the name attribute of `<Statistic>` used is `organization`, which happens to be a system variable name. Hence, the deployment of the API Proxy fails with the error:

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.

### Resolution

Ensure that the name of the `<Statistic>` element used to reference the data collected for the specified variable defined within the `<Statistic>` element in the Statistics Collector policy is not the same as the system-defined variables. For example:

```
<StatisticsCollector name="StatCollector">
    <Statistics>
        <Statistic name="org" ref="org" type="string">myorg</Statistic>
        <Statistic name="traffic" ref="traffic" type="string">999999</Statistic>
    </Statistics>
</StatisticsCollector>
```

## DatatypeMissing

### Error message

Deployment of the API proxy through either the Edge UI or Edge management API fails with this error message:

```
Error Deploying Revision [revision_number]
StatisticsCollection [ref]: Datatype of Revision:[revision_number];APIProxy:[api_proxy];Organization:[org_name];Environment:[env_name] is missing . Context [context].
```

**Example error message**

    Error Deploying Revision 2 to test
    StatisticsCollection product.id: Datatype of Revision:2;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is missing. Context {2}.

**Example screenshot**

![](https://docs.apigee.com/static/api-platform/images/stats-collector-deploy-error-3.png)

### Cause

If the type of the variable specified by the `ref` attribute in the `<Statistic>` element of the Statistics Collector policy is missing, then the deployment of the API proxy fails.

### Diagnosis

1. Identify the Statistics Collector policy in the specific API Proxy where the failure has occurred.
2. Examine the definition of each of the `<Statistic>` elements in the failed Statistics Collector policy XML. If there are any `<Statistic>` elements where the type attribute is missing, then that is the cause of the error.

Here's an example Statistics Collector policy:

<br />

```
  <StatisticsCollector name="publishPurchaseDetails"
      <Statistics>
          <Statistic name="productID" ref="product.id">999999</Statistic>
          <Statistic name="price" ref="product.price" type="string">1000</Statistic>
      </Statistics>
  </StatisticsCollector>
  
```

<br />

In the example Statistics Collector policy shown above, notice that the type attribute is missing for both the `<Statistic>` elements. Therefore, the deployment of the API Proxy fails.

### Resolution

Ensure that the type attribute of the variable specified by the `ref` attribute in the `<Statistic>` element of the Statistics Collector policy is always specified and is of supported data type.

The supported data types are `string`, `integer`, `float`, `long`, `double`, and `boolean`.

For example:

```
<StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
        <Statistic name="productID" ref="product.id" type="string">999999</Statistic>
        <Statistic name="price" ref="product.price"  type="string">1000</Statistic>
    </Statistics>
</StatisticsCollector>
```