Skip to content

Commit

Permalink
chore(sdk-trace): fix lint warnings (#2446)
Browse files Browse the repository at this point in the history
Co-authored-by: Valentin Marchaud <contact@vmarchaud.fr>
  • Loading branch information
alisabzevari and vmarchaud committed Sep 4, 2021
1 parent f810779 commit 63f6701
Show file tree
Hide file tree
Showing 9 changed files with 26 additions and 23 deletions.
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
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
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
24 changes: 12 additions & 12 deletions packages/opentelemetry-sdk-trace-base/src/config.ts
Expand Up @@ -48,12 +48,12 @@ export const DEFAULT_CONFIG = {

/**
* Based on environment, builds a sampler, complies with specification.
* @param env optional, by default uses getEnv(), but allows passing a value to reuse parsed environment
* @param environment optional, by default uses getEnv(), but allows passing a value to reuse parsed environment
*/
export function buildSamplerFromEnv(
env: Required<ENVIRONMENT> = getEnv()
environment: Required<ENVIRONMENT> = getEnv()
): Sampler {
switch (env.OTEL_TRACES_SAMPLER) {
switch (environment.OTEL_TRACES_SAMPLER) {
case TracesSamplerValues.AlwaysOn:
return new AlwaysOnSampler();
case TracesSamplerValues.AlwaysOff:
Expand All @@ -67,44 +67,44 @@ export function buildSamplerFromEnv(
root: new AlwaysOffSampler(),
});
case TracesSamplerValues.TraceIdRatio:
return new TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv(env));
return new TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv(environment));
case TracesSamplerValues.ParentBasedTraceIdRatio:
return new ParentBasedSampler({
root: new TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv(env)),
root: new TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv(environment)),
});
default:
diag.error(
`OTEL_TRACES_SAMPLER value "${env.OTEL_TRACES_SAMPLER} invalid, defaulting to ${FALLBACK_OTEL_TRACES_SAMPLER}".`
`OTEL_TRACES_SAMPLER value "${environment.OTEL_TRACES_SAMPLER} invalid, defaulting to ${FALLBACK_OTEL_TRACES_SAMPLER}".`
);
return new AlwaysOnSampler();
}
}

function getSamplerProbabilityFromEnv(
env: Required<ENVIRONMENT>
environment: Required<ENVIRONMENT>
): number | undefined {
if (
env.OTEL_TRACES_SAMPLER_ARG === undefined ||
env.OTEL_TRACES_SAMPLER_ARG === ''
environment.OTEL_TRACES_SAMPLER_ARG === undefined ||
environment.OTEL_TRACES_SAMPLER_ARG === ''
) {
diag.error(
`OTEL_TRACES_SAMPLER_ARG is blank, defaulting to ${DEFAULT_RATIO}.`
);
return DEFAULT_RATIO;
}

const probability = Number(env.OTEL_TRACES_SAMPLER_ARG);
const probability = Number(environment.OTEL_TRACES_SAMPLER_ARG);

if (isNaN(probability)) {
diag.error(
`OTEL_TRACES_SAMPLER_ARG=${env.OTEL_TRACES_SAMPLER_ARG} was given, but it is invalid, defaulting to ${DEFAULT_RATIO}.`
`OTEL_TRACES_SAMPLER_ARG=${environment.OTEL_TRACES_SAMPLER_ARG} was given, but it is invalid, defaulting to ${DEFAULT_RATIO}.`
);
return DEFAULT_RATIO;
}

if (probability < 0 || probability > 1) {
diag.error(
`OTEL_TRACES_SAMPLER_ARG=${env.OTEL_TRACES_SAMPLER_ARG} was given, but it is out of range ([0..1]), defaulting to ${DEFAULT_RATIO}.`
`OTEL_TRACES_SAMPLER_ARG=${environment.OTEL_TRACES_SAMPLER_ARG} was given, but it is out of range ([0..1]), defaulting to ${DEFAULT_RATIO}.`
);
return DEFAULT_RATIO;
}
Expand Down
Expand Up @@ -51,7 +51,7 @@ export class InMemorySpanExporter implements SpanExporter {
return Promise.resolve();
}

reset() {
reset(): void {
this._finishedSpans = [];
}

Expand Down
5 changes: 3 additions & 2 deletions packages/opentelemetry-sdk-trace-base/src/utility.ts
Expand Up @@ -14,14 +14,15 @@
* limitations under the License.
*/

import { Sampler } from '@opentelemetry/api';
import { buildSamplerFromEnv, DEFAULT_CONFIG } from './config';
import { TracerConfig } from './types';
import { SpanLimits, TracerConfig } from './types';

/**
* Function to merge Default configuration (as specified in './config') with
* user provided configurations.
*/
export function mergeConfig(userConfig: TracerConfig) {
export function mergeConfig(userConfig: TracerConfig): TracerConfig & { sampler: Sampler; spanLimits: SpanLimits } {
const perInstanceDefaults: Partial<TracerConfig> = {
sampler: buildSamplerFromEnv(),
};
Expand Down
Expand Up @@ -46,7 +46,7 @@ import {
} from '../../src';

describe('BasicTracerProvider', () => {
let removeEvent: Function | undefined;
let removeEvent: (() => void) | undefined;
const envSource = (typeof window !== 'undefined'
? window
: process.env) as any;
Expand Down Expand Up @@ -267,7 +267,7 @@ describe('BasicTracerProvider', () => {
provider.register();
assert.ok(
errorStub.getCall(0).args[0] ===
'Exporter "missing-exporter" requested through environment variable is unavailable.'
'Exporter "missing-exporter" requested through environment variable is unavailable.'
);
errorStub.restore();
});
Expand Down
Expand Up @@ -45,7 +45,7 @@ class TestProcessor implements SpanProcessor {
}

describe('MultiSpanProcessor', () => {
let removeEvent: Function | undefined;
let removeEvent: (() => void) | undefined;
afterEach(() => {
if (removeEvent) {
removeEvent();
Expand Down
Expand Up @@ -56,7 +56,7 @@ export class NodeTracerProvider extends BasicTracerProvider {
super(config);
}

override register(config: SDKRegistrationConfig = {}) {
override register(config: SDKRegistrationConfig = {}): void {
if (config.contextManager === undefined) {
const ContextManager = semver.gte(process.version, '14.8.0')
? AsyncLocalStorageContextManager
Expand Down

0 comments on commit 63f6701

Please sign in to comment.