Skip to content

Commit

Permalink
Merge branch 'main' into lint-warnings-instrumentation-http
Browse files Browse the repository at this point in the history
  • Loading branch information
vmarchaud authored Sep 4, 2021
2 parents 8864c8d + 7dc2538 commit ab99c8f
Show file tree
Hide file tree
Showing 23 changed files with 72 additions and 65 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export class CollectorMetricExporter
);
}

getDefaultUrl(config: CollectorExporterConfigBase) {
getDefaultUrl(config: CollectorExporterConfigBase): string {
return typeof config.url === 'string'
? config.url
: getEnv().OTEL_EXPORTER_OTLP_METRICS_ENDPOINT.length > 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ export abstract class CollectorExporterNodeBase<

constructor(config: CollectorExporterNodeConfigBase = {}) {
super(config);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
if ((config as any).metadata) {
diag.warn('Metadata cannot be set when using http');
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export class CollectorMetricExporter
);
}

getDefaultUrl(config: CollectorExporterNodeConfigBase) {
getDefaultUrl(config: CollectorExporterNodeConfigBase): string {
return typeof config.url === 'string'
? config.url
: getEnv().OTEL_EXPORTER_OTLP_METRICS_ENDPOINT.length > 0
Expand Down
1 change: 1 addition & 0 deletions packages/opentelemetry-exporter-collector/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ export namespace opentelemetryProto {
droppedAttributesCount: number;
}

// eslint-disable-next-line @typescript-eslint/no-shadow
export enum SpanKind {
SPAN_KIND_UNSPECIFIED,
SPAN_KIND_INTERNAL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export class PrometheusExporter implements MetricExporter {
* @param records Metrics to be sent to the prometheus backend
* @param cb result callback to be called on finish
*/
export(records: MetricRecord[], cb: (result: ExportResult) => void) {
export(records: MetricRecord[], cb: (result: ExportResult) => void): void {
if (!this._server) {
// It is conceivable that the _server may not be started as it is an async startup
// However unlikely, if this happens the caller may retry the export
Expand Down Expand Up @@ -180,7 +180,7 @@ export class PrometheusExporter implements MetricExporter {
public getMetricsRequestHandler(
_request: IncomingMessage,
response: ServerResponse
) {
): void {
this._exportMetrics(response);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ interface BatcherCheckpoint {
export class PrometheusLabelsBatcher {
private _batchMap = new Map<string, BatcherCheckpoint>();

get hasMetric() {
get hasMetric(): boolean {
return this._batchMap.size > 0;
}

process(record: MetricRecord) {
process(record: MetricRecord): void {
const name = record.descriptor.name;
let item = this._batchMap.get(name);
if (item === undefined) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import * as zipkinTypes from '../../types';
* @param headers - headers
* send
*/
export function prepareSend(urlStr: string, headers?: Record<string, string>) {
export function prepareSend(urlStr: string, headers?: Record<string, string>): zipkinTypes.SendFn {
let xhrHeaders: Record<string, string>;
const useBeacon = typeof navigator.sendBeacon === 'function' && !headers;
if (headers) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import * as zipkinTypes from '../../types';
* @param headers - headers
* send
*/
export function prepareSend(urlStr: string, headers?: Record<string, string>) {
export function prepareSend(urlStr: string, headers?: Record<string, string>): zipkinTypes.SendFn {
const urlOpts = url.parse(urlStr);

const reqOpts: http.RequestOptions = Object.assign(
Expand Down
4 changes: 2 additions & 2 deletions packages/opentelemetry-exporter-zipkin/src/transform.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ const ZIPKIN_SPAN_KIND_MAPPING = {
[api.SpanKind.INTERNAL]: undefined,
};

export const statusCodeTagName = 'ot.status_code';
export const statusDescriptionTagName = 'ot.status_description';
export const defaultStatusCodeTagName = 'ot.status_code';
export const defaultStatusDescriptionTagName = 'ot.status_description';

/**
* Translate OpenTelemetry ReadableSpan to ZipkinSpan format
Expand Down
2 changes: 2 additions & 0 deletions packages/opentelemetry-exporter-zipkin/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -187,3 +187,5 @@ export type SendFunction = (
) => void;

export type GetHeaders = () => Record<string, string> | undefined;

export type SendFn = (zipkinSpans: Span[], done: (result: ExportResult) => void) => void;
10 changes: 5 additions & 5 deletions packages/opentelemetry-exporter-zipkin/src/zipkin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ import { prepareSend } from './platform/index';
import * as zipkinTypes from './types';
import {
toZipkinSpan,
statusCodeTagName,
statusDescriptionTagName,
defaultStatusCodeTagName,
defaultStatusDescriptionTagName,
} from './transform';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
import { prepareGetHeaders } from './utils';
Expand All @@ -45,9 +45,9 @@ export class ZipkinExporter implements SpanExporter {
this._urlStr = config.url || getEnv().OTEL_EXPORTER_ZIPKIN_ENDPOINT;
this._send = prepareSend(this._urlStr, config.headers);
this._serviceName = config.serviceName;
this._statusCodeTagName = config.statusCodeTagName || statusCodeTagName;
this._statusCodeTagName = config.statusCodeTagName || defaultStatusCodeTagName;
this._statusDescriptionTagName =
config.statusDescriptionTagName || statusDescriptionTagName;
config.statusDescriptionTagName || defaultStatusDescriptionTagName;
this._isShutdown = false;
if (typeof config.getExportRequestHeaders === 'function') {
this._getHeaders = prepareGetHeaders(config.getExportRequestHeaders);
Expand All @@ -63,7 +63,7 @@ export class ZipkinExporter implements SpanExporter {
export(
spans: ReadableSpan[],
resultCallback: (result: ExportResult) => void
) {
): void {
const serviceName = String(
this._serviceName ||
spans[0].resource.attributes[SemanticResourceAttributes.SERVICE_NAME] ||
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ import { BasicTracerProvider, Span } from '@opentelemetry/sdk-trace-base';
import * as assert from 'assert';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
import {
statusCodeTagName,
statusDescriptionTagName,
defaultStatusCodeTagName,
defaultStatusDescriptionTagName,
toZipkinSpan,
_toZipkinAnnotations,
_toZipkinTags,
Expand Down Expand Up @@ -78,8 +78,8 @@ describe('transform', () => {
const zipkinSpan = toZipkinSpan(
span,
'my-service',
statusCodeTagName,
statusDescriptionTagName
defaultStatusCodeTagName,
defaultStatusDescriptionTagName
);
assert.deepStrictEqual(zipkinSpan, {
kind: 'SERVER',
Expand All @@ -101,7 +101,7 @@ describe('transform', () => {
tags: {
key1: 'value1',
key2: 'value2',
[statusCodeTagName]: 'UNSET',
[defaultStatusCodeTagName]: 'UNSET',
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
'telemetry.sdk.language': language,
'telemetry.sdk.name': 'opentelemetry',
Expand All @@ -124,8 +124,8 @@ describe('transform', () => {
const zipkinSpan = toZipkinSpan(
span,
'my-service',
statusCodeTagName,
statusDescriptionTagName
defaultStatusCodeTagName,
defaultStatusDescriptionTagName
);
assert.deepStrictEqual(zipkinSpan, {
kind: 'SERVER',
Expand All @@ -140,7 +140,7 @@ describe('transform', () => {
name: span.name,
parentId: undefined,
tags: {
[statusCodeTagName]: 'UNSET',
[defaultStatusCodeTagName]: 'UNSET',
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
'telemetry.sdk.language': language,
'telemetry.sdk.name': 'opentelemetry',
Expand Down Expand Up @@ -173,8 +173,8 @@ describe('transform', () => {
const zipkinSpan = toZipkinSpan(
span,
'my-service',
statusCodeTagName,
statusDescriptionTagName
defaultStatusCodeTagName,
defaultStatusDescriptionTagName
);
assert.deepStrictEqual(zipkinSpan, {
kind: item.zipkin,
Expand All @@ -189,7 +189,7 @@ describe('transform', () => {
name: span.name,
parentId: undefined,
tags: {
[statusCodeTagName]: 'UNSET',
[defaultStatusCodeTagName]: 'UNSET',
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
'telemetry.sdk.language': language,
'telemetry.sdk.name': 'opentelemetry',
Expand Down Expand Up @@ -219,15 +219,15 @@ describe('transform', () => {
const tags: zipkinTypes.Tags = _toZipkinTags(
span.attributes,
span.status,
statusCodeTagName,
statusDescriptionTagName,
defaultStatusCodeTagName,
defaultStatusDescriptionTagName,
DUMMY_RESOURCE
);

assert.deepStrictEqual(tags, {
key1: 'value1',
key2: 'value2',
[statusCodeTagName]: 'UNSET',
[defaultStatusCodeTagName]: 'UNSET',
cost: '112.12',
service: 'ui',
version: '1',
Expand All @@ -254,8 +254,8 @@ describe('transform', () => {
const tags: zipkinTypes.Tags = _toZipkinTags(
span.attributes,
span.status,
statusCodeTagName,
statusDescriptionTagName,
defaultStatusCodeTagName,
defaultStatusDescriptionTagName,
Resource.empty().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
Expand All @@ -266,7 +266,7 @@ describe('transform', () => {
assert.deepStrictEqual(tags, {
key1: 'value1',
key2: 'value2',
[statusCodeTagName]: 'ERROR',
[defaultStatusCodeTagName]: 'ERROR',
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
});
});
Expand All @@ -291,8 +291,8 @@ describe('transform', () => {
const tags: zipkinTypes.Tags = _toZipkinTags(
span.attributes,
span.status,
statusCodeTagName,
statusDescriptionTagName,
defaultStatusCodeTagName,
defaultStatusDescriptionTagName,
Resource.empty().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
Expand All @@ -303,8 +303,8 @@ describe('transform', () => {
assert.deepStrictEqual(tags, {
key1: 'value1',
key2: 'value2',
[statusCodeTagName]: 'ERROR',
[statusDescriptionTagName]: status.message,
[defaultStatusCodeTagName]: 'ERROR',
[defaultStatusDescriptionTagName]: status.message,
[SemanticResourceAttributes.SERVICE_NAME]: 'zipkin-test',
});
});
Expand Down
10 changes: 5 additions & 5 deletions packages/opentelemetry-sdk-node/src/sdk.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ export class NodeSDK {
spanProcessor: SpanProcessor,
contextManager?: ContextManager,
textMapPropagator?: TextMapPropagator
) {
): void {
this._tracerProviderConfig = {
tracerConfig,
spanProcessor,
Expand All @@ -121,12 +121,12 @@ export class NodeSDK {
}

/** Set configurations needed to register a MeterProvider */
public configureMeterProvider(config: MeterConfig) {
public configureMeterProvider(config: MeterConfig): void {
this._meterProviderConfig = config;
}

/** Detect resource attributes */
public async detectResources(config?: ResourceDetectionConfig) {
public async detectResources(config?: ResourceDetectionConfig): Promise<void> {
const internalConfig: ResourceDetectionConfig = {
detectors: [awsEc2Detector, gcpDetector, envDetector, processDetector],
...config,
Expand All @@ -136,14 +136,14 @@ export class NodeSDK {
}

/** Manually add a resource */
public addResource(resource: Resource) {
public addResource(resource: Resource): void {
this._resource = this._resource.merge(resource);
}

/**
* Once the SDK has been configured, call this method to construct SDK components and register them with the OpenTelemetry API.
*/
public async start() {
public async start(): Promise<void> {
if (this._autoDetectResources) {
await this.detectResources();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ export class BasicTracerProvider implements TracerProvider {
this._tracers.set(key, new Tracer({ name, version }, this._config, this));
}

// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
return this._tracers.get(key)!;
}

Expand Down Expand Up @@ -133,7 +134,7 @@ export class BasicTracerProvider implements TracerProvider {
*
* @param config Configuration object for SDK registration
*/
register(config: SDKRegistrationConfig = {}) {
register(config: SDKRegistrationConfig = {}): void {
trace.setGlobalTracerProvider(this);
if (config.propagator === undefined) {
config.propagator = this._buildPropagatorFromEnv();
Expand Down Expand Up @@ -197,7 +198,7 @@ export class BasicTracerProvider implements TracerProvider {
});
}

shutdown() {
shutdown(): Promise<void> {
return this.activeSpanProcessor.shutdown();
}

Expand Down
2 changes: 1 addition & 1 deletion packages/opentelemetry-sdk-trace-base/src/Span.ts
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ export class Span implements api.Span, ReadableSpan {
return this._ended === false;
}

recordException(exception: api.Exception, time: api.TimeInput = hrTime()) {
recordException(exception: api.Exception, time: api.TimeInput = hrTime()): void {
const attributes: api.SpanAttributes = {};
if (typeof exception === 'string') {
attributes[SemanticAttributes.EXCEPTION_MESSAGE] = exception;
Expand Down
3 changes: 2 additions & 1 deletion packages/opentelemetry-sdk-trace-base/src/Tracer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import { BasicTracerProvider } from './BasicTracerProvider';
import { Span } from './Span';
import { SpanLimits, TracerConfig } from './types';
import { mergeConfig } from './utility';
import { SpanProcessor } from './SpanProcessor';

/**
* This class represents a basic tracer.
Expand Down Expand Up @@ -216,7 +217,7 @@ export class Tracer implements api.Tracer {
return this._spanLimits;
}

getActiveSpanProcessor() {
getActiveSpanProcessor(): SpanProcessor {
return this._tracerProvider.getActiveSpanProcessor();
}
}
Expand Down
Loading

0 comments on commit ab99c8f

Please sign in to comment.