Skip to content

Latest commit

 

History

History

sdk-events

OpenTelemetry Events SDK

NPM Published VersionApache License

Note: This is an experimental package under active development. New releases may include breaking changes.

This package provides an experimental Events SDK implementation. The Events SDK is implemented on top of the Logs SDK.

Installation

npm install --save @opentelemetry/api-logs npm install --save @opentelemetry/api-events npm install --save @opentelemetry/sdk-events

Usage

Here is an example of configuring and using the Events SDK:

const{ logs }=require('@opentelemetry/api-logs');const{ events }=require('@opentelemetry/api-events');const{ EventLoggerProvider }=require('@opentelemetry/sdk-events');const{ LoggerProvider, SimpleLogRecordProcessor, ConsoleLogRecordExporter,}=require('@opentelemetry/sdk-logs');// The Events SDK has a dependency on the Logs SDK.// Any processing of events (e.g. export) is done through the Logs SDK.constloggerProvider=newLoggerProvider();loggerProvider.addLogRecordProcessor(newSimpleLogRecordProcessor(newConsoleLogRecordExporter()));// Register a global EventLoggerProvider.// This would be used by instrumentations, similar to how the global TracerProvider,// LoggerProvider and MeterProvider work.consteventLoggerProvider=newEventLoggerProvider(loggerProvider);events.setGlobalEventLoggerProvider(eventLoggerProvider);// Get an EventLogger from the global EventLoggerProviderconsteventLogger=events.getEventLogger('default');// Emit an eventeventLogger.emit({name: 'my-domain.my-event',data: {field1: 'abc',field2: 123}});// Shutdown is done directly on the LoggerProviderloggerProvider.shutdown();

Example

See examples/events

Useful links

License

Apache 2.0 - See LICENSE for more information.

close