16
16
17
17
import * as types from '@opentelemetry/api' ;
18
18
import { ConsoleLogger } from '@opentelemetry/core' ;
19
+ import { Resource } from '@opentelemetry/resources' ;
19
20
import { BaseBoundInstrument } from './BoundInstrument' ;
20
21
import { Metric , CounterMetric , MeasureMetric , ObserverMetric } from './Metric' ;
21
22
import {
@@ -36,6 +37,7 @@ export class Meter implements types.Meter {
36
37
private readonly _logger : types . Logger ;
37
38
private readonly _metrics = new Map < string , Metric < BaseBoundInstrument > > ( ) ;
38
39
private readonly _batcher : Batcher ;
40
+ private readonly _resource : Resource ;
39
41
readonly labels = Meter . labels ;
40
42
41
43
/**
@@ -44,6 +46,7 @@ export class Meter implements types.Meter {
44
46
constructor ( config : MeterConfig = DEFAULT_CONFIG ) {
45
47
this . _logger = config . logger || new ConsoleLogger ( config . logLevel ) ;
46
48
this . _batcher = new UngroupedBatcher ( ) ;
49
+ this . _resource = config . resource || Resource . createTelemetrySDKResource ( ) ;
47
50
// start the push controller
48
51
const exporter = config . exporter || new NoopExporter ( ) ;
49
52
const interval = config . interval ;
@@ -73,7 +76,7 @@ export class Meter implements types.Meter {
73
76
...options ,
74
77
} ;
75
78
76
- const measure = new MeasureMetric ( name , opt , this . _batcher ) ;
79
+ const measure = new MeasureMetric ( name , opt , this . _batcher , this . _resource ) ;
77
80
this . _registerMetric ( name , measure ) ;
78
81
return measure ;
79
82
}
@@ -102,7 +105,7 @@ export class Meter implements types.Meter {
102
105
...DEFAULT_METRIC_OPTIONS ,
103
106
...options ,
104
107
} ;
105
- const counter = new CounterMetric ( name , opt , this . _batcher ) ;
108
+ const counter = new CounterMetric ( name , opt , this . _batcher , this . _resource ) ;
106
109
this . _registerMetric ( name , counter ) ;
107
110
return counter ;
108
111
}
@@ -129,7 +132,12 @@ export class Meter implements types.Meter {
129
132
...DEFAULT_METRIC_OPTIONS ,
130
133
...options ,
131
134
} ;
132
- const observer = new ObserverMetric ( name , opt , this . _batcher ) ;
135
+ const observer = new ObserverMetric (
136
+ name ,
137
+ opt ,
138
+ this . _batcher ,
139
+ this . _resource
140
+ ) ;
133
141
this . _registerMetric ( name , observer ) ;
134
142
return observer ;
135
143
}
0 commit comments