@ms-cloudpack/telemetry 0.9.5 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,10 @@
1
- import { type Tracer } from '@opentelemetry/api';
2
1
  import type { TelemetryOptions } from './types/TelemetryOptions.js';
3
2
  import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
4
3
  import type { TelemetryClient } from './types/TelemetryClient.js';
4
+ import { type AsyncTracer } from './proxies/createProxiedTracer.js';
5
5
  export declare class BaseTelemetryClient implements TelemetryClient {
6
6
  protected readonly _tracerProvider: NodeTracerProvider;
7
+ private _tracer;
7
8
  constructor(options: TelemetryOptions);
8
9
  /**
9
10
  * Flushes all telemetry and shuts down the telemetry client.
@@ -13,6 +14,6 @@ export declare class BaseTelemetryClient implements TelemetryClient {
13
14
  * Gets the OpenTelemetry tracer.
14
15
  * @returns the OpenTelemetry tracer
15
16
  */
16
- get tracer(): Tracer;
17
+ get tracer(): AsyncTracer;
17
18
  }
18
19
  //# sourceMappingURL=BaseTelemetryClient.d.ts.map
package/lib/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export type { Span, Tracer } from '@opentelemetry/api';
1
+ export type { Span } from '@opentelemetry/api';
2
2
  export { createTelemetryClient } from './createTelemetryClient.js';
3
3
  export type { LogLevel } from './types/LogLevel.js';
4
4
  export type { TelemetryClient } from './types/TelemetryClient.js';
5
5
  export type { TelemetryOptions } from './types/TelemetryOptions.js';
6
6
  export { createNoOpTelemetryClient } from './createNoOpTelemetryClient.js';
7
+ export type { AsyncTracer } from './proxies/createProxiedTracer.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
1
  import type { Tracer, Span, SpanOptions, Context } from '@opentelemetry/api';
2
- export type SpanFunction<T> = (span: Span) => T;
3
- export declare function createImprovedStartActiveSpan(target: Tracer): <T>(name: string, optionsOrFn?: SpanOptions | SpanFunction<unknown> | undefined, contextOrFn?: Context | SpanFunction<unknown> | undefined, maybeFn?: SpanFunction<unknown> | undefined) => T;
2
+ export type SpanFunction<T> = (span: Span) => T | Promise<T>;
3
+ export declare function createImprovedStartActiveSpan(target: Tracer): <T>(name: string, optionsOrFn?: SpanOptions | SpanFunction<unknown> | undefined, contextOrFn?: Context | SpanFunction<unknown> | undefined, maybeFn?: SpanFunction<unknown> | undefined) => Promise<T>;
4
4
  //# sourceMappingURL=createImprovedStartActiveSpan.d.ts.map
@@ -1,4 +1,9 @@
1
- import type { Tracer } from '@opentelemetry/api';
1
+ import type { Context, Span, SpanOptions, Tracer } from '@opentelemetry/api';
2
+ export type AsyncTracer = Omit<Tracer, 'startActiveSpan'> & {
3
+ startActiveSpan<F extends (span: Span) => unknown>(name: string, fn: F): Promise<Awaited<ReturnType<F>>>;
4
+ startActiveSpan<F extends (span: Span) => unknown>(name: string, options: SpanOptions, fn: F): Promise<Awaited<ReturnType<F>>>;
5
+ startActiveSpan<F extends (span: Span) => unknown>(name: string, options: SpanOptions, context: Context, fn: F): Promise<Awaited<ReturnType<F>>>;
6
+ };
2
7
  /**
3
8
  * Creates a proxied tracer that will automatically do the following things;
4
9
  * - End the span when the function ends
@@ -6,5 +11,5 @@ import type { Tracer } from '@opentelemetry/api';
6
11
  * @param tracer - The tracer to proxy
7
12
  * @returns - Proxied tracer
8
13
  */
9
- export declare function createProxiedTracer(tracer: Tracer): Tracer;
14
+ export declare function createProxiedTracer(tracer: Tracer): AsyncTracer;
10
15
  //# sourceMappingURL=createProxiedTracer.d.ts.map
@@ -5,5 +5,5 @@ import type { SpanFunction } from './createImprovedStartActiveSpan.js';
5
5
  * @param fn - The span function to wrap
6
6
  * @returns - Wrapped span function
7
7
  */
8
- export declare function createSpanFunctionWrapper<T>(fn: SpanFunction<T>): (span: Span) => T;
8
+ export declare function createSpanFunctionWrapper<T>(fn: SpanFunction<T>): (span: Span) => Promise<T>;
9
9
  //# sourceMappingURL=createSpanFunctionWrapper.d.ts.map
@@ -1,2 +1,3 @@
1
- export type LogLevel = 'NONE' | 'ERROR' | 'WARN' | 'INFO' | 'DEBUG' | 'VERBOSE' | 'ALL';
1
+ import type { DiagLogLevel } from '@opentelemetry/api';
2
+ export type LogLevel = keyof typeof DiagLogLevel;
2
3
  //# sourceMappingURL=LogLevel.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { Tracer } from '@opentelemetry/api';
1
+ import type { AsyncTracer } from '../proxies/createProxiedTracer.js';
2
2
  export interface TelemetryClient {
3
3
  /**
4
4
  * Flushes all telemetry and shuts down the telemetry client.
@@ -8,6 +8,6 @@ export interface TelemetryClient {
8
8
  * Gets the OpenTelemetry tracer.
9
9
  * @returns the OpenTelemetry tracer
10
10
  */
11
- get tracer(): Tracer;
11
+ get tracer(): AsyncTracer;
12
12
  }
13
13
  //# sourceMappingURL=TelemetryClient.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/telemetry",
3
- "version": "0.9.5",
3
+ "version": "0.10.0",
4
4
  "description": "Helpers for reporting telemetry in Cloudpack.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -10,13 +10,13 @@
10
10
  ".": {
11
11
  "source": "./src/index.ts",
12
12
  "types": "./lib/index.d.ts",
13
- "import": "./dist/index.js"
13
+ "import": "./lib/index.js"
14
14
  }
15
15
  },
16
16
  "devDependencies": {
17
17
  "@azure/monitor-opentelemetry-exporter": "1.0.0-beta.26",
18
18
  "@ms-cloudpack/eslint-plugin-internal": "^0.0.1",
19
- "@ms-cloudpack/package-utilities": "^10.4.0",
19
+ "@ms-cloudpack/package-utilities": "^10.4.1",
20
20
  "@ms-cloudpack/scripts": "^0.0.1",
21
21
  "@opentelemetry/api": "~1.9.0",
22
22
  "@opentelemetry/core": "~1.26.0",
@@ -30,7 +30,7 @@
30
30
  "scripts": {
31
31
  "api": "cloudpack-scripts api",
32
32
  "build:watch": "cloudpack-scripts build-watch",
33
- "build": "cloudpack-scripts build && cloudpack-scripts bundle-node",
33
+ "build": "cloudpack-scripts build",
34
34
  "lint:update": "cloudpack-scripts lint-update",
35
35
  "lint": "cloudpack-scripts lint",
36
36
  "test:update": "cloudpack-scripts test-update",