Skip to content

Commit

Permalink
Plugins refactoring - new instrumentation package for plugins (open-t…
Browse files Browse the repository at this point in the history
…elemetry#1540)

* feat: add a new plugin base decoupled from the sdk

* chore: web and node version that supports patching more files

* chore: updating readme

* chore: lint

* chore: missing noop logger

* chore: linting

* chore: updating readme with info about many modules

* chore: supporting calling enable and disable multiple times for node plugins

* chore: simplifying readme example

* chore: reviews

* chore: moving interface Instrumentation to package instrumentation

* chore: adding function for safe executing in plugins

* chore: fixing typo

Co-authored-by: Daniel Dyla <[email protected]>
  • Loading branch information
obecny and dyladan committed Feb 18, 2021
1 parent 5704af3 commit 90fad8d
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
1 change: 1 addition & 0 deletions api/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export * from './trace/Event';
export * from './trace/instrumentation/Plugin';
export * from './trace/link_context';
export * from './trace/link';
export * from './trace/NoopLogger';
export * from './trace/NoopSpan';
export * from './trace/NoopTracer';
export * from './trace/NoopTracerProvider';
Expand Down
32 changes: 32 additions & 0 deletions api/src/trace/NoopLogger.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Copyright The OpenTelemetry Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

import { Logger } from '../common/Logger';

/** No-op implementation of Logger */
export class NoopLogger implements Logger {
// By default does nothing
debug(message: string, ...args: unknown[]) {}

// By default does nothing
error(message: string, ...args: unknown[]) {}

// By default does nothing
warn(message: string, ...args: unknown[]) {}

// By default does nothing
info(message: string, ...args: unknown[]) {}
}

0 comments on commit 90fad8d

Please sign in to comment.