0.2.0 • Published 28 days ago
tctx v0.2.0
trace context
W3C Trace Context's made simple
This is free to use software, but if you do like it, consider supporting me ❤️
⚙️ Install
npm add tctx
🚀 Usage
// producer
import * as traceparent from 'tctx/traceparent';
import * as tracestate from 'tctx/tracestate';
fetch('/api', {
headers: {
traceparent: traceparent.make(),
tracestate: tracestate.make({ key: 'value' }),
},
});
// consumer
import * as traceparent from 'tctx/traceparent';
import * as tracestate from 'tctx/tracestate';
const parent_key = traceparent.parse(request.headers.traceparent);
const parent_state = tracestate.parse(request.headers.tracestate);
parent_state.set('vendor', 'value');
fetch('/downstream', {
headers: {
traceparent: parent.child(),
tracestate: parent_state,
},
});
💨 Benchmark
via the
/bench
directory with deno 1.41.3
# make
✔ tctx ~ 1,666,269 ops/sec ± 0.04%
✔ traceparent ~ 156,468 ops/sec ± 0.07%
✔ trace-context ~ 691,817 ops/sec ± 0.02%
# parse
✔ tctx ~ 3,429,690 ops/sec ± 0.05%
✔ traceparent ~ 186,418 ops/sec ± 0.07%
✔ trace-context ~ 3,327,424 ops/sec ± 0.10%
# child
✔ tctx ~ 2,627,467 ops/sec ± 0.04%
✔ traceparent ~ 256,958 ops/sec ± 0.10%
✔ trace-context ~ 1,252,370 ops/sec ± 0.04%
License
MIT © Marais Rossouw
0.2.0
28 days ago
0.1.2
1 month ago
0.1.1
1 month ago
0.1.0-beta.3
1 month ago
0.1.0-beta.2
1 month ago
0.1.0
1 month ago
0.1.0-beta.1
2 months ago
0.0.11
11 months ago
0.0.12
11 months ago
0.0.13
10 months ago
0.0.10
2 years ago
0.0.9
2 years ago
0.0.8
2 years ago
0.0.7
2 years ago
0.0.6
2 years ago
0.0.5
2 years ago
0.0.4
2 years ago
0.0.3
2 years ago
0.0.2
2 years ago