Skip to content

Commit 616d061

Browse files
authored
OpenTelemetry Exporter updating to latest dependencies (Azure#13854)
* Updated OT dependencies to 0.17.0 * Lint * Not set log level on exporter side * Lint
1 parent 9a45c41 commit 616d061

File tree

14 files changed

+99
-142
lines changed

14 files changed

+99
-142
lines changed

common/config/rush/common-versions.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
// when there is a new beta version which is being maintained in the repo.
4646
// Comment this out when the storage-blob releases a stable version.
4747
"@azure/storage-blob": ["^12.4.1"],
48-
4948
"@azure/ms-rest-js": ["^2.0.0"],
5049
/**
5150
* For example, allow some projects to use an older TypeScript compiler
@@ -56,11 +55,10 @@
5655
// ]
5756
// Following is required to allow for backward compatibility with Event Processor Host Track 1
5857
"@azure/event-hubs": ["^2.1.4"],
59-
"@opentelemetry/api": ["^0.16.0"],
58+
"@opentelemetry/api": ["^0.17.0"],
6059
// Monitor: Allow node 10 types until Timeout / Timer conflict is resolved in OpenTelemetry repo
6160
// TODO: remove when released https://github.com/open-telemetry/opentelemetry-js/pull/1352
6261
"@types/node": ["^10.0.0"],
63-
6462
// @azure/test-utils-perfstress should depend on lowest version of @azure/core-http for maximum compatibility, allowing test
6563
// projects to choose a higher version if desired.
6664
"@azure/core-http": ["^1.0.0"]

common/config/rush/pnpm-lock.yaml

Lines changed: 34 additions & 33 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/monitor/monitor-opentelemetry-exporter/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## 1.0.0-beta.4 (Unreleased)
44

5+
- Open Telemetry dependency updates
56

67
## 1.0.0-beta.3 (2021-02-10)
78

sdk/monitor/monitor-opentelemetry-exporter/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,11 @@
8484
},
8585
"dependencies": {
8686
"@azure/core-http": "^1.2.0",
87-
"@opentelemetry/api": "^0.16.0",
88-
"@opentelemetry/core": "^0.16.0",
89-
"@opentelemetry/resources": "^0.16.0",
90-
"@opentelemetry/semantic-conventions": "^0.16.0",
91-
"@opentelemetry/tracing": "^0.16.0",
87+
"@opentelemetry/api": "^0.17.0",
88+
"@opentelemetry/core": "^0.17.0",
89+
"@opentelemetry/resources": "^0.17.0",
90+
"@opentelemetry/semantic-conventions": "^0.17.0",
91+
"@opentelemetry/tracing": "^0.17.0",
9292
"tslib": "^2.0.0"
9393
},
9494
"sideEffects": false,

sdk/monitor/monitor-opentelemetry-exporter/src/config.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT license.
33

4-
import { Logger } from "@opentelemetry/api";
54
import {
65
DEFAULT_BREEZE_API_VERSION,
76
DEFAULT_BREEZE_ENDPOINT,
@@ -20,18 +19,9 @@ export interface AzureExporterConfig {
2019

2120
export interface AzureExporterInternalConfig {
2221
instrumentationKey: string;
23-
24-
// Exporter
25-
logger?: Logger;
26-
27-
// Channel
2822
batchSendRetryIntervalMs: number;
29-
30-
// Sender
3123
maxConsecutiveFailuresBeforeWarning: number;
32-
3324
endpointUrl: string;
34-
3525
apiVersion: ServiceApiVersion;
3626
}
3727

sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT license.
33

4-
import { Logger } from "@opentelemetry/api";
5-
import { ConsoleLogger, LogLevel, ExportResult, ExportResultCode } from "@opentelemetry/core";
4+
import { diag } from "@opentelemetry/api";
5+
import { ExportResult, ExportResultCode } from "@opentelemetry/core";
66
import { ReadableSpan, SpanExporter } from "@opentelemetry/tracing";
77
import { RestError } from "@azure/core-http";
88
import { ConnectionStringParser } from "../utils/connectionStringParser";
@@ -21,8 +21,6 @@ import { readableSpanToEnvelope } from "../utils/spanUtils";
2121
export class AzureMonitorTraceExporter implements SpanExporter {
2222
private readonly _persister: PersistentStorage;
2323

24-
private readonly _logger: Logger;
25-
2624
private readonly _sender: Sender;
2725

2826
private _retryTimer: NodeJS.Timer | null;
@@ -31,14 +29,13 @@ export class AzureMonitorTraceExporter implements SpanExporter {
3129

3230
constructor(options: AzureExporterConfig = {}) {
3331
const connectionString = options.connectionString || process.env[ENV_CONNECTION_STRING];
34-
this._logger = new ConsoleLogger(LogLevel.ERROR);
3532
this._options = {
3633
...DEFAULT_EXPORTER_CONFIG
3734
};
3835
this._options.apiVersion = options.apiVersion ?? this._options.apiVersion;
3936

4037
if (connectionString) {
41-
const parsedConnectionString = ConnectionStringParser.parse(connectionString, this._logger);
38+
const parsedConnectionString = ConnectionStringParser.parse(connectionString);
4239
this._options.instrumentationKey =
4340
parsedConnectionString.instrumentationkey ?? this._options.instrumentationKey;
4441
this._options.endpointUrl =
@@ -48,14 +45,14 @@ export class AzureMonitorTraceExporter implements SpanExporter {
4845
if (!this._options.instrumentationKey) {
4946
const message =
5047
"No instrumentation key or connection string was provided to the Azure Monitor Exporter";
51-
this._logger.error(message);
48+
diag.error(message);
5249
throw new Error(message);
5350
}
5451

5552
this._sender = new HttpSender(this._options);
5653
this._persister = new FileSystemPersist(this._options);
5754
this._retryTimer = null;
58-
this._logger.debug("AzureMonitorTraceExporter was successfully setup");
55+
diag.debug("AzureMonitorTraceExporter was successfully setup");
5956
}
6057

6158
private async _persist(envelopes: unknown[]): Promise<ExportResult> {
@@ -73,7 +70,7 @@ export class AzureMonitorTraceExporter implements SpanExporter {
7370
}
7471

7572
private async exportEnvelopes(envelopes: Envelope[]): Promise<ExportResult> {
76-
this._logger.info(`Exporting ${envelopes.length} envelope(s)`);
73+
diag.info(`Exporting ${envelopes.length} envelope(s)`);
7774

7875
try {
7976
const { result, statusCode } = await this._sender.send(envelopes);
@@ -90,7 +87,7 @@ export class AzureMonitorTraceExporter implements SpanExporter {
9087
} else if (statusCode && isRetriable(statusCode)) {
9188
// Failed -- persist failed data
9289
if (result) {
93-
this._logger.info(result);
90+
diag.info(result);
9491
const breezeResponse = JSON.parse(result) as BreezeResponse;
9592
const filteredEnvelopes = breezeResponse.errors.reduce(
9693
(acc, v) => [...acc, envelopes[v.index]],
@@ -110,13 +107,13 @@ export class AzureMonitorTraceExporter implements SpanExporter {
110107
}
111108
} catch (senderErr) {
112109
if (this._isNetworkError(senderErr)) {
113-
this._logger.error(
110+
diag.error(
114111
"Retrying due to transient client side error. Error message:",
115112
senderErr.message
116113
);
117114
return await this._persist(envelopes);
118115
} else {
119-
this._logger.error(
116+
diag.error(
120117
"Envelopes could not be exported and are not retriable. Error message:",
121118
senderErr.message
122119
);
@@ -129,15 +126,15 @@ export class AzureMonitorTraceExporter implements SpanExporter {
129126
spans: ReadableSpan[],
130127
resultCallback: (result: ExportResult) => void
131128
): Promise<void> {
132-
this._logger.info(`Exporting ${spans.length} span(s). Converting to envelopes...`);
129+
diag.info(`Exporting ${spans.length} span(s). Converting to envelopes...`);
133130
const envelopes = spans.map((span) =>
134-
readableSpanToEnvelope(span, this._options.instrumentationKey, this._logger)
131+
readableSpanToEnvelope(span, this._options.instrumentationKey)
135132
);
136133
resultCallback(await this.exportEnvelopes(envelopes));
137134
}
138135

139136
async shutdown(): Promise<void> {
140-
this._logger.info("Azure Monitor Trace Exporter shutting down");
137+
diag.info("Azure Monitor Trace Exporter shutting down");
141138
return this._sender.shutdown();
142139
}
143140

@@ -148,7 +145,7 @@ export class AzureMonitorTraceExporter implements SpanExporter {
148145
await this._sender.send(envelopes);
149146
}
150147
} catch (err) {
151-
this._logger.warn(`Failed to fetch persisted file`, err);
148+
diag.warn(`Failed to fetch persisted file`, err);
152149
}
153150
}
154151

0 commit comments

Comments
 (0)