Skip to content

Commit 16bff40

Browse files
fix(host-metrics): make host metrics constructor options optional (#2300)
Co-authored-by: Marc Pichler <[email protected]>
1 parent 0ed4038 commit 16bff40

File tree

3 files changed

+9
-14
lines changed

3 files changed

+9
-14
lines changed

packages/opentelemetry-host-metrics/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ const meterProvider = new MeterProvider({
3636
readers: [reader],
3737
});
3838

39-
const hostMetrics = new HostMetrics({ meterProvider, name: 'example-host-metrics' });
39+
const hostMetrics = new HostMetrics({ meterProvider });
4040
hostMetrics.start();
4141
```
4242

packages/opentelemetry-host-metrics/src/BaseMetrics.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,8 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
2525
export interface MetricsCollectorConfig {
2626
// Meter Provider
2727
meterProvider?: MeterProvider;
28-
// Character to be used to join metrics - default is "."
29-
metricNameSeparator?: string;
3028
// Name of component
31-
name: string;
32-
// metric export endpoint
33-
url?: string;
29+
name?: string;
3430
}
3531

3632
const DEFAULT_NAME = PACKAGE_NAME;
@@ -43,12 +39,14 @@ export abstract class BaseMetrics {
4339
protected _meter: Meter;
4440
private _name: string;
4541

46-
constructor(config: MetricsCollectorConfig) {
47-
this._name = config.name || DEFAULT_NAME;
48-
const meterProvider = config.meterProvider || metrics.getMeterProvider();
49-
if (!config.meterProvider) {
42+
constructor(config?: MetricsCollectorConfig) {
43+
// Do not use `??` operator to allow falling back to default when the
44+
// specified name is an empty string.
45+
this._name = config?.name || DEFAULT_NAME;
46+
if (config?.meterProvider == null) {
5047
this._logger.warn('No meter provider, using default');
5148
}
49+
const meterProvider = config?.meterProvider ?? metrics.getMeterProvider();
5250
this._meter = meterProvider.getMeter(this._name, PACKAGE_VERSION);
5351
}
5452

packages/opentelemetry-host-metrics/test/metric.test.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,7 @@ describe('Host Metrics', () => {
103103

104104
describe('constructor', () => {
105105
it('should create a new instance', () => {
106-
const hostMetrics = new HostMetrics({
107-
name: 'opentelemetry-host-metrics',
108-
});
106+
const hostMetrics = new HostMetrics();
109107
assert.ok(hostMetrics instanceof HostMetrics);
110108
});
111109

@@ -114,7 +112,6 @@ describe('Host Metrics', () => {
114112

115113
const hostMetrics = new HostMetrics({
116114
meterProvider,
117-
name: 'opentelemetry-host-metrics',
118115
});
119116
hostMetrics.start();
120117
assert.ok(hostMetrics instanceof HostMetrics);

0 commit comments

Comments
 (0)