1// Copyright 2017, OpenCensus Authors 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14// 15 16package stats 17 18// Float64Measure is a measure for float64 values. 19type Float64Measure struct { 20 desc *measureDescriptor 21} 22 23// M creates a new float64 measurement. 24// Use Record to record measurements. 25func (m *Float64Measure) M(v float64) Measurement { 26 return Measurement{ 27 m: m, 28 desc: m.desc, 29 v: v, 30 } 31} 32 33// Float64 creates a new measure for float64 values. 34// 35// See the documentation for interface Measure for more guidance on the 36// parameters of this function. 37func Float64(name, description, unit string) *Float64Measure { 38 mi := registerMeasureHandle(name, description, unit) 39 return &Float64Measure{mi} 40} 41 42// Name returns the name of the measure. 43func (m *Float64Measure) Name() string { 44 return m.desc.name 45} 46 47// Description returns the description of the measure. 48func (m *Float64Measure) Description() string { 49 return m.desc.description 50} 51 52// Unit returns the unit of the measure. 53func (m *Float64Measure) Unit() string { 54 return m.desc.unit 55} 56