// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

[
  {
    "namespace": "metricsPrivate",
    "description": "none",
    "types": [
      {
        "id": "MetricType",
        "type":  "object",
        "description": "Describes the type of metric that is to be collected.",
        "properties": {
          "metricName": {"type": "string", "description": "A unique name within the extension for the metric."},
          "type": {
            "type": "string",
            "enum": ["histogram-log", "histogram-linear"],
            "description": "The type of metric, such as 'histogram-log' or 'histogram-linear'."
          },
          "min": {"type": "integer", "description": "The minimum sample value to be recoded.  Must be greater than zero."},
          "max": {"type": "integer", "description": "The maximum sample value to be recoded."},
          "buckets": {"type": "integer", "description": "The number of buckets to use when separating the recorded values."}
        }
      }
    ],
    "functions": [
      {
        "name": "getIsCrashReportingEnabled",
        "description": "Returns true if the user opted in to sending crash reports.",
        "type": "function",
        "parameters": [
          {
            "name": "callback",
            "type": "function",
            "optional": false,
            "parameters": [
              { "name": "is_enabled", "type": "boolean" }
            ]
          }
        ]
      },
      {
        "name": "getFieldTrial",
        "description": "Returns the group name chosen for the named trial, or the empty string if the trial does not exist or is not enabled.",
        "type": "function",
        "parameters": [
          {"name": "name", "type": "string"},
          {
            "name": "callback",
            "type": "function",
            "optional": false,
            "parameters": [
              { "name": "group", "type": "string" }
            ]
          }
        ]
      },
      {
        "name": "getVariationParams",
        "description": "Returns variation parameters for the named trial if available, or undefined otherwise.",
        "type": "function",
        "parameters": [
          {"name": "name", "type": "string"},
          {
            "name": "callback",
            "type": "function",
            "optional": false,
            "parameters": [
              {
                "name": "params",
                "optional": true,
                "type": "object",
                "additionalProperties": { "type": "string" }
              }
            ]
          }
        ]
      },
      {
        "name": "recordUserAction",
        "type": "function",
        "description": "Records an action performed by the user.",
        "parameters": [
          {"name": "name", "type": "string"}
        ]
      },
      {
        "name": "recordPercentage",
        "type": "function",
        "description": "Records a percentage value from 1 to 100.",
        "parameters": [
          {"name": "metricName", "type": "string"},
          {"name": "value", "type": "integer"}
        ]
      },
      {
        "name": "recordCount",
        "type": "function",
        "description": "Records a value than can range from 1 to 1,000,000.",
        "parameters": [
          {"name": "metricName", "type": "string"},
          {"name": "value", "type": "integer"}
        ]
      },
      {
        "name": "recordSmallCount",
        "type": "function",
        "description": "Records a value than can range from 1 to 100.",
        "parameters": [
          {"name": "metricName", "type": "string"},
          {"name": "value", "type": "integer"}
        ]
      },
      {
        "name": "recordMediumCount",
        "type": "function",
        "description": "Records a value than can range from 1 to 10,000.",
        "parameters": [
          {"name": "metricName", "type": "string"},
          {"name": "value", "type": "integer"}
        ]
      },
      {
        "name": "recordTime",
        "type": "function",
        "description": "Records an elapsed time of no more than 10 seconds.  The sample value is specified in milliseconds.",
        "parameters": [
          {"name": "metricName", "type": "string"},
          {"name": "value", "type": "integer"}
        ]
      },
      {
        "name": "recordMediumTime",
        "type": "function",
        "description": "Records an elapsed time of no more than 3 minutes.  The sample value is specified in milliseconds.",
        "parameters": [
          {"name": "metricName", "type": "string"},
          {"name": "value", "type": "integer"}
        ]
      },
      {
        "name": "recordLongTime",
        "type": "function",
        "description": "Records an elapsed time of no more than 1 hour.  The sample value is specified in milliseconds.",
        "parameters": [
          {"name": "metricName", "type": "string"},
          {"name": "value", "type": "integer"}
        ]
      },
      {
        "name": "recordSparseValue",
        "type": "function",
        "description": "Increments the count associated with |value| in the sparse histogram defined by the |metricName|.",
        "parameters": [
          {"name": "metricName", "type": "string"},
          {"name": "value", "type": "integer"}
        ]
      },
      {
        "name": "recordValue",
        "type": "function",
        "description": "Adds a value to the given metric.",
        "parameters": [
          {"name": "metric", "$ref": "MetricType"},
          {"name": "value", "type": "integer"}
        ]
      }
    ],
    "events": []
  }
]
