Skip to content

Commit fb7af21

Browse files
feat/time series instrumet type
1 parent e83494a commit fb7af21

7 files changed

Lines changed: 21 additions & 16 deletions

File tree

packages/node-core/src/types/opentelemetry.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export interface Attributes {
1818
*
1919
* null or undefined attribute values are invalid and will result in undefined behavior.
2020
*/
21-
export declare type AttributeValue = string | number | boolean | Array<null | undefined | string> | Array<null | undefined | number> | Array<null | undefined | boolean>;
21+
export type AttributeValue = string | number | boolean | Array<null | undefined | string> | Array<null | undefined | number> | Array<null | undefined | boolean>;
2222

2323
/**
2424
* Defines High-Resolution Time.
@@ -32,7 +32,7 @@ export declare type AttributeValue = string | number | boolean | Array<null | un
3232
* HrTime[1] = Number((1609504210.150 - HrTime[0]).toFixed(9)) * 1e9 = 150000000.
3333
* This is represented in HrTime format as [1609504210, 150000000].
3434
*/
35-
export declare type HrTime = [number, number];
35+
export type HrTime = [number, number];
3636

3737
/**
3838
* An instrumentation scope consists of the name and optional version
@@ -136,7 +136,7 @@ export interface ExponentialHistogramMetricData extends BaseMetricData {
136136
/**
137137
* Represents an aggregated metric data.
138138
*/
139-
export declare type MetricData = SumMetricData | GaugeMetricData | HistogramMetricData | ExponentialHistogramMetricData;
139+
export type MetricData = SumMetricData | GaugeMetricData | HistogramMetricData | ExponentialHistogramMetricData;
140140
export interface ScopeMetrics {
141141
scope: InstrumentationScope;
142142
metrics: MetricData[];
@@ -145,7 +145,7 @@ export interface ScopeMetrics {
145145
/**
146146
* The aggregated point data type.
147147
*/
148-
export declare enum DataPointType {
148+
export enum DataPointType {
149149
/**
150150
* A histogram data point contains a histogram statistics of collected
151151
* values with a list of explicit bucket boundaries and statistics such
@@ -199,17 +199,20 @@ export interface DataPoint<T> {
199199
/**
200200
* Supported types of metric instruments.
201201
*/
202-
export declare enum InstrumentType {
202+
export enum InstrumentType {
203203
COUNTER = "COUNTER",
204204
HISTOGRAM = "HISTOGRAM",
205205
UP_DOWN_COUNTER = "UP_DOWN_COUNTER",
206206
OBSERVABLE_COUNTER = "OBSERVABLE_COUNTER",
207207
OBSERVABLE_GAUGE = "OBSERVABLE_GAUGE",
208-
OBSERVABLE_UP_DOWN_COUNTER = "OBSERVABLE_UP_DOWN_COUNTER"
208+
OBSERVABLE_UP_DOWN_COUNTER = "OBSERVABLE_UP_DOWN_COUNTER",
209+
210+
// NEW
211+
TIME_SERIES = "TIME_SERIES"
209212
}
210213

211214
/** The Type of value. It describes how the data is reported. */
212-
export declare enum ValueType {
215+
export enum ValueType {
213216
INT = 0,
214217
DOUBLE = 1
215218
}
@@ -294,7 +297,7 @@ export interface ResourceMetrics {
294297
scopeMetrics: ScopeMetrics[];
295298
}
296299

297-
export declare enum ExportResultCode {
300+
export enum ExportResultCode {
298301
SUCCESS = 0,
299302
FAILED = 1
300303
}

packages/node/src/client.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ export class Client extends CoreClient implements INodeClient {
2323
const scrapper = new Scrapper();
2424
scrapper.collect();
2525

26+
console.log("options: ", this.options);
27+
2628
if (this.options.collectMetrics) {
2729
const metrics = new MetricsRunner();
2830
metrics.register();

packages/node/src/metrics/default/cpu-usage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export class CpuUsageMetrics implements IMetrics {
1919
return [{
2020
descriptor: {
2121
name: "cpu_usage",
22-
type: InstrumentType.HISTOGRAM,
22+
type: InstrumentType.TIME_SERIES,
2323
valueType: ValueType.DOUBLE
2424
},
2525
dataPoints: [{ value: cpuUsage }]

packages/node/src/metrics/default/event-loop.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export class EventLoopMetrics implements IMetrics {
3535
const response: MetricType = metrics.map((metric) => ({
3636
descriptor: {
3737
name: metric,
38-
type: InstrumentType.HISTOGRAM,
38+
type: InstrumentType.TIME_SERIES,
3939
valueType: ValueType.DOUBLE
4040
},
4141
dataPoints: [{ value: data[metric] }]

packages/node/src/metrics/default/heap.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ export class HeapMetrics implements IMetrics {
1212
collect(): MetricType {
1313
return [
1414
{
15-
descriptor: { name: "heap_used", type: InstrumentType.HISTOGRAM, unit: "", },
15+
descriptor: { name: "heap_used", type: InstrumentType.TIME_SERIES },
1616
dataPoints: [{ value: this.usedHeap }]
1717
},
1818
{
19-
descriptor: { name: "heap_total", type: InstrumentType.HISTOGRAM, unit: "", },
19+
descriptor: { name: "heap_total", type: InstrumentType.TIME_SERIES },
2020
dataPoints: [{ value: this.totalHeap }]
2121
},
2222
{
23-
descriptor: { name: "heap_rss", type: InstrumentType.HISTOGRAM, unit: "", },
23+
descriptor: { name: "heap_rss", type: InstrumentType.TIME_SERIES },
2424
dataPoints: [{ value: this.rss }]
2525
},
2626
];

packages/node/src/metrics/default/memory-usage.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ export class MemoryUsageMetrics implements IMetrics {
77
public collect(): MetricType {
88
return [
99
{
10-
descriptor: { name: "memory_usage_mb", type: InstrumentType.HISTOGRAM, unit: "", },
10+
descriptor: { name: "memory_usage_mb", type: InstrumentType.TIME_SERIES, unit: "mb", },
1111
dataPoints: [{ value: this.usedMemory }]
1212
},
1313
{
14-
descriptor: { name: "memory_usage_percentage", type: InstrumentType.HISTOGRAM, unit: "", },
14+
descriptor: { name: "memory_usage_percentage", type: InstrumentType.TIME_SERIES, unit: "mb", },
1515
dataPoints: [{ value: this.percentageUsage }]
1616
}
1717
];

packages/node/src/metrics/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export class MetricsRunner {
4242
}
4343

4444
public register(): void {
45-
setInterval(() => this.collectMetrics(), this.interval * 1000);
45+
setInterval(() => this.collectMetrics(), this.interval);
4646
}
4747

4848
private collectMetrics(): void {

0 commit comments

Comments
 (0)