rian 0.3.0-next.4 → 0.3.0-next.6
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.
- package/async.js +1 -1
- package/async.mjs +1 -1
- package/exporter.otel.http.js +1 -1
- package/exporter.otel.http.mjs +1 -1
- package/exporter.zipkin.js +1 -1
- package/exporter.zipkin.mjs +1 -1
- package/index.d.ts +9 -6
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/package.json +1 -1
package/async.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
const { default:e } = require('node:async_hooks');const { measure:t } = require('rian/utils');const { make:n, parse:r, SAMPLED_FLAG:a } = require('tctx');const { is_sampled:o } = require('tctx');var s=new Set,
|
1
|
+
const { default:e } = require('node:async_hooks');const { measure:t } = require('rian/utils');const { make:n, parse:r, SAMPLED_FLAG:a } = require('tctx');const { is_sampled:o } = require('tctx');var s={};function l(e,t={}){s={...t,"service.name":e,"telemetry.sdk.name":"rian","telemetry.sdk.version":"0.3.0-next.6","telemetry.sdk.language":"javascript"}}var p=new Set,c=new WeakMap;async function i(e){let t=[],n=new Map;for(let[e,r]of p){let a;n.has(r)?a=n.get(r).spans:n.set(r,{scope:r,spans:a=[]}),a.push(e),c.has(r)&&(t.push(...c.get(r)),c.delete(r))}return p.clear(),t.length&&await Promise.all(t),e({resource:s,scopeSpans:n.values()})}function u(e,t){return o(t)}var d=new e.AsyncLocalStorage;function m(){return d.getStore()?.[1]||null}function f(e){let r=d.getStore();if(!r)throw Error("TODO");let a=r[0],o=a.scope,s=r[1],l=a.sampler,i=s?.traceparent??a.root_id,u=i?i.child():n(),m="boolean"!=typeof l?l(e,u,o):l;u.flags;let g={id:u,parent:i,start:Date.now(),name:e,events:[],context:{}};m&&p.add([g,o]);let h=e=>d.run([a,h],t,h,e);h.traceparent=u,h.span=f,h.set_context=e=>{"function"!=typeof e?Object.assign(g.context,e):g.context=e(g.context)},h.add_event=(e,t)=>{g.events.push({name:e,timestamp:Date.now(),attributes:t||{}})},h.end=()=>{null==g.end&&(g.end=Date.now())};let v=c.get(o);return h.__add_promise=e=>{v.add(e),e.then((()=>v.delete(e)))},d.run([a,h],(()=>h))}function g(e,t){let n=t?.sampler??u,a={name:e},o={root_id:"string"==typeof t?.traceparent?r(t.traceparent):d.getStore()?.[0].root_id,scope:a,sampler:n};return c.set(a,new Set),{span:e=>d.run([o,null],f,e)}}exports.configure=l;exports.currentSpan=m;exports.report=i;exports.span=f;exports.tracer=g;
|
package/async.mjs
CHANGED
@@ -1 +1 @@
|
|
1
|
-
import{default as e}from"node:async_hooks";import{measure as t}from"rian/utils";import{make as n,parse as r,SAMPLED_FLAG as a}from"tctx";import{is_sampled as o}from"tctx";var s=new Set,
|
1
|
+
import{default as e}from"node:async_hooks";import{measure as t}from"rian/utils";import{make as n,parse as r,SAMPLED_FLAG as a}from"tctx";import{is_sampled as o}from"tctx";var s={};function l(e,t={}){s={...t,"service.name":e,"telemetry.sdk.name":"rian","telemetry.sdk.version":"0.3.0-next.6","telemetry.sdk.language":"javascript"}}var p=new Set,c=new WeakMap;async function i(e){let t=[],n=new Map;for(let[e,r]of p){let a;n.has(r)?a=n.get(r).spans:n.set(r,{scope:r,spans:a=[]}),a.push(e),c.has(r)&&(t.push(...c.get(r)),c.delete(r))}return p.clear(),t.length&&await Promise.all(t),e({resource:s,scopeSpans:n.values()})}function u(e,t){return o(t)}var d=new e.AsyncLocalStorage;function m(){return d.getStore()?.[1]||null}function f(e){let r=d.getStore();if(!r)throw Error("TODO");let a=r[0],o=a.scope,s=r[1],l=a.sampler,i=s?.traceparent??a.root_id,u=i?i.child():n(),m="boolean"!=typeof l?l(e,u,o):l;u.flags;let g={id:u,parent:i,start:Date.now(),name:e,events:[],context:{}};m&&p.add([g,o]);let h=e=>d.run([a,h],t,h,e);h.traceparent=u,h.span=f,h.set_context=e=>{"function"!=typeof e?Object.assign(g.context,e):g.context=e(g.context)},h.add_event=(e,t)=>{g.events.push({name:e,timestamp:Date.now(),attributes:t||{}})},h.end=()=>{null==g.end&&(g.end=Date.now())};let v=c.get(o);return h.__add_promise=e=>{v.add(e),e.then((()=>v.delete(e)))},d.run([a,h],(()=>h))}function g(e,t){let n=t?.sampler??u,a={name:e},o={root_id:"string"==typeof t?.traceparent?r(t.traceparent):d.getStore()?.[0].root_id,scope:a,sampler:n};return c.set(a,new Set),{span:e=>d.run([o,null],f,e)}}export{l as configure,m as currentSpan,i as report,f as span,g as tracer};
|
package/exporter.otel.http.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var e=r=>{let
|
1
|
+
var e=r=>{let a=typeof r,s={};return"string"===a?s.stringValue=r:"number"===a?Number.isInteger(r)?s.intValue=r:s.doubleValue=r:"boolean"===a?s.boolValue=r:Array.isArray(r)?s.arrayValue={values:r.map((t=>e(t)))}:r&&(s.kvlistValue={values:t(r)}),s},t=t=>{let r=[];for(let a of Object.keys(t))r.push({key:a,value:e(t[a])});return r},r=e=>{switch(e){default:case"INTERNAL":return 1;case"SERVER":return 2;case"CLIENT":return 3;case"PRODUCER":return 4;case"CONSUMER":return 5}},a=e=>a=>{let s=[];for(let e of a.scopeSpans){let a=[];s.push({scope:e,spans:a});for(let s of e.spans){let e,{kind:n,error:u,...o}=s.context;u&&(e={code:2},"message"in u&&(e.message=u.message)),a.push({traceId:s.id.trace_id,spanId:s.id.parent_id,parentSpanId:s.parent?.parent_id,name:s.name,kind:r(n||"INTERNAL"),startTimeUnixNano:1e6*s.start,endTimeUnixNano:s.end?1e6*s.end:void 0,droppedAttributesCount:0,droppedEventsCount:0,droppedLinksCount:0,attributes:t(o),status:e||{code:0},events:s.events.map((e=>({name:e.name,attributes:t(e.attributes),droppedAttributesCount:0,timeUnixNano:1e6*e.timestamp})))})}}return e({resourceSpans:[{resource:{attributes:t(a.resource),droppedAttributesCount:0},scopeSpans:s}]})};exports.exporter=a;
|
package/exporter.otel.http.mjs
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var e=r=>{let
|
1
|
+
var e=r=>{let a=typeof r,s={};return"string"===a?s.stringValue=r:"number"===a?Number.isInteger(r)?s.intValue=r:s.doubleValue=r:"boolean"===a?s.boolValue=r:Array.isArray(r)?s.arrayValue={values:r.map((t=>e(t)))}:r&&(s.kvlistValue={values:t(r)}),s},t=t=>{let r=[];for(let a of Object.keys(t))r.push({key:a,value:e(t[a])});return r},r=e=>{switch(e){default:case"INTERNAL":return 1;case"SERVER":return 2;case"CLIENT":return 3;case"PRODUCER":return 4;case"CONSUMER":return 5}},a=e=>a=>{let s=[];for(let e of a.scopeSpans){let a=[];s.push({scope:e,spans:a});for(let s of e.spans){let e,{kind:n,error:u,...o}=s.context;u&&(e={code:2},"message"in u&&(e.message=u.message)),a.push({traceId:s.id.trace_id,spanId:s.id.parent_id,parentSpanId:s.parent?.parent_id,name:s.name,kind:r(n||"INTERNAL"),startTimeUnixNano:1e6*s.start,endTimeUnixNano:s.end?1e6*s.end:void 0,droppedAttributesCount:0,droppedEventsCount:0,droppedLinksCount:0,attributes:t(o),status:e||{code:0},events:s.events.map((e=>({name:e.name,attributes:t(e.attributes),droppedAttributesCount:0,timeUnixNano:1e6*e.timestamp})))})}}return e({resourceSpans:[{resource:{attributes:t(a.resource),droppedAttributesCount:0},scopeSpans:s}]})};export{a as exporter};
|
package/exporter.zipkin.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
const { flattie:e } = require('flattie');var t=t=>a=>{let r=[];for(let t of a)for(let
|
1
|
+
const { flattie:e } = require('flattie');var t=t=>a=>{let r=[];for(let t of a.scopeSpans)for(let n of t.spans){let{kind:s,error:i,...o}=n.context;i&&(o.error=!("message"in i)||{name:i.name,message:i.message,stack:i.stack}),r.push({id:n.id.parent_id,traceId:n.id.trace_id,parentId:n.parent?n.parent.parent_id:void 0,name:n.name,kind:"INTERNAL"===s?void 0:s,timestamp:1e3*n.start,duration:n.end?1e3*(n.end-n.start):void 0,localEndpoint:{serviceName:`${a.resource["service.name"]}@${t.scope.name}`},tags:e({...a.resource,...o},".",!0),annotations:n.events.map((e=>({value:`${e.name} :: ${JSON.stringify(e.attributes)}`,timestamp:1e3*e.timestamp})))})}return t(r)};exports.exporter=t;
|
package/exporter.zipkin.mjs
CHANGED
@@ -1 +1 @@
|
|
1
|
-
import{flattie as e}from"flattie";var t=t=>a=>{let r=[];for(let t of a)for(let
|
1
|
+
import{flattie as e}from"flattie";var t=t=>a=>{let r=[];for(let t of a.scopeSpans)for(let n of t.spans){let{kind:s,error:i,...o}=n.context;i&&(o.error=!("message"in i)||{name:i.name,message:i.message,stack:i.stack}),r.push({id:n.id.parent_id,traceId:n.id.trace_id,parentId:n.parent?n.parent.parent_id:void 0,name:n.name,kind:"INTERNAL"===s?void 0:s,timestamp:1e3*n.start,duration:n.end?1e3*(n.end-n.start):void 0,localEndpoint:{serviceName:`${a.resource["service.name"]}@${t.scope.name}`},tags:e({...a.resource,...o},".",!0),annotations:n.events.map((e=>({value:`${e.name} :: ${JSON.stringify(e.attributes)}`,timestamp:1e3*e.timestamp})))})}return t(r)};export{t as exporter};
|
package/index.d.ts
CHANGED
@@ -6,11 +6,14 @@ import type { Traceparent } from 'tctx';
|
|
6
6
|
* An exporter is a method called when the parent scope ends, gets given a Set of all spans traced
|
7
7
|
* during this execution.
|
8
8
|
*/
|
9
|
-
export type Exporter = (
|
10
|
-
|
11
|
-
export type Resource = {
|
9
|
+
export type Exporter = (trace: {
|
12
10
|
resource: Context;
|
13
|
-
|
11
|
+
scopeSpans: IterableIterator<ScopedSpans>;
|
12
|
+
}) => any;
|
13
|
+
|
14
|
+
export type ScopedSpans = {
|
15
|
+
readonly scope: { readonly name: string };
|
16
|
+
readonly spans: ReadonlyArray<Readonly<Span>>;
|
14
17
|
};
|
15
18
|
|
16
19
|
export type Options = {
|
@@ -19,7 +22,7 @@ export type Options = {
|
|
19
22
|
*/
|
20
23
|
sampler?: Sampler | boolean;
|
21
24
|
|
22
|
-
context?: Context;
|
25
|
+
//context?: Context;
|
23
26
|
|
24
27
|
/**
|
25
28
|
* A root, or extracted w3c traceparent stringed header.
|
@@ -50,7 +53,7 @@ export type Context = {
|
|
50
53
|
export type Sampler = (
|
51
54
|
readonly name: string,
|
52
55
|
readonly id: Traceparent,
|
53
|
-
readonly
|
56
|
+
readonly scope: { readonly name: string },
|
54
57
|
) => boolean;
|
55
58
|
|
56
59
|
// --- spans
|
package/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
const { measureFn:e } = require('rian/utils');const { make:t, parse:n, SAMPLED_FLAG:a } = require('tctx');const { is_sampled:
|
1
|
+
const { measureFn:e } = require('rian/utils');const { make:t, parse:n, SAMPLED_FLAG:a } = require('tctx');const { is_sampled:o } = require('tctx');var r={},s=new Set,p=new WeakMap;async function l(e){let t=[],n=new Map;for(let[e,a]of s){let o;n.has(a)?o=n.get(a).spans:n.set(a,{scope:a,spans:o=[]}),o.push(e),p.has(a)&&(t.push(...p.get(a)),p.delete(a))}return s.clear(),t.length&&await Promise.all(t),e({resource:r,scopeSpans:n.values()})}function c(e,t){return o(t)}function i(a,o){let r=o?.sampler??c,l={name:a},i=new Set;p.set(l,i);let d="string"==typeof o?.traceparent?n(o.traceparent):void 0,u=(n,a)=>{let o=a?a.child():t(),p="boolean"!=typeof r?r(n,o,l):r;o.flags;let c={id:o,parent:a,start:Date.now(),name:n,events:[],context:{}};p&&s.add([c,l]);let d=t=>e(d,t);return d.traceparent=o,d.span=e=>u(e,o),d.set_context=e=>"function"==typeof e?void(c.context=e(c.context)):void Object.assign(c.context,e),d.add_event=(e,t)=>{c.events.push({name:e,timestamp:Date.now(),attributes:t||{}})},d.end=()=>{null==c.end&&(c.end=Date.now())},d.__add_promise=e=>{i.add(e),e.then((()=>i.delete(e)))},d};return{span:e=>u(e,d)}}exports.report=l;exports.tracer=i;
|
package/index.mjs
CHANGED
@@ -1 +1 @@
|
|
1
|
-
import{measureFn as e}from"rian/utils";import{make as t,parse as n,SAMPLED_FLAG as a}from"tctx";import{is_sampled as
|
1
|
+
import{measureFn as e}from"rian/utils";import{make as t,parse as n,SAMPLED_FLAG as a}from"tctx";import{is_sampled as o}from"tctx";var r={},s=new Set,p=new WeakMap;async function l(e){let t=[],n=new Map;for(let[e,a]of s){let o;n.has(a)?o=n.get(a).spans:n.set(a,{scope:a,spans:o=[]}),o.push(e),p.has(a)&&(t.push(...p.get(a)),p.delete(a))}return s.clear(),t.length&&await Promise.all(t),e({resource:r,scopeSpans:n.values()})}function c(e,t){return o(t)}function i(a,o){let r=o?.sampler??c,l={name:a},i=new Set;p.set(l,i);let d="string"==typeof o?.traceparent?n(o.traceparent):void 0,u=(n,a)=>{let o=a?a.child():t(),p="boolean"!=typeof r?r(n,o,l):r;o.flags;let c={id:o,parent:a,start:Date.now(),name:n,events:[],context:{}};p&&s.add([c,l]);let d=t=>e(d,t);return d.traceparent=o,d.span=e=>u(e,o),d.set_context=e=>"function"==typeof e?void(c.context=e(c.context)):void Object.assign(c.context,e),d.add_event=(e,t)=>{c.events.push({name:e,timestamp:Date.now(),attributes:t||{}})},d.end=()=>{null==c.end&&(c.end=Date.now())},d.__add_promise=e=>{i.add(e),e.then((()=>i.delete(e)))},d};return{span:e=>u(e,d)}}export{l as report,i as tracer};
|