diff options
Diffstat (limited to 'u/trace/trace.ts')
-rw-r--r-- | u/trace/trace.ts | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/u/trace/trace.ts b/u/trace/trace.ts index acc116f..e316ca8 100644 --- a/u/trace/trace.ts +++ b/u/trace/trace.ts @@ -10,7 +10,7 @@ import { type MetricsTraceSupplier, type MetricValue, TraceableImpl, -} from '@emprespresso/pengueno'; +} from './index.js'; export class LogTraceable<T> extends TraceableImpl<T, LogTraceSupplier> { public static LogTrace = new LogTrace(); @@ -19,8 +19,10 @@ export class LogTraceable<T> extends TraceableImpl<T, LogTraceSupplier> { } } -const getEmbeddedMetricConsumer = (logTrace: ITrace<LogTraceSupplier>) => (metrics: Array<MetricValue>) => - logTrace.addTrace(LogLevel.SYS).trace(`Metrics = <metrics>${JSON.stringify(metrics)}</metrics>`); +const getEmbeddedMetricConsumer = (logTrace: ITrace<LogTraceSupplier>) => (metrics: Array<MetricValue>) => { + if (metrics.length === 0) return; + logTrace.traceScope(LogLevel.SYS).trace(`Metrics = <metrics>${JSON.stringify(metrics)}</metrics>`); +}; export class EmbeddedMetricsTraceable<T> extends TraceableImpl<T, MetricsTraceSupplier> { public static MetricsTrace = new MetricsTrace(getEmbeddedMetricConsumer(LogTraceable.LogTrace)); @@ -37,12 +39,12 @@ export class LogMetricTrace implements ITrace<LogMetricTraceSupplier> { private metricsTrace: ITrace<MetricsTraceSupplier>, ) {} - public addTrace(trace: LogTraceSupplier | MetricsTraceSupplier): LogMetricTrace { + public traceScope(trace: LogTraceSupplier | MetricsTraceSupplier): LogMetricTrace { if (isMetricsTraceSupplier(trace)) { - this.metricsTrace = this.metricsTrace.addTrace(trace); + this.metricsTrace = this.metricsTrace.traceScope(trace); return this; } - this.logTrace = this.logTrace.addTrace(trace); + this.logTrace = this.logTrace.traceScope(trace); return this; } |