Skip to content

Commit

Permalink
fix: add UpDownCounterMetric.ts
Browse files Browse the repository at this point in the history
  • Loading branch information
mayurkale22 committed Jun 5, 2020
1 parent d75004a commit 1e29d9d
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 40 deletions.
9 changes: 2 additions & 7 deletions packages/opentelemetry-metrics/src/Meter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,8 @@ import * as api from '@opentelemetry/api';
import { ConsoleLogger } from '@opentelemetry/core';
import { Resource } from '@opentelemetry/resources';
import { BaseBoundInstrument } from './BoundInstrument';
import {
Metric,
CounterMetric,
UpDownCounterMetric,
MeasureMetric,
ObserverMetric,
} from './Metric';
import { UpDownCounterMetric } from './UpDownCounterMetric';
import { Metric, CounterMetric, MeasureMetric, ObserverMetric } from './Metric';
import {
MetricOptions,
DEFAULT_METRIC_OPTIONS,
Expand Down
33 changes: 0 additions & 33 deletions packages/opentelemetry-metrics/src/Metric.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import * as api from '@opentelemetry/api';
import { Resource } from '@opentelemetry/resources';
import {
BoundCounter,
BoundUpDownCounter,
BaseBoundInstrument,
BoundMeasure,
BoundObserver,
Expand Down Expand Up @@ -136,38 +135,6 @@ export class CounterMetric extends Metric<BoundCounter> implements api.Counter {
}
}

/** This is a SDK implementation of UpDownCounter Metric. */
export class UpDownCounterMetric extends Metric<BoundUpDownCounter>
implements api.UpDownCounter {
constructor(
name: string,
options: MetricOptions,
private readonly _batcher: Batcher,
resource: Resource
) {
super(name, options, MetricKind.UP_DOWN_COUNTER, resource);
}
protected _makeInstrument(labels: api.Labels): BoundUpDownCounter {
return new BoundUpDownCounter(
labels,
this._disabled,
this._valueType,
this._logger,
this._batcher.aggregatorFor(this._descriptor)
);
}

/**
* Adds the given value to the current value. Values cannot be negative.
* @param value the value to add.
* @param [labels = {}] key-values pairs that are associated with a specific
* metric that you want to record.
*/
add(value: number, labels: api.Labels = {}) {
this.bind(labels).add(value);
}
}

export class MeasureMetric extends Metric<BoundMeasure> implements api.Measure {
protected readonly _absolute: boolean;

Expand Down
55 changes: 55 additions & 0 deletions packages/opentelemetry-metrics/src/UpDownCounterMetric.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*!
* Copyright 2019, OpenTelemetry 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
*
* https://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 * as api from '@opentelemetry/api';
import { Resource } from '@opentelemetry/resources';
import { BoundUpDownCounter } from './BoundInstrument';
import { MetricOptions } from './types';
import { MetricKind } from './export/types';
import { Batcher } from './export/Batcher';
import { Metric } from './Metric';

/** This is a SDK implementation of UpDownCounter Metric. */
export class UpDownCounterMetric extends Metric<BoundUpDownCounter>
implements api.UpDownCounter {
constructor(
name: string,
options: MetricOptions,
private readonly _batcher: Batcher,
resource: Resource
) {
super(name, options, MetricKind.UP_DOWN_COUNTER, resource);
}
protected _makeInstrument(labels: api.Labels): BoundUpDownCounter {
return new BoundUpDownCounter(
labels,
this._disabled,
this._valueType,
this._logger,
this._batcher.aggregatorFor(this._descriptor)
);
}

/**
* Adds the given value to the current value. Values cannot be negative.
* @param value the value to add.
* @param [labels = {}] key-values pairs that are associated with a specific
* metric that you want to record.
*/
add(value: number, labels: api.Labels = {}) {
this.bind(labels).add(value);
}
}
1 change: 1 addition & 0 deletions packages/opentelemetry-metrics/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ export * from './MetricObservable';
export * from './export/aggregators';
export * from './export/ConsoleMetricExporter';
export * from './export/types';
export * from './UpDownCounterMetric';

0 comments on commit 1e29d9d

Please sign in to comment.