summaryrefslogtreecommitdiff
path: root/u/trace
diff options
context:
space:
mode:
authorElizabeth <lizhunt@amazon.com>2025-05-28 15:05:38 -0700
committerElizabeth <lizhunt@amazon.com>2025-05-28 15:05:38 -0700
commit3005cc83e605fb89b079cf0e6fd0ec95cd27b30e (patch)
tree992c5933f2ec4a75e32469ddd772c61dbcb2e2fd /u/trace
parente3cf820b07e282221502cf2f116c9780b7375e0e (diff)
downloadci-3005cc83e605fb89b079cf0e6fd0ec95cd27b30e.tar.gz
ci-3005cc83e605fb89b079cf0e6fd0ec95cd27b30e.zip
Run prettier, add zed settings
Diffstat (limited to 'u/trace')
-rw-r--r--u/trace/itrace.ts27
-rw-r--r--u/trace/logger.ts15
-rw-r--r--u/trace/metrics.ts26
-rw-r--r--u/trace/trace.ts23
-rw-r--r--u/trace/util.ts30
5 files changed, 44 insertions, 77 deletions
diff --git a/u/trace/itrace.ts b/u/trace/itrace.ts
index e6189d3..ed707c5 100644
--- a/u/trace/itrace.ts
+++ b/u/trace/itrace.ts
@@ -9,12 +9,7 @@ export interface ITrace<TraceWith> {
}
export type ITraceableTuple<T, TraceWith> = [T, BaseTraceWith | TraceWith];
-export type ITraceableMapper<
- T,
- U,
- TraceWith,
- W = ITraceable<T, TraceWith>,
-> = (
+export type ITraceableMapper<T, U, TraceWith, W = ITraceable<T, TraceWith>> = (
w: W,
) => U;
@@ -22,9 +17,7 @@ export interface ITraceable<T, Trace = BaseTraceWith> {
readonly trace: ITrace<Trace>;
get: Supplier<T>;
move: <U>(u: U) => ITraceable<U, Trace>;
- map: <U>(
- mapper: ITraceableMapper<T, U, Trace>,
- ) => ITraceable<U, Trace>;
+ map: <U>(mapper: ITraceableMapper<T, U, Trace>) => ITraceable<U, Trace>;
bimap: <U>(
mapper: ITraceableMapper<
T,
@@ -47,29 +40,19 @@ export class TraceableImpl<T, TraceWith> implements ITraceable<T, TraceWith> {
public readonly trace: ITrace<TraceWith>,
) {}
- public map<U>(
- mapper: ITraceableMapper<T, U, TraceWith>,
- ) {
+ public map<U>(mapper: ITraceableMapper<T, U, TraceWith>) {
const result = mapper(this);
return new TraceableImpl(result, this.trace);
}
public flatMap<U>(
- mapper: ITraceableMapper<
- T,
- ITraceable<U, TraceWith>,
- TraceWith
- >,
+ mapper: ITraceableMapper<T, ITraceable<U, TraceWith>, TraceWith>,
): ITraceable<U, TraceWith> {
return mapper(this);
}
public flatMapAsync<U>(
- mapper: ITraceableMapper<
- T,
- Promise<ITraceable<U, TraceWith>>,
- TraceWith
- >,
+ mapper: ITraceableMapper<T, Promise<ITraceable<U, TraceWith>>, TraceWith>,
): ITraceable<Promise<U>, TraceWith> {
return new TraceableImpl(
mapper(this).then((t) => t.get()),
diff --git a/u/trace/logger.ts b/u/trace/logger.ts
index a5739c8..5890545 100644
--- a/u/trace/logger.ts
+++ b/u/trace/logger.ts
@@ -26,7 +26,7 @@ const logLevelOrder: Array<LogLevel> = [
LogLevel.ERROR,
];
export const isLogLevel = (l: string): l is LogLevel =>
- logLevelOrder.some((level) => <string> level === l);
+ logLevelOrder.some((level) => <string>level === l);
const defaultAllowedLevels = () =>
[
@@ -62,11 +62,11 @@ export class LogTrace implements ITrace<LogTraceSupplier> {
constructor(
private readonly logger: ILogger = LoggerImpl,
private readonly traces: Array<LogTraceSupplier> = [defaultTrace],
- private readonly allowedLevels: Supplier<Array<LogLevel>> =
- defaultAllowedLevels,
+ private readonly allowedLevels: Supplier<
+ Array<LogLevel>
+ > = defaultAllowedLevels,
private readonly defaultLevel: LogLevel = LogLevel.INFO,
- ) {
- }
+ ) {}
public addTrace(trace: LogTraceSupplier): ITrace<LogTraceSupplier> {
return new LogTrace(
@@ -95,10 +95,7 @@ export class LogTrace implements ITrace<LogTraceSupplier> {
level: Math.max(logLevelOrder.indexOf(val), acc.level),
};
}
- const prefix = [
- acc.line,
- val,
- ].join(" ");
+ const prefix = [acc.line, val].join(" ");
return { ...acc, prefix };
},
{ line: "", level: -1 },
diff --git a/u/trace/metrics.ts b/u/trace/metrics.ts
index 4ddde06..f57b725 100644
--- a/u/trace/metrics.ts
+++ b/u/trace/metrics.ts
@@ -32,8 +32,10 @@ export interface IEmittableMetric {
}
export class EmittableMetric implements IEmittableMetric {
- constructor(public readonly name: string, public readonly unit: Unit) {
- }
+ constructor(
+ public readonly name: string,
+ public readonly unit: Unit,
+ ) {}
public withValue(value: number): MetricValue {
return {
@@ -105,16 +107,16 @@ export class MetricsTrace implements ITrace<MetricsTraceSupplier> {
return this;
}
- const foundMetricValues = this.tracing.flatMap((
- [tracing, startedTracing],
- ) =>
- [tracing, ...tracing.children()]
- .filter((_tracing) => metric === _tracing)
- .flatMap((metric) => [
- this.addMetric(metric, startedTracing),
- this.addMetric(tracing, startedTracing),
- ])
- ).flatMap((values) => values);
+ const foundMetricValues = this.tracing
+ .flatMap(([tracing, startedTracing]) =>
+ [tracing, ...tracing.children()]
+ .filter((_tracing) => metric === _tracing)
+ .flatMap((metric) => [
+ this.addMetric(metric, startedTracing),
+ this.addMetric(tracing, startedTracing),
+ ]),
+ )
+ .flatMap((values) => values);
if (foundMetricValues.length === 0) {
return this._nowTracing(metric);
diff --git a/u/trace/trace.ts b/u/trace/trace.ts
index e942066..03605c2 100644
--- a/u/trace/trace.ts
+++ b/u/trace/trace.ts
@@ -19,11 +19,13 @@ export class LogTraceable<T> extends TraceableImpl<T, LogTraceSupplier> {
const getEmbeddedMetricConsumer =
(logTrace: LogTrace) => (metrics: Array<MetricValue>) =>
- logTrace.addTrace("<metrics>").trace(
- JSON.stringify(metrics, null, 2) + "</metrics>",
- );
-export class EmbeddedMetricsTraceable<T>
- extends TraceableImpl<T, MetricsTraceSupplier> {
+ logTrace
+ .addTrace("<metrics>")
+ .trace(JSON.stringify(metrics, null, 2) + "</metrics>");
+export class EmbeddedMetricsTraceable<T> extends TraceableImpl<
+ T,
+ MetricsTraceSupplier
+> {
public static MetricsTrace = new MetricsTrace(
getEmbeddedMetricConsumer(LogTraceable.LogTrace),
);
@@ -66,17 +68,16 @@ export class LogMetricTrace implements ITrace<LogMetricTraceSupplier> {
}
}
-export class LogMetricTraceable<T>
- extends TraceableImpl<T, MetricsTraceSupplier | LogTraceSupplier> {
+export class LogMetricTraceable<T> extends TraceableImpl<
+ T,
+ MetricsTraceSupplier | LogTraceSupplier
+> {
public static LogMetricTrace = new LogMetricTrace(
LogTraceable.LogTrace,
EmbeddedMetricsTraceable.MetricsTrace,
);
static from<T>(t: T) {
- return new LogMetricTraceable(
- t,
- LogMetricTraceable.LogMetricTrace,
- );
+ return new LogMetricTraceable(t, LogMetricTraceable.LogMetricTrace);
}
}
diff --git a/u/trace/util.ts b/u/trace/util.ts
index 302c8e4..3f9e5b8 100644
--- a/u/trace/util.ts
+++ b/u/trace/util.ts
@@ -9,41 +9,25 @@ import type {
export class TraceUtil {
static withTrace<T, Trace>(
trace: string,
- ): ITraceableMapper<
- T,
- ITraceableTuple<T, Trace | Array<Trace>>,
- Trace
- > {
+ ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> {
return (t) => [t.get(), `[${trace}]`];
}
static withMetricTrace<T, Trace extends MetricsTraceSupplier>(
metric: IMetric,
- ): ITraceableMapper<
- T,
- ITraceableTuple<T, Trace | Array<Trace>>,
- Trace
- > {
+ ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> {
return (t) => [t.get(), metric as Trace];
}
static withFunctionTrace<F extends Callable, T, Trace>(
f: F,
- ): ITraceableMapper<
- T,
- ITraceableTuple<T, Trace | Array<Trace>>,
- Trace
- > {
+ ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> {
return TraceUtil.withTrace(f.name);
}
static withClassTrace<C extends object, T, Trace>(
c: C,
- ): ITraceableMapper<
- T,
- ITraceableTuple<T, Trace | Array<Trace>>,
- Trace
- > {
+ ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> {
return TraceUtil.withTrace(c.constructor.name);
}
@@ -51,8 +35,8 @@ export class TraceUtil {
mapper: ITraceableMapper<T, U, Trace>,
): ITraceableMapper<Promise<T>, Promise<U>, Trace> {
return (traceablePromise) =>
- traceablePromise.flatMapAsync(async (t) =>
- t.move(await t.get()).map(mapper)
- ).get();
+ traceablePromise
+ .flatMapAsync(async (t) => t.move(await t.get()).map(mapper))
+ .get();
}
}