Skip to content

Commit 2d3727b

Browse files
authored
Merge branch 'main' into lint-warnings-instrumentation-fetch
2 parents 07e06c5 + 6617573 commit 2d3727b

File tree

27 files changed

+85
-78
lines changed

27 files changed

+85
-78
lines changed

packages/opentelemetry-exporter-collector/src/platform/browser/CollectorMetricExporter.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export class CollectorMetricExporter
5757
);
5858
}
5959

60-
getDefaultUrl(config: CollectorExporterConfigBase) {
60+
getDefaultUrl(config: CollectorExporterConfigBase): string {
6161
return typeof config.url === 'string'
6262
? config.url
6363
: getEnv().OTEL_EXPORTER_OTLP_METRICS_ENDPOINT.length > 0

packages/opentelemetry-exporter-collector/src/platform/node/CollectorExporterNodeBase.ts

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ export abstract class CollectorExporterNodeBase<
4343

4444
constructor(config: CollectorExporterNodeConfigBase = {}) {
4545
super(config);
46+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
4647
if ((config as any).metadata) {
4748
diag.warn('Metadata cannot be set when using http');
4849
}

packages/opentelemetry-exporter-collector/src/platform/node/CollectorMetricExporter.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export class CollectorMetricExporter
5757
);
5858
}
5959

60-
getDefaultUrl(config: CollectorExporterNodeConfigBase) {
60+
getDefaultUrl(config: CollectorExporterNodeConfigBase): string {
6161
return typeof config.url === 'string'
6262
? config.url
6363
: getEnv().OTEL_EXPORTER_OTLP_METRICS_ENDPOINT.length > 0

packages/opentelemetry-exporter-collector/src/types.ts

+1
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ export namespace opentelemetryProto {
203203
droppedAttributesCount: number;
204204
}
205205

206+
// eslint-disable-next-line @typescript-eslint/no-shadow
206207
export enum SpanKind {
207208
SPAN_KIND_UNSPECIFIED,
208209
SPAN_KIND_INTERNAL,

packages/opentelemetry-exporter-prometheus/src/PrometheusExporter.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ export class PrometheusExporter implements MetricExporter {
100100
* @param records Metrics to be sent to the prometheus backend
101101
* @param cb result callback to be called on finish
102102
*/
103-
export(records: MetricRecord[], cb: (result: ExportResult) => void) {
103+
export(records: MetricRecord[], cb: (result: ExportResult) => void): void {
104104
if (!this._server) {
105105
// It is conceivable that the _server may not be started as it is an async startup
106106
// However unlikely, if this happens the caller may retry the export
@@ -180,7 +180,7 @@ export class PrometheusExporter implements MetricExporter {
180180
public getMetricsRequestHandler(
181181
_request: IncomingMessage,
182182
response: ServerResponse
183-
) {
183+
): void {
184184
this._exportMetrics(response);
185185
}
186186

packages/opentelemetry-exporter-prometheus/src/PrometheusLabelsBatcher.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ interface BatcherCheckpoint {
2929
export class PrometheusLabelsBatcher {
3030
private _batchMap = new Map<string, BatcherCheckpoint>();
3131

32-
get hasMetric() {
32+
get hasMetric(): boolean {
3333
return this._batchMap.size > 0;
3434
}
3535

36-
process(record: MetricRecord) {
36+
process(record: MetricRecord): void {
3737
const name = record.descriptor.name;
3838
let item = this._batchMap.get(name);
3939
if (item === undefined) {

packages/opentelemetry-exporter-zipkin/src/platform/browser/util.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import * as zipkinTypes from '../../types';
2828
* @param headers - headers
2929
* send
3030
*/
31-
export function prepareSend(urlStr: string, headers?: Record<string, string>) {
31+
export function prepareSend(urlStr: string, headers?: Record<string, string>): zipkinTypes.SendFn {
3232
let xhrHeaders: Record<string, string>;
3333
const useBeacon = typeof navigator.sendBeacon === 'function' && !headers;
3434
if (headers) {

packages/opentelemetry-exporter-zipkin/src/platform/node/util.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import * as zipkinTypes from '../../types';
2727
* @param headers - headers
2828
* send
2929
*/
30-
export function prepareSend(urlStr: string, headers?: Record<string, string>) {
30+
export function prepareSend(urlStr: string, headers?: Record<string, string>): zipkinTypes.SendFn {
3131
const urlOpts = url.parse(urlStr);
3232

3333
const reqOpts: http.RequestOptions = Object.assign(

packages/opentelemetry-exporter-zipkin/src/transform.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ const ZIPKIN_SPAN_KIND_MAPPING = {
2929
[api.SpanKind.INTERNAL]: undefined,
3030
};
3131

32-
export const statusCodeTagName = 'ot.status_code';
33-
export const statusDescriptionTagName = 'ot.status_description';
32+
export const defaultStatusCodeTagName = 'ot.status_code';
33+
export const defaultStatusDescriptionTagName = 'ot.status_description';
3434

3535
/**
3636
* Translate OpenTelemetry ReadableSpan to ZipkinSpan format

packages/opentelemetry-exporter-zipkin/src/types.ts

+2
Original file line numberDiff line numberDiff line change
@@ -187,3 +187,5 @@ export type SendFunction = (
187187
) => void;
188188

189189
export type GetHeaders = () => Record<string, string> | undefined;
190+
191+
export type SendFn = (zipkinSpans: Span[], done: (result: ExportResult) => void) => void;

packages/opentelemetry-exporter-zipkin/src/zipkin.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ import { prepareSend } from './platform/index';
2121
import * as zipkinTypes from './types';
2222
import {
2323
toZipkinSpan,
24-
statusCodeTagName,
25-
statusDescriptionTagName,
24+
defaultStatusCodeTagName,
25+
defaultStatusDescriptionTagName,
2626
} from './transform';
2727
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
2828
import { prepareGetHeaders } from './utils';
@@ -45,9 +45,9 @@ export class ZipkinExporter implements SpanExporter {
4545
this._urlStr = config.url || getEnv().OTEL_EXPORTER_ZIPKIN_ENDPOINT;
4646
this._send = prepareSend(this._urlStr, config.headers);
4747
this._serviceName = config.serviceName;
48-
this._statusCodeTagName = config.statusCodeTagName || statusCodeTagName;
48+
this._statusCodeTagName = config.statusCodeTagName || defaultStatusCodeTagName;
4949
this._statusDescriptionTagName =
50-
config.statusDescriptionTagName || statusDescriptionTagName;
50+
config.statusDescriptionTagName || defaultStatusDescriptionTagName;
5151
this._isShutdown = false;
5252
if (typeof config.getExportRequestHeaders === 'function') {
5353
this._getHeaders = prepareGetHeaders(config.getExportRequestHeaders);
@@ -63,7 +63,7 @@ export class ZipkinExporter implements SpanExporter {
6363
export(
6464
spans: ReadableSpan[],
6565
resultCallback: (result: ExportResult) => void
66-
) {
66+
): void {
6767
const serviceName = String(
6868
this._serviceName ||
6969
spans[0].resource.attributes[SemanticResourceAttributes.SERVICE_NAME] ||

packages/opentelemetry-exporter-zipkin/test/common/transform.test.ts

+21-21
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ import { BasicTracerProvider, Span } from '@opentelemetry/sdk-trace-base';
2525
import * as assert from 'assert';
2626
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
2727
import {
28-
statusCodeTagName,
29-
statusDescriptionTagName,
28+
defaultStatusCodeTagName,
29+
defaultStatusDescriptionTagName,
3030
toZipkinSpan,
3131
_toZipkinAnnotations,
3232
_toZipkinTags,
@@ -78,8 +78,8 @@ describe('transform', () => {
7878
const zipkinSpan = toZipkinSpan(
7979
span,
8080
'my-service',
81-
statusCodeTagName,
82-
statusDescriptionTagName
81+
defaultStatusCodeTagName,
82+
defaultStatusDescriptionTagName
8383
);
8484
assert.deepStrictEqual(zipkinSpan, {
8585
kind: 'SERVER',
@@ -101,7 +101,7 @@ describe('transform', () => {
101101
tags: {
102102
key1: 'value1',
103103
key2: 'value2',
104-
[statusCodeTagName]: 'UNSET',
104+
[defaultStatusCodeTagName]: 'UNSET',
105105
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
106106
'telemetry.sdk.language': language,
107107
'telemetry.sdk.name': 'opentelemetry',
@@ -124,8 +124,8 @@ describe('transform', () => {
124124
const zipkinSpan = toZipkinSpan(
125125
span,
126126
'my-service',
127-
statusCodeTagName,
128-
statusDescriptionTagName
127+
defaultStatusCodeTagName,
128+
defaultStatusDescriptionTagName
129129
);
130130
assert.deepStrictEqual(zipkinSpan, {
131131
kind: 'SERVER',
@@ -140,7 +140,7 @@ describe('transform', () => {
140140
name: span.name,
141141
parentId: undefined,
142142
tags: {
143-
[statusCodeTagName]: 'UNSET',
143+
[defaultStatusCodeTagName]: 'UNSET',
144144
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
145145
'telemetry.sdk.language': language,
146146
'telemetry.sdk.name': 'opentelemetry',
@@ -173,8 +173,8 @@ describe('transform', () => {
173173
const zipkinSpan = toZipkinSpan(
174174
span,
175175
'my-service',
176-
statusCodeTagName,
177-
statusDescriptionTagName
176+
defaultStatusCodeTagName,
177+
defaultStatusDescriptionTagName
178178
);
179179
assert.deepStrictEqual(zipkinSpan, {
180180
kind: item.zipkin,
@@ -189,7 +189,7 @@ describe('transform', () => {
189189
name: span.name,
190190
parentId: undefined,
191191
tags: {
192-
[statusCodeTagName]: 'UNSET',
192+
[defaultStatusCodeTagName]: 'UNSET',
193193
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
194194
'telemetry.sdk.language': language,
195195
'telemetry.sdk.name': 'opentelemetry',
@@ -219,15 +219,15 @@ describe('transform', () => {
219219
const tags: zipkinTypes.Tags = _toZipkinTags(
220220
span.attributes,
221221
span.status,
222-
statusCodeTagName,
223-
statusDescriptionTagName,
222+
defaultStatusCodeTagName,
223+
defaultStatusDescriptionTagName,
224224
DUMMY_RESOURCE
225225
);
226226

227227
assert.deepStrictEqual(tags, {
228228
key1: 'value1',
229229
key2: 'value2',
230-
[statusCodeTagName]: 'UNSET',
230+
[defaultStatusCodeTagName]: 'UNSET',
231231
cost: '112.12',
232232
service: 'ui',
233233
version: '1',
@@ -254,8 +254,8 @@ describe('transform', () => {
254254
const tags: zipkinTypes.Tags = _toZipkinTags(
255255
span.attributes,
256256
span.status,
257-
statusCodeTagName,
258-
statusDescriptionTagName,
257+
defaultStatusCodeTagName,
258+
defaultStatusDescriptionTagName,
259259
Resource.empty().merge(
260260
new Resource({
261261
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
@@ -266,7 +266,7 @@ describe('transform', () => {
266266
assert.deepStrictEqual(tags, {
267267
key1: 'value1',
268268
key2: 'value2',
269-
[statusCodeTagName]: 'ERROR',
269+
[defaultStatusCodeTagName]: 'ERROR',
270270
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
271271
});
272272
});
@@ -291,8 +291,8 @@ describe('transform', () => {
291291
const tags: zipkinTypes.Tags = _toZipkinTags(
292292
span.attributes,
293293
span.status,
294-
statusCodeTagName,
295-
statusDescriptionTagName,
294+
defaultStatusCodeTagName,
295+
defaultStatusDescriptionTagName,
296296
Resource.empty().merge(
297297
new Resource({
298298
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
@@ -303,8 +303,8 @@ describe('transform', () => {
303303
assert.deepStrictEqual(tags, {
304304
key1: 'value1',
305305
key2: 'value2',
306-
[statusCodeTagName]: 'ERROR',
307-
[statusDescriptionTagName]: status.message,
306+
[defaultStatusCodeTagName]: 'ERROR',
307+
[defaultStatusDescriptionTagName]: status.message,
308308
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
309309
});
310310
});

packages/opentelemetry-instrumentation-http/src/http.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,11 @@ export class HttpInstrumentation extends InstrumentationBase<Http> {
7171
return this._config;
7272
}
7373

74-
override setConfig(config: HttpInstrumentationConfig & InstrumentationConfig = {}) {
74+
override setConfig(config: HttpInstrumentationConfig & InstrumentationConfig = {}): void {
7575
this._config = Object.assign({}, config);
7676
}
7777

78-
init() {
78+
init(): [InstrumentationNodeModuleDefinition<Https>, InstrumentationNodeModuleDefinition<Http>] {
7979
return [this._getHttpsInstrumentation(), this._getHttpInstrumentation()];
8080
}
8181

@@ -169,7 +169,7 @@ export class HttpInstrumentation extends InstrumentationBase<Http> {
169169
* Creates spans for incoming requests, restoring spans' context if applied.
170170
*/
171171
protected _getPatchIncomingRequestFunction(component: 'http' | 'https') {
172-
return (original: (event: string, ...args: unknown[]) => boolean) => {
172+
return (original: (event: string, ...args: unknown[]) => boolean): (this: unknown, event: string, ...args: unknown[]) => boolean => {
173173
return this._incomingRequestFunction(component, original);
174174
};
175175
}
@@ -305,7 +305,7 @@ export class HttpInstrumentation extends InstrumentationBase<Http> {
305305
if (response.aborted && !response.complete) {
306306
status = { code: SpanStatusCode.ERROR };
307307
} else {
308-
status = utils.parseResponseStatus(response.statusCode!);
308+
status = utils.parseResponseStatus(response.statusCode);
309309
}
310310

311311
span.setStatus(status);
@@ -351,7 +351,7 @@ export class HttpInstrumentation extends InstrumentationBase<Http> {
351351
) {
352352
const instrumentation = this;
353353
return function incomingRequest(
354-
this: {},
354+
this: unknown,
355355
event: string,
356356
...args: unknown[]
357357
): boolean {
@@ -488,7 +488,7 @@ export class HttpInstrumentation extends InstrumentationBase<Http> {
488488
): Func<http.ClientRequest> {
489489
const instrumentation = this;
490490
return function outgoingRequest(
491-
this: {},
491+
this: unknown,
492492
options: url.URL | http.RequestOptions | string,
493493
...args: unknown[]
494494
): http.ClientRequest {

packages/opentelemetry-instrumentation-http/src/utils.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ export const setSpanWithError = (
161161
span: Span,
162162
error: Err,
163163
obj?: IncomingMessage | ClientRequest
164-
) => {
164+
): void => {
165165
const message = error.message;
166166

167167
span.setAttributes({
@@ -176,7 +176,7 @@ export const setSpanWithError = (
176176

177177
let status: SpanStatus;
178178
if ((obj as IncomingMessage).statusCode) {
179-
status = parseResponseStatus((obj as IncomingMessage).statusCode!);
179+
status = parseResponseStatus((obj as IncomingMessage).statusCode);
180180
} else if ((obj as ClientRequest).aborted) {
181181
status = { code: SpanStatusCode.ERROR };
182182
} else {
@@ -196,7 +196,7 @@ export const setSpanWithError = (
196196
export const setRequestContentLengthAttribute = (
197197
request: IncomingMessage,
198198
attributes: SpanAttributes
199-
) => {
199+
): void => {
200200
const length = getContentLength(request.headers);
201201
if (length === null) return;
202202

@@ -217,7 +217,7 @@ export const setRequestContentLengthAttribute = (
217217
export const setResponseContentLengthAttribute = (
218218
response: IncomingMessage,
219219
attributes: SpanAttributes
220-
) => {
220+
): void => {
221221
const length = getContentLength(response.headers);
222222
if (length === null) return;
223223

@@ -259,7 +259,7 @@ export const isCompressed = (
259259
export const getRequestInfo = (
260260
options: url.URL | RequestOptions | string,
261261
extraOptions?: RequestOptions
262-
) => {
262+
): { origin: string; pathname: string; method: string; optionsParsed: RequestOptions; } => {
263263
let pathname = '/';
264264
let origin = '';
265265
let optionsParsed: RequestOptions;

packages/opentelemetry-instrumentation-http/test/functionals/http-package.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ describe('Packages', () => {
102102
);
103103
const result = await httpPackage.get(urlparsed.href!);
104104
if (!resHeaders) {
105-
const res = result as AxiosResponse<{}>;
105+
const res = result as AxiosResponse<unknown>;
106106
resHeaders = res.headers;
107107
}
108108
const spans = memoryExporter.getFinishedSpans();

packages/opentelemetry-instrumentation-http/test/functionals/https-package.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ describe('Packages', () => {
108108
);
109109
const result = await httpPackage.get(urlparsed.href!);
110110
if (!resHeaders) {
111-
const res = result as AxiosResponse<{}>;
111+
const res = result as AxiosResponse<unknown>;
112112
resHeaders = res.headers;
113113
}
114114
const spans = memoryExporter.getFinishedSpans();

0 commit comments

Comments
 (0)