@bullhorn/bh-observability
v0.2.0
Published
Open Telemetry Utilities for usage with Bullhorn applications.
Readme
BH Observability
Configurable writable stream that formats bunyan records that are piped into it.
Includes formats optimized for Papertrail's JSON log support. Console logs can also be conditionally turned off for otel integrations.
Prerequisites
This project requires NodeJS (version 16 or later) and NPM. Node and NPM are really easy to install. To make sure you have them available on your machine, try running the following command.
$ npm -v && node -v
8.5.5
v16.15.0Installation
To install and set up the library, run:
$ npm install @bullhorn/bh-observabilityOr if you prefer using Yarn:
$ yarn add @bullhorn/bh-observabilityUsage
const bunyan = require('bunyan');
const { configurableStream } = require('@bullhorn/bh-observability');
const configStream = configurableStream({outputMode: loggerMode || 'short'});
const log = bunyan.createLogger({ name: 'app', stream: configStream, level: 'debug' } );
log.info('starting up');
log.debug({ temperature: 80, status: { started: 'yes', overheated: 'no' } }, 'things are heating up');
log.warn({ temperature: 120 }, 'getting a bit hot');
log.error(new Error('temperature: 200'), 'OOOOHHH it burns!');
log.fatal('I died! Do you know what that means???');Configuration Options
| Environment Variable | Description | Example |
|-----------------------------|---------------------------------------------------------------------------|--------------------------------------------------|
| DISABLE_CONSOLE_LOGS | Disable console output. Otel integrations will still capture logs | false |
| OTEL_SIMPLE_PROCESSOR | Use simple processor for immediate export instead of delayed batch export | true |
| OTEL_EXPORTER_OTLP_ENDPOINT | OTLP endpoint | http://localhost:4317 |
| OTEL_LOGS_EXPORTER | Log Exporter Type | otlp |
| OTEL_METRICS_EXPORTER | Metrics Exporter Type | otlp |
| OTEL_TRACES_EXPORTER | Traces exporter Type | otlp |
| OTEL_RESOURCE_ATTRIBUTES | System wide attributes to apply | service.group=some_group,service.environment=las |
| OTEL_SERVICE_NAME | Application/Chart name | my-application |
Contributing
All commits are published to the private bullhorn artifactory registry. One can test these package versions by installing with:
npm install --registry https://bosnexus.bullhorn.com/repository/bh-npmSee gitlab build pipeline for more information about builds.
Versioning
Any release tags that match SemVer versioning should be automatically published to the public npm registry.
License
MIT License © Andrea SonnY
