%PDF- %PDF-
Direktori : /lib/node_modules/pm2/node_modules/@opencensus/core/build/src/metrics/gauges/ |
Current File : //lib/node_modules/pm2/node_modules/@opencensus/core/build/src/metrics/gauges/derived-gauge.d.ts |
/** * Copyright 2018, OpenCensus Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { LabelKey, LabelValue, Metric, MetricDescriptorType } from '../export/types'; import * as types from '../gauges/types'; /** * Interface for objects with "length()" method. */ export interface LengthMethodInterface { length(): number; } /** * Interface for objects with "length" attribute (e.g. Array). */ export interface LengthAttributeInterface { length: number; } /** * Interface for objects with "size" method. */ export interface SizeMethodInterface { size(): number; } /** * Interface for objects with "size" attribute (e.g. Map, Set). */ export interface SizeAttributeInterface { size: number; } /** * Interface for objects with "getValue" method. */ export interface ToValueInterface { getValue(): number; } export declare type AccessorInterface = LengthAttributeInterface | LengthMethodInterface | SizeAttributeInterface | SizeMethodInterface | ToValueInterface; /** * DerivedGauge metric */ export declare class DerivedGauge implements types.Meter { private metricDescriptor; private labelKeysLength; private registeredPoints; private extractor; private static readonly LABEL_VALUE; private static readonly LABEL_VALUES; private static readonly OBJECT; private static readonly NUMBER; private static readonly FUNCTION; private static readonly ERROR_MESSAGE_INVALID_SIZE; private static readonly ERROR_MESSAGE_DUPLICATE_TIME_SERIES; private static readonly ERROR_MESSAGE_UNKNOWN_INTERFACE; /** * Constructs a new DerivedGauge instance. * * @param {string} name The name of the metric. * @param {string} description The description of the metric. * @param {string} unit The unit of the metric. * @param {MetricDescriptorType} type The type of metric. * @param {LabelKey[]} labelKeys The list of the label keys. */ constructor(name: string, description: string, unit: string, type: MetricDescriptorType, labelKeys: LabelKey[]); protected static isLengthAttributeInterface(obj: any): obj is LengthAttributeInterface; protected static isLengthMethodInterface(obj: any): obj is LengthMethodInterface; protected static isSizeAttributeInterface(obj: any): obj is SizeAttributeInterface; protected static isSizeMethodInterface(obj: any): obj is SizeMethodInterface; protected static isToValueInterface(obj: any): obj is ToValueInterface; /** * Creates a TimeSeries. The value of a single point in the TimeSeries is * observed from a obj. The ValueExtractor is invoked whenever * metrics are collected, meaning the reported value is up-to-date. * * @param {LabelValue[]} labelValues The list of the label values. * @param obj The obj to get the size or length or value from. If multiple * options are available, the value (ToValueInterface) takes precedence * first, followed by length and size. e.g value -> length -> size. */ createTimeSeries(labelValues: LabelValue[], obj: AccessorInterface): void; /** * Removes the TimeSeries from the gauge metric, if it is present. i.e. * references to previous Point objects are invalid (not part of the * metric). * * @param {LabelValue[]} labelValues The list of label values. */ removeTimeSeries(labelValues: LabelValue[]): void; /** * Removes all TimeSeries from the gauge metric. i.e. references to all * previous Point objects are invalid (not part of the metric). */ clear(): void; /** * Provides a Metric with one or more TimeSeries. * * @returns {Metric} The Metric. */ getMetric(): Metric; }