// 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", "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": "recordValue", "type": "function", "description": "Adds a value to the given metric.", "parameters": [ {"name": "metric", "$ref": "MetricType"}, {"name": "value", "type": "integer"} ] } ], "events": [] } ]