Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bundler-tests/browser/nextjs-15-edge/middleware.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ diag.setLogger(new DiagConsoleLogger());

logs.setGlobalLoggerProvider(
new LoggerProvider({
processors: [new SimpleLogRecordProcessor(new OTLPLogExporter())],
processors: [new SimpleLogRecordProcessor({ exporter: new OTLPLogExporter() })],
})
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ diag.setLogger(new DiagConsoleLogger());

logs.setGlobalLoggerProvider(
new LoggerProvider({
processors: [new SimpleLogRecordProcessor(new OTLPLogExporter())],
processors: [new SimpleLogRecordProcessor({exporter: new OTLPLogExporter()})],
})
);

Expand Down
2 changes: 1 addition & 1 deletion bundler-tests/browser/webpack-5/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ diag.setLogger(new DiagConsoleLogger());

logs.setGlobalLoggerProvider(
new LoggerProvider({
processors: [new SimpleLogRecordProcessor(new OTLPLogExporter())],
processors: [new SimpleLogRecordProcessor({ exporter: new OTLPLogExporter() })],
})
);

Expand Down
2 changes: 1 addition & 1 deletion bundler-tests/node/webpack-5/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ diag.setLogger({

logs.setGlobalLoggerProvider(
new LoggerProvider({
processors: [new SimpleLogRecordProcessor(new OTLPLogExporter())],
processors: [new SimpleLogRecordProcessor({ exporter: new OTLPLogExporter() })],
})
);

Expand Down
4 changes: 3 additions & 1 deletion e2e-tests/test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ const metricReader = new PeriodicExportingMetricReader({
const logExporter = new OTLPLogExporter({
url: `${collectorUrl}/logs`,
});
const logRecordProcessors = [new SimpleLogRecordProcessor(logExporter)];
const logRecordProcessors = [
new SimpleLogRecordProcessor({ exporter: logExporter }),
];

// Set up OpenTelemetry SDK
const sdk = new NodeSDK({
Expand Down
2 changes: 1 addition & 1 deletion examples/opentelemetry-web/examples/session/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ const tracer = tracerProvider.getTracer('example');
const loggerProvider = new LoggerProvider({
processors: [
createSessionLogRecordProcessor(sessionManager),
new SimpleLogRecordProcessor(new ConsoleLogRecordExporter())
new SimpleLogRecordProcessor({ exporter: new ConsoleLogRecordExporter() })
]
});

Expand Down
3 changes: 2 additions & 1 deletion experimental/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@ For notes on migrating to 2.x / 0.200.x see [the upgrade guide](doc/upgrade-to-2
### :boom: Breaking Changes

* refactor(sdk-logs)!: refactor BatchLogRecordProcessor constructor signature [#6817](https://github.com/open-telemetry/opentelemetry-js/pull/6817) @trentm
* (user-facing): `BatchLogRecordProcessor` now takes a single options object will all possible properties, instead of two separate arguments. For example, before `new BatchLogRecordProcessor(exporter, { maxQueueSize: 1000 })`, after `new BatchLogRecordProcessor({ exporter, maxQueueSize: 1000 })`.
* (user-facing): `BatchLogRecordProcessor` now takes a single `options` object with all possible properties, instead of two separate arguments. For example, before `new BatchLogRecordProcessor(exporter, { maxQueueSize: 1000 })`, after `new BatchLogRecordProcessor({ exporter, maxQueueSize: 1000 })`.
* `interface BufferConfig` -> `interface BatchLogRecordProcessorOptions`, and now includes the `exporter` property
* `interface BatchLogRecordProcessorBrowserConfig` -> `interface BatchLogRecordProcessorBrowserOptions`
* (user-facing): `SimpleLogRecordProcessor` now takes a single `options` object with all possible properties. For example, before `new SimpleLogRecordProcessor(exporter)`, after `new SimpleLogRecordProcessor({ exporter })`. [#6836](https://github.com/open-telemetry/opentelemetry-js/pull/6836)

### :rocket: Features

Expand Down
4 changes: 1 addition & 3 deletions experimental/examples/logs/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);

const loggerProvider = new LoggerProvider({
processors: [
new SimpleLogRecordProcessor(
new ConsoleLogRecordExporter()
)
new SimpleLogRecordProcessor({ exporter: new ConsoleLogRecordExporter() }),
],
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,9 @@ describe('OTLPLogExporter', function () {
// arrange
const loggerProvider = new LoggerProvider({
processors: [
new SimpleLogRecordProcessor(
new OTLPLogExporter({
url: 'http://localhost:1503',
})
),
new SimpleLogRecordProcessor({
exporter: new OTLPLogExporter({ url: 'http://localhost:1503' }),
}),
],
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ describe('OTLPLogExporter', function () {
.stub(window, 'fetch')
.resolves(new Response('', { status: 200 }));
const loggerProvider = new LoggerProvider({
processors: [new SimpleLogRecordProcessor(new OTLPLogExporter())],
processors: [
new SimpleLogRecordProcessor({ exporter: new OTLPLogExporter() }),
],
});

// act
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ describe('OTLPLogExporter', () => {
});

const loggerProvider = new LoggerProvider({
processors: [new SimpleLogRecordProcessor(new OTLPLogExporter())],
processors: [
new SimpleLogRecordProcessor({ exporter: new OTLPLogExporter() }),
],
});

loggerProvider.getLogger('test-logger').emit({ body: 'test-body' });
Expand Down
2 changes: 1 addition & 1 deletion experimental/packages/exporter-logs-otlp-proto/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ const collectorOptions = {
const logExporter = new OTLPLogExporter(collectorOptions);
const logProvider = new LoggerProvider({
resource: resourceFromAttributes({'service.name': 'testApp'}),
processors: [new SimpleLogRecordProcessor(logExporter)]
processors: [new SimpleLogRecordProcessor({ exporter: logExporter })]
});

const logger = logProvider.getLogger('test_log_instrumentation');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ describe('OTLPLogExporter', function () {
.stub(window, 'fetch')
.resolves(new Response('', { status: 200 }));
const loggerProvider = new LoggerProvider({
processors: [new SimpleLogRecordProcessor(new OTLPLogExporter())],
processors: [
new SimpleLogRecordProcessor({ exporter: new OTLPLogExporter() }),
],
});

// act
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ describe('OTLPLogExporter', () => {
});

const loggerProvider = new LoggerProvider({
processors: [new SimpleLogRecordProcessor(new OTLPLogExporter())],
processors: [
new SimpleLogRecordProcessor({ exporter: new OTLPLogExporter() }),
],
});

loggerProvider.getLogger('test-logger').emit({ body: 'test-body' });
Expand Down
2 changes: 1 addition & 1 deletion experimental/packages/opentelemetry-sdk-node/src/sdk.ts
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ export class NodeSDK {
this._loggerProviderConfig = {
logRecordProcessors: exporters.map(exporter => {
if (exporter instanceof ConsoleLogRecordExporter) {
return new SimpleLogRecordProcessor(exporter);
return new SimpleLogRecordProcessor({ exporter });
} else {
return getBatchLogRecordProcessorFromEnv(exporter);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -779,7 +779,7 @@ export function createLogRecordProcessorFromConfig(
case 'simple': {
const props = properties as SimpleLogRecordProcessorConfigModel;
const exporter = createLogRecordExporterFromConfig(props.exporter);
return new SimpleLogRecordProcessor(exporter);
return new SimpleLogRecordProcessor({ exporter });
}

default:
Expand Down
26 changes: 15 additions & 11 deletions experimental/packages/opentelemetry-sdk-node/test/sdk.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -429,7 +429,9 @@ describe('NodeSDK', () => {
metricReaders: [metricReader],
traceExporter: new ConsoleSpanExporter(),
logRecordProcessors: [
new SimpleLogRecordProcessor(new InMemoryLogRecordExporter()),
new SimpleLogRecordProcessor({
exporter: new InMemoryLogRecordExporter(),
}),
],
autoDetectResources: false,
});
Expand Down Expand Up @@ -474,7 +476,9 @@ describe('NodeSDK', () => {
metricReaders: [metricReader],
traceExporter: new ConsoleSpanExporter(),
logRecordProcessors: [
new SimpleLogRecordProcessor(new InMemoryLogRecordExporter()),
new SimpleLogRecordProcessor({
exporter: new InMemoryLogRecordExporter(),
}),
],
autoDetectResources: false,
});
Expand Down Expand Up @@ -509,9 +513,9 @@ describe('NodeSDK', () => {

it('should register a logger provider if a log record processor is provided', async () => {
const logRecordExporter = new InMemoryLogRecordExporter();
const logRecordProcessor = new SimpleLogRecordProcessor(
logRecordExporter
);
const logRecordProcessor = new SimpleLogRecordProcessor({
exporter: logRecordExporter,
});
const sdk = new NodeSDK({
logRecordProcessor: logRecordProcessor,
autoDetectResources: false,
Expand All @@ -536,9 +540,9 @@ describe('NodeSDK', () => {

it('should register a logger provider if multiple log record processors are provided', async () => {
const logRecordExporter = new InMemoryLogRecordExporter();
const simpleLogRecordProcessor = new SimpleLogRecordProcessor(
logRecordExporter
);
const simpleLogRecordProcessor = new SimpleLogRecordProcessor({
exporter: logRecordExporter,
});
const batchLogRecordProcessor = new BatchLogRecordProcessor({
exporter: logRecordExporter,
});
Expand Down Expand Up @@ -1374,9 +1378,9 @@ describe('NodeSDK', () => {
process.env.OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT = '10';

const logRecordExporter = new InMemoryLogRecordExporter();
const logRecordProcessor = new SimpleLogRecordProcessor(
logRecordExporter
);
const logRecordProcessor = new SimpleLogRecordProcessor({
exporter: logRecordExporter,
});
const sdk = new NodeSDK({
logRecordProcessors: [logRecordProcessor],
autoDetectResources: false,
Expand Down
16 changes: 10 additions & 6 deletions experimental/packages/sdk-logs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@ const {
// To start a logger, you first need to initialize the Logger provider.
// and add a processor to export log record
const loggerProvider = new LoggerProvider({
processors: [new SimpleLogRecordProcessor(new ConsoleLogRecordExporter())]
processors: [
new SimpleLogRecordProcessor({
exporter: new ConsoleLogRecordExporter()
})
]
});

// To create a log record, you first need to get a Logger instance
Expand Down Expand Up @@ -85,7 +89,7 @@ const loggerProvider = new LoggerProvider({
}
}
]),
processors: [new SimpleLogRecordProcessor(exporter)]
processors: [new SimpleLogRecordProcessor({ exporter })]
});
```

Expand All @@ -109,7 +113,7 @@ const loggerProvider = new LoggerProvider({
}
}
]),
processors: [new SimpleLogRecordProcessor(exporter)]
processors: [new SimpleLogRecordProcessor({ exporter })]
});
```

Expand All @@ -135,7 +139,7 @@ const loggerProvider = new LoggerProvider({
}
}
]),
processors: [new SimpleLogRecordProcessor(exporter)]
processors: [new SimpleLogRecordProcessor({ exporter })]
});
```

Expand Down Expand Up @@ -173,10 +177,10 @@ const defaultLogger = loggerProvider.getLogger('my-service'); // WARN+
interface LoggerConfig {
/** Drop logs with severity below this level (default: UNSPECIFIED = no filtering) */
minimumSeverity?: SeverityNumber;

/** Drop logs from unsampled traces (default: false) */
traceBased?: boolean;

/** Disable this logger completely (default: false) */
disabled?: boolean;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import type { LogRecordExporter } from './LogRecordExporter';
import type { LogRecordProcessor } from '../LogRecordProcessor';
import type { SdkLogRecord } from './SdkLogRecord';
import type { Context } from '@opentelemetry/api';
import type { SimpleLogRecordProcessorOptions } from '../types';

/**
* An implementation of the {@link LogRecordProcessor} interface that exports
Expand All @@ -29,8 +30,8 @@ export class SimpleLogRecordProcessor implements LogRecordProcessor {
private _shutdownOnce: BindOnceFuture<void>;
private _unresolvedExports: Set<Promise<void>>;

constructor(exporter: LogRecordExporter) {
this._exporter = exporter;
constructor(options: SimpleLogRecordProcessorOptions) {
this._exporter = options.exporter;
this._shutdownOnce = new BindOnceFuture(this._shutdown, this);
this._unresolvedExports = new Set<Promise<void>>();
}
Expand Down
4 changes: 4 additions & 0 deletions experimental/packages/sdk-logs/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ export interface LogRecordLimits {
attributeCountLimit?: number;
}

export interface SimpleLogRecordProcessorOptions {
exporter: LogRecordExporter;
}

export interface BatchLogRecordProcessorOptions {
exporter: LogRecordExporter;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ function setupLoggerProvider(
const logExporter = new InMemoryLogRecordExporter();
const logProcessor = isNoop
? new NoopLogRecordProcessor()
: new SimpleLogRecordProcessor(logExporter);
: new SimpleLogRecordProcessor({ exporter: logExporter });
const loggerProvider = new LoggerProvider({
processors: [logProcessor],
loggerConfigurator: patterns && createLoggerConfigurator(patterns),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -543,9 +543,9 @@ describe('LoggerProvider', () => {
});

const logRecordExporter = new InMemoryLogRecordExporter();
const logRecordProcessor = new SimpleLogRecordProcessor(
logRecordExporter
);
const logRecordProcessor = new SimpleLogRecordProcessor({
exporter: logRecordExporter,
});
const provider = new LoggerProvider({
processors: [logRecordProcessor],
meterProvider,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,12 +122,12 @@ describe('MultiLogRecordProcessor', () => {

it('should wait for all log record processors to finish flushing', done => {
let flushed = 0;
const processor1 = new SimpleLogRecordProcessor(
new InMemoryLogRecordExporter()
);
const processor2 = new SimpleLogRecordProcessor(
new InMemoryLogRecordExporter()
);
const processor1 = new SimpleLogRecordProcessor({
exporter: new InMemoryLogRecordExporter(),
});
const processor2 = new SimpleLogRecordProcessor({
exporter: new InMemoryLogRecordExporter(),
});

const spy1 = sinon.stub(processor1, 'forceFlush').callsFake(() => {
flushed++;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ describe('ConsoleLogRecordExporter', () => {
const spyConsole = sinon.spy(console, 'dir');
const spyExport = sinon.spy(consoleExporter, 'export');
const provider = new LoggerProvider({
processors: [new SimpleLogRecordProcessor(consoleExporter)],
processors: [
new SimpleLogRecordProcessor({ exporter: consoleExporter }),
],
});

provider
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import {
const setup = () => {
const memoryExporter = new InMemoryLogRecordExporter();
const provider = new LoggerProvider({
processors: [new SimpleLogRecordProcessor(memoryExporter)],
processors: [new SimpleLogRecordProcessor({ exporter: memoryExporter })],
});
return { provider, memoryExporter };
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ const setup = (exporter: LogRecordExporter, resource?: Resource) => {
body: 'body',
}
);
const processor = new SimpleLogRecordProcessor(exporter);
const processor = new SimpleLogRecordProcessor({ exporter });
return { exporter, processor, logRecord };
};

Expand Down Expand Up @@ -142,7 +142,9 @@ describe('SimpleLogRecordProcessor', () => {
setTimeout(() => resolve('fromasync'), 1)
),
});
const processor = new SimpleLogRecordProcessor(testExporterWithDelay);
const processor = new SimpleLogRecordProcessor({
exporter: testExporterWithDelay,
});
const { logRecord } = setup(testExporterWithDelay, asyncResource);

processor.onEmit(logRecord);
Expand Down
Loading
Loading