Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
hectorhdzg committed Feb 6, 2024
1 parent 7399017 commit 03b8ce7
Show file tree
Hide file tree
Showing 19 changed files with 60 additions and 41 deletions.
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"detectors/node/opentelemetry-resource-detector-alibaba-cloud":"0.28.6","detectors/node/opentelemetry-resource-detector-aws":"1.3.6","detectors/node/opentelemetry-resource-detector-azure":"0.2.4","detectors/node/opentelemetry-resource-detector-container":"0.3.6","detectors/node/opentelemetry-resource-detector-gcp":"0.29.6","detectors/node/opentelemetry-resource-detector-github":"0.28.1","detectors/node/opentelemetry-resource-detector-instana":"0.6.0","metapackages/auto-instrumentations-node":"0.41.1","metapackages/auto-instrumentations-web":"0.36.0","packages/opentelemetry-host-metrics":"0.35.0","packages/opentelemetry-id-generator-aws-xray":"1.2.1","packages/opentelemetry-propagation-utils":"0.30.6","packages/opentelemetry-redis-common":"0.36.1","packages/opentelemetry-sql-common":"0.40.0","packages/opentelemetry-test-utils":"0.36.0","plugins/node/instrumentation-amqplib":"0.34.0","plugins/node/instrumentation-cucumber":"0.3.0","plugins/node/instrumentation-dataloader":"0.6.0","plugins/node/instrumentation-fs":"0.9.0","plugins/node/instrumentation-lru-memoizer":"0.34.0","plugins/node/instrumentation-mongoose":"0.35.0","plugins/node/instrumentation-socket.io":"0.36.0","plugins/node/instrumentation-tedious":"0.7.0","plugins/node/opentelemetry-instrumentation-aws-lambda":"0.38.0","plugins/node/opentelemetry-instrumentation-aws-sdk":"0.38.1","plugins/node/opentelemetry-instrumentation-bunyan":"0.35.0","plugins/node/opentelemetry-instrumentation-cassandra":"0.35.0","plugins/node/opentelemetry-instrumentation-connect":"0.33.0","plugins/node/opentelemetry-instrumentation-dns":"0.33.0","plugins/node/opentelemetry-instrumentation-express":"0.35.0","plugins/node/opentelemetry-instrumentation-fastify":"0.33.0","plugins/node/opentelemetry-instrumentation-generic-pool":"0.33.0","plugins/node/opentelemetry-instrumentation-graphql":"0.37.0","plugins/node/opentelemetry-instrumentation-hapi":"0.34.0","plugins/node/opentelemetry-instrumentation-ioredis":"0.37.0","plugins/node/opentelemetry-instrumentation-knex":"0.33.0","plugins/node/opentelemetry-instrumentation-koa":"0.37.0","plugins/node/opentelemetry-instrumentation-memcached":"0.33.0","plugins/node/opentelemetry-instrumentation-mongodb":"0.39.0","plugins/node/opentelemetry-instrumentation-mysql":"0.35.0","plugins/node/opentelemetry-instrumentation-mysql2":"0.35.0","plugins/node/opentelemetry-instrumentation-nestjs-core":"0.34.0","plugins/node/opentelemetry-instrumentation-net":"0.33.0","plugins/node/opentelemetry-instrumentation-pg":"0.38.0","plugins/node/opentelemetry-instrumentation-pino":"0.35.0","plugins/node/opentelemetry-instrumentation-redis":"0.36.0","plugins/node/opentelemetry-instrumentation-redis-4":"0.36.0","plugins/node/opentelemetry-instrumentation-restify":"0.35.0","plugins/node/opentelemetry-instrumentation-router":"0.34.0","plugins/node/opentelemetry-instrumentation-winston":"0.34.0","plugins/web/opentelemetry-instrumentation-document-load":"0.35.0","plugins/web/opentelemetry-instrumentation-long-task":"0.35.0","plugins/web/opentelemetry-instrumentation-user-interaction":"0.35.0","plugins/web/opentelemetry-plugin-react-load":"0.30.0","propagators/opentelemetry-propagator-aws-xray":"1.3.1","propagators/opentelemetry-propagator-grpc-census-binary":"0.27.1","propagators/opentelemetry-propagator-instana":"0.3.1","propagators/opentelemetry-propagator-ot-trace":"0.27.1"}
{"detectors/node/opentelemetry-resource-detector-alibaba-cloud":"0.28.6","detectors/node/opentelemetry-resource-detector-aws":"1.3.6","detectors/node/opentelemetry-resource-detector-azure":"0.2.4","detectors/node/opentelemetry-resource-detector-container":"0.3.6","detectors/node/opentelemetry-resource-detector-gcp":"0.29.6","detectors/node/opentelemetry-resource-detector-github":"0.28.1","detectors/node/opentelemetry-resource-detector-instana":"0.6.0","metapackages/auto-instrumentations-node":"0.41.1","metapackages/auto-instrumentations-web":"0.36.0","packages/opentelemetry-host-metrics":"0.35.0","packages/opentelemetry-id-generator-aws-xray":"1.2.1","packages/opentelemetry-propagation-utils":"0.30.6","packages/opentelemetry-redis-common":"0.36.1","packages/opentelemetry-sql-common":"0.40.0","packages/opentelemetry-test-utils":"0.36.0","plugins/node/instrumentation-amqplib":"0.34.0","plugins/node/instrumentation-cucumber":"0.3.0","plugins/node/instrumentation-dataloader":"0.6.0","plugins/node/instrumentation-fs":"0.9.0","plugins/node/instrumentation-lru-memoizer":"0.34.0","plugins/node/instrumentation-mongoose":"0.35.0","plugins/node/instrumentation-socket.io":"0.36.0","plugins/node/instrumentation-tedious":"0.7.0","plugins/node/opentelemetry-instrumentation-aws-lambda":"0.38.0","plugins/node/opentelemetry-instrumentation-aws-sdk":"0.38.1","plugins/node/opentelemetry-instrumentation-bunyan":"0.35.0","plugins/node/opentelemetry-instrumentation-cassandra":"0.35.0","plugins/node/opentelemetry-instrumentation-connect":"0.33.0","plugins/node/opentelemetry-instrumentation-dns":"0.33.0","plugins/node/opentelemetry-instrumentation-express":"0.35.0","plugins/node/opentelemetry-instrumentation-fastify":"0.33.0","plugins/node/opentelemetry-instrumentation-generic-pool":"0.33.0","plugins/node/opentelemetry-instrumentation-graphql":"0.37.0","plugins/node/opentelemetry-instrumentation-hapi":"0.34.0","plugins/node/opentelemetry-instrumentation-ioredis":"0.37.0","plugins/node/opentelemetry-instrumentation-knex":"0.33.0","plugins/node/opentelemetry-instrumentation-koa":"0.37.0","plugins/node/opentelemetry-instrumentation-memcached":"0.33.0","plugins/node/opentelemetry-instrumentation-mongodb":"0.39.0","plugins/node/opentelemetry-instrumentation-mysql":"0.35.0","plugins/node/opentelemetry-instrumentation-mysql2":"0.35.0","plugins/node/opentelemetry-instrumentation-nestjs-core":"0.34.0","plugins/node/opentelemetry-instrumentation-net":"0.33.0","plugins/node/opentelemetry-instrumentation-pg":"0.38.0","plugins/node/opentelemetry-instrumentation-pino":"0.35.0","plugins/node/opentelemetry-instrumentation-redis":"0.36.0","plugins/node/opentelemetry-instrumentation-redis-4":"0.36.0","plugins/node/opentelemetry-instrumentation-restify":"0.35.0","plugins/node/opentelemetry-instrumentation-router":"0.34.0","plugins/node/opentelemetry-instrumentation-winston":"0.34.0","plugins/node/opentelemetry-winston-transport": "0.0.1","plugins/web/opentelemetry-instrumentation-document-load":"0.35.0","plugins/web/opentelemetry-instrumentation-long-task":"0.35.0","plugins/web/opentelemetry-instrumentation-user-interaction":"0.35.0","plugins/web/opentelemetry-plugin-react-load":"0.30.0","propagators/opentelemetry-propagator-aws-xray":"1.3.1","propagators/opentelemetry-propagator-grpc-census-binary":"0.27.1","propagators/opentelemetry-propagator-instana":"0.3.1","propagators/opentelemetry-propagator-ot-trace":"0.27.1"}
33 changes: 29 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ module.exports = {
"mocha": true,
"node": true
},
...require('../../../eslint.config.js'),
...require('../../eslint.config.js')
}
File renamed without changes.
Empty file.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ npm install --save @opentelemetry/winston-transport
## Usage

This package exports the Winston transport class that is used to send records to the
OpenTelemetry Logs SDK. It can be used directly when configuring a Winston logger
OpenTelemetry Logs SDK. It can be used directly when configuring a Winston logger. If using
[`@opentelemetry/instrumenation-winston`](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-winston)
package there is no need to instantiate the transport as the instrumentation will take care of that.
For example:

```js
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"precompile": "tsc --version && lerna run version:update --scope @opentelemetry/winston-transport --include-dependencies",
"prewatch": "npm run precompile",
"prepublishOnly": "npm run compile",
"version:update": "node ../../../scripts/version-update.js",
"version:update": "node ../../scripts/version-update.js",
"compile": "tsc -p ."
},
"keywords": [
Expand Down Expand Up @@ -55,5 +55,5 @@
"@opentelemetry/api-logs": "^0.48.0",
"winston-transport" : "4.*"
},
"homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-winston-transport#readme"
"homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/winston-transport#readme"
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import * as Transport from 'winston-transport';
import { VERSION } from './version';
import { emitLogRecord } from './utils';

export class OpenTelemetryTransport extends Transport {
export class OpenTelemetryTransportV3 extends Transport {
private _logger: Logger;

constructor(options?: Transport.TransportStreamOptions) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@
* limitations under the License.
*/

export { OpenTelemetryTransport } from './OpenTelemetryTransport';
export { OpenTelemetryTransportV3 } from './OpenTelemetryTransportV3';
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {
} from '@opentelemetry/sdk-logs';
import * as assert from 'assert';
import * as sinon from 'sinon';
import { OpenTelemetryTransport } from '../src';
import { OpenTelemetryTransportV3 } from '../src';

const loggerProvider = new LoggerProvider();
const memoryLogExporter = new InMemoryLogRecordExporter();
Expand All @@ -39,7 +39,7 @@ describe('OpenTelemetryTransport', () => {
});

it('emit LogRecord', () => {
const transport = new OpenTelemetryTransport();
const transport = new OpenTelemetryTransportV3();
const writeSpy = sinon.spy(transport, 'emit');
transport.log({ message: kMessage }, () => {});
setImmediate(() => {
Expand All @@ -51,7 +51,7 @@ describe('OpenTelemetryTransport', () => {
});

it('emit LogRecord with extra attibutes', () => {
const transport = new OpenTelemetryTransport();
const transport = new OpenTelemetryTransportV3();
const extraAttributes = {
extraAttribute1: 'attributeValue1',
extraAttribute2: 'attributeValue2',
Expand All @@ -73,7 +73,7 @@ describe('OpenTelemetryTransport', () => {
describe('emit logRecord severity', () => {
it('npm levels', () => {
const callback = () => {};
const transport = new OpenTelemetryTransport();
const transport = new OpenTelemetryTransportV3();
transport.log({ message: kMessage, level: 'error' }, callback);
transport.log({ message: kMessage, level: 'warn' }, callback);
transport.log({ message: kMessage, level: 'info' }, callback);
Expand All @@ -94,7 +94,7 @@ describe('OpenTelemetryTransport', () => {

it('cli levels', () => {
const callback = () => {};
const transport = new OpenTelemetryTransport();
const transport = new OpenTelemetryTransportV3();
transport.log({ message: kMessage, level: 'error' }, callback);
transport.log({ message: kMessage, level: 'warn' }, callback);
transport.log({ message: kMessage, level: 'help' }, callback);
Expand All @@ -121,7 +121,7 @@ describe('OpenTelemetryTransport', () => {

it('syslog levels', () => {
const callback = () => {};
const transport = new OpenTelemetryTransport();
const transport = new OpenTelemetryTransportV3();
transport.log({ message: kMessage, level: 'emerg' }, callback);
transport.log({ message: kMessage, level: 'alert' }, callback);
transport.log({ message: kMessage, level: 'crit' }, callback);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "../../../tsconfig.base",
"extends": "../../tsconfig.base",
"compilerOptions": {
"rootDir": ".",
"outDir": "build"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ import type {
} from './internal-types';
import { VERSION } from './version';


const winston3Versions = ['>=3 <4'];
const winstonPre3Versions = ['>=1 <3'];

Expand All @@ -53,7 +52,7 @@ export class WinstonInstrumentation extends InstrumentationBase {
'winston',
winston3Versions,
moduleExports => moduleExports,
() => { },
() => {},
[
new InstrumentationNodeModuleFile<Winston3Logger>(
'winston/lib/winston/logger.js',
Expand Down Expand Up @@ -92,7 +91,7 @@ export class WinstonInstrumentation extends InstrumentationBase {
'winston',
winstonPre3Versions,
moduleExports => moduleExports,
() => { },
() => {},
[
new InstrumentationNodeModuleFile<Winston2LoggerModule>(
'winston/lib/winston/logger.js',
Expand Down Expand Up @@ -222,26 +221,29 @@ export class WinstonInstrumentation extends InstrumentationBase {
this: never,
...args: Parameters<typeof original>
) {

const config = instrumentation.getConfig();
if (!config.disableLogSending) {
if (args && args.length > 0) {
// Try to load Winston transport
try {
const { OpenTelemetryTransport } = require("@opentelemetry/winston-transport");
const {
OpenTelemetryTransportV3,
} = require('@opentelemetry/winston-transport');
const originalTransports = args[0].transports;
let newTransports = Array.isArray(originalTransports)
? originalTransports
: [];
const openTelemetryTransport = new OpenTelemetryTransport();
const openTelemetryTransport = new OpenTelemetryTransportV3();
if (originalTransports && !Array.isArray(originalTransports)) {
newTransports = [originalTransports];
}
newTransports.push(openTelemetryTransport);
args[0].transports = newTransports;
}
catch (err) {
instrumentation._diag.error('OpenTelemetry Winston transport is not available', err);
} catch (err) {
instrumentation._diag.error(
'OpenTelemetry Winston transport is not available',
err
);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,14 @@
* limitations under the License.
*/

import type {
Logger as Winston3Logger,
LoggerOptions as Winstons3LoggerOptions,
} from 'winston';
import type { Logger as Winston3Logger } from 'winston';
import type {
LoggerInstance as Winston2Logger,
LogMethod as Winston2LogMethod,
} from 'winston2';
export type Winston3LogMethod = Winston3Logger['write'];
export type Winston3ConfigureMethod = Winston3Logger['configure'];
export type { Winston3Logger, Winstons3LoggerOptions };
export type { Winston3Logger };

export type { Winston2LogMethod };
export type Winston2LoggerModule = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ describe('WinstonInstrumentation', () => {
npm,
syslog,
cli,
};
}

function initLogger(levelsType?: LevelsType) {
const winston = require('winston');
Expand Down
7 changes: 0 additions & 7 deletions plugins/node/opentelemetry-winston-transport/CHANGELOG.md

This file was deleted.

2 changes: 1 addition & 1 deletion release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"packages/opentelemetry-redis-common": {},
"packages/opentelemetry-sql-common": {},
"packages/opentelemetry-test-utils": {},
"packages/winston-transport": {},
"plugins/node/instrumentation-amqplib": {},
"plugins/node/instrumentation-cucumber": {},
"plugins/node/instrumentation-dataloader": {},
Expand Down Expand Up @@ -56,7 +57,6 @@
"plugins/node/opentelemetry-instrumentation-restify": {},
"plugins/node/opentelemetry-instrumentation-router": {},
"plugins/node/opentelemetry-instrumentation-winston": {},
"plugins/node/opentelemetry-winston-transport": {},
"plugins/web/opentelemetry-instrumentation-document-load": {},
"plugins/web/opentelemetry-instrumentation-long-task": {},
"plugins/web/opentelemetry-instrumentation-user-interaction": {},
Expand Down

0 comments on commit 03b8ce7

Please sign in to comment.