@zuplo/otel 6.71.2 → 6.71.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/README.md CHANGED
@@ -1 +1,165 @@
1
1
  # OpenTelemetry for Zuplo
2
+
3
+ `@zuplo/otel` instruments your Zuplo API with
4
+ [OpenTelemetry](https://opentelemetry.io/) — incoming requests, policies,
5
+ handlers, and outbound `fetch` — and exports the resulting spans to the
6
+ Zuplo-managed trace ingest and/or to any OTLP/HTTP destination(s) you configure.
7
+
8
+ ## Getting started
9
+
10
+ Register the plugin from your project's `zuplo.runtime.ts`. With no
11
+ configuration, traces are sent to Zuplo and are queryable in the portal —
12
+ `service.name` defaults to your project name:
13
+
14
+ ```ts
15
+ import { RuntimeExtensions } from "@zuplo/runtime";
16
+ import { OpenTelemetryPlugin } from "@zuplo/otel";
17
+
18
+ export function runtimeInit(runtime: RuntimeExtensions) {
19
+ runtime.addPlugin(new OpenTelemetryPlugin());
20
+ }
21
+ ```
22
+
23
+ > The Zuplo-managed exporter only works in deployed Zuplo environments. In
24
+ > environments where the managed ingest isn't configured (e.g. local
25
+ > development), using it throws a `ConfigurationError` — configure your own
26
+ > `exporter`/`spanProcessors`, or only add the plugin in deployed environments.
27
+
28
+ ## Usage configurations
29
+
30
+ ### Zuplo-managed exporter (default)
31
+
32
+ Omit any destination and spans go to Zuplo. You can still name the service:
33
+
34
+ ```ts
35
+ new OpenTelemetryPlugin({
36
+ service: { name: "my-api" },
37
+ });
38
+ ```
39
+
40
+ This is equivalent to explicitly passing a `ZuploSpanExporter`:
41
+
42
+ ```ts
43
+ import { OpenTelemetryPlugin, ZuploSpanExporter } from "@zuplo/otel";
44
+
45
+ new OpenTelemetryPlugin({
46
+ service: { name: "my-api" },
47
+ exporter: new ZuploSpanExporter(),
48
+ });
49
+ ```
50
+
51
+ ### Your own OTLP collector
52
+
53
+ Point a single OTLP/HTTP exporter at your collector. Provide `headers` for
54
+ authentication. (Using `exporter` opts out of the Zuplo default.)
55
+
56
+ ```ts
57
+ import { environment } from "@zuplo/runtime";
58
+
59
+ new OpenTelemetryPlugin({
60
+ service: { name: "my-api", version: "1.0.0" },
61
+ exporter: {
62
+ url: environment.OTLP_ENDPOINT,
63
+ headers: { authorization: `Bearer ${environment.OTEL_TOKEN}` },
64
+ },
65
+ });
66
+ ```
67
+
68
+ ### Separate logs and traces endpoints
69
+
70
+ When your backend exposes distinct endpoints for logs and traces, provide both.
71
+ The shared `headers` are sent to each.
72
+
73
+ ```ts
74
+ new OpenTelemetryPlugin({
75
+ service: { name: "my-api" },
76
+ logUrl: environment.OTLP_LOG_ENDPOINT,
77
+ traceUrl: environment.OTLP_TRACE_ENDPOINT,
78
+ headers: { authorization: `Bearer ${environment.OTEL_TOKEN}` },
79
+ });
80
+ ```
81
+
82
+ ### Multiple destinations (Zuplo + your own)
83
+
84
+ To send spans to **more than one** destination, build a span processor per
85
+ destination and pass them as `spanProcessors`. Each processor batches and
86
+ flushes independently, so one slow or failing exporter does not block the
87
+ others. Spans are produced once per request and fan out to every processor.
88
+
89
+ ```ts
90
+ import {
91
+ OpenTelemetryPlugin,
92
+ OTLPSpanExporter,
93
+ BatchTraceSpanProcessor,
94
+ ZuploSpanExporter,
95
+ } from "@zuplo/otel";
96
+ import { environment } from "@zuplo/runtime";
97
+
98
+ new OpenTelemetryPlugin({
99
+ service: { name: "my-api" },
100
+ spanProcessors: [
101
+ // Your own collector
102
+ new BatchTraceSpanProcessor(
103
+ new OTLPSpanExporter({ url: environment.OTLP_ENDPOINT })
104
+ ),
105
+ // ...and Zuplo
106
+ new BatchTraceSpanProcessor(new ZuploSpanExporter()),
107
+ ],
108
+ });
109
+ ```
110
+
111
+ `spanProcessors` accepts any OpenTelemetry `SpanProcessor`, so you can also mix
112
+ in standard processors — for example a console exporter for local debugging:
113
+
114
+ ```ts
115
+ import {
116
+ ConsoleSpanExporter,
117
+ SimpleSpanProcessor,
118
+ } from "@opentelemetry/sdk-trace-base";
119
+
120
+ new OpenTelemetryPlugin({
121
+ service: { name: "my-api" },
122
+ spanProcessors: [new SimpleSpanProcessor(new ConsoleSpanExporter())],
123
+ });
124
+ ```
125
+
126
+ ## Resource attributes
127
+
128
+ Every span is automatically tagged with Zuplo's service, account, project,
129
+ cloud, and build identifiers. Use `resourceAttributes` to add your own — they
130
+ are merged **on top of** the defaults, so a key you set here overrides the
131
+ default of the same name.
132
+
133
+ ```ts
134
+ new OpenTelemetryPlugin({
135
+ service: { name: "my-api" },
136
+ resourceAttributes: {
137
+ "deployment.environment.name": "canary",
138
+ },
139
+ });
140
+ ```
141
+
142
+ ## Sampling
143
+
144
+ Head sampling is configured via `sampling.headSampler`. Pass a ratio to sample a
145
+ fraction of traces (defaults to sampling everything):
146
+
147
+ ```ts
148
+ new OpenTelemetryPlugin({
149
+ service: { name: "my-api" },
150
+ sampling: {
151
+ headSampler: { ratio: 0.1 }, // sample 10% of requests
152
+ },
153
+ });
154
+ ```
155
+
156
+ ## Exports
157
+
158
+ | Export | Purpose |
159
+ | ------------------------- | ------------------------------------------------------------------------- |
160
+ | `OpenTelemetryPlugin` | The plugin registered via `runtime.addPlugin(...)`. |
161
+ | `ZuploSpanExporter` | Sends spans to the Zuplo-managed trace ingest (the default destination). |
162
+ | `TraceConfig` | Type of the plugin's configuration object. |
163
+ | `OTLPSpanExporter` | OTLP/HTTP span exporter; pair with a span processor. |
164
+ | `OTLPExporterConfig` | Configuration (`url`, optional `headers`) for an OTLP exporter. |
165
+ | `BatchTraceSpanProcessor` | Per-trace batching span processor; wrap an exporter to add a destination. |
@@ -0,0 +1,26 @@
1
+
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Zuplo, Inc. All rights reserved.
4
+ *
5
+ * This software and associated documentation files (the "Software") is intended to be used
6
+ * only by Zuplo customers solely to develop and test applications that will be deployed
7
+ * to Zuplo hosted services. You and others in your organization may use these files on your
8
+ * Development Devices solely for the above stated purpose.
9
+ *
10
+ * Outside of uses stated above, no license is granted for any other purpose including
11
+ * without limitation the rights to use, copy, modify, merge, publish, distribute,
12
+ * sublicense, host, and/or sell copies of the Software.
13
+ *
14
+ * The software may include third party components with separate legal notices or governed by
15
+ * other agreements, as described in licenses either embedded in or accompanying the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
19
+ * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
20
+ * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
21
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
+ * DEALINGS IN THE SOFTWARE.
23
+ *--------------------------------------------------------------------------------------------*/
24
+
25
+ var vt=Object.defineProperty;var n=(t,e)=>vt(t,"name",{value:e,configurable:!0});import{Buffer as wt}from"node:buffer";globalThis.Buffer=wt;import{ExportResultCode as Ie}from"@opentelemetry/core";import{JsonLogsSerializer as It,JsonTraceSerializer as Ft}from"@opentelemetry/otlp-transformer";import{BackgroundDispatcher as Fe}from"@zuplo/runtime";function Ot(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}n(Ot,"isPlainObject");function Oe(t){if(t==null)return"";if(Array.isArray(t)){for(let e=0;e<t.length;e+=1)t[e]=Oe(t[e]);return t}return Ot(t)&&U(t),t}n(Oe,"sanitizeValue");function U(t){Object.keys(t).forEach(e=>{t[e]=Oe(t[e])})}n(U,"sanitizeEmptyAttributes");var de=Symbol("unwrap");function Ae(t){return t&&!!t[de]}n(Ae,"isWrapped");function At(t){return t!==null&&typeof t=="object"||typeof t=="function"}n(At,"isProxyable");function B(t,e,r=!0){if(Ae(t)||!At(t))return t;let o=Object.assign({},e);return o.get=(s,i,a)=>{if(i===de)return t;if(e.get)return e.get(s,i,a);if(i==="bind")return()=>a;if(r)return ge(s,i)},o.apply=(s,i,a)=>{if(e.apply)return e.apply(P(s),P(i),a)},new Proxy(t,o)}n(B,"wrap");function P(t){return t&&Ae(t)?t[de]:t}n(P,"unwrap");function ge(t,e,r){let o=P(t);r=P(r)||o;let s=Reflect.get(o,e);return typeof s=="function"?s.constructor.name==="RpcProperty"?(...i)=>o[e](...i):s.bind(r):s}n(ge,"passthroughGet");var ke={accept:"application/json","content-type":"application/json"},x=class{static{n(this,"OTLPSpanExporter")}headers;url;constructor(e){this.url=e.url,this.headers=Object.assign({},ke,e.headers)}export(e,r){e.forEach(o=>{this.batcher.enqueue(o)}),r({code:Ie.SUCCESS})}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}dispatchFunction=n(async e=>{if(e.length===0)return;e.forEach(a=>{U(a.attributes)});let r=new TextDecoder,o=Ft.serializeRequest(e),s=r.decode(o),i=await P(fetch)(this.url,{method:"POST",body:s,headers:this.headers});if(!i.ok)try{let a=await i.text();throw new Error(`Error exporting traces: ${i.status}:${a}`)}catch(a){throw new Error(`Error exporting traces ${a.message}`)}},"dispatchFunction");batcher=new Fe(this.dispatchFunction,{msDelay:10})},j=class{static{n(this,"OTLPLogExporter")}headers;url;batcher;constructor(e,r){this.url=e.url,this.headers=Object.assign({},ke,e.headers),this.batcher=new Fe(this.dispatchFunction,{msDelay:r?.scheduledDelayMillis??10})}export(e,r){e.forEach(o=>{this.batcher.enqueue(o)}),r({code:Ie.SUCCESS})}shutdown(){return Promise.resolve()}dispatchFunction=n(async e=>{if(e.length===0)return;e.forEach(a=>{U(a.attributes)});let r=new TextDecoder,o=It.serializeRequest(e),s=r.decode(o),i=await P(fetch)(this.url,{method:"POST",body:s,headers:this.headers});if(!i.ok)try{let a=await i.text();throw new Error(`Error exporting OTel logs: ${i.status}:${a}`)}catch(a){throw new Error(`Error exporting OTel logs: ${a.message}`)}},"dispatchFunction")};import{ConfigurationError as Mr,TelemetryPlugin as Gr,trackFeature as Hr}from"@zuplo/runtime";import{context as V,propagation as qe,SpanKind as Ke,SpanStatusCode as zt,trace as Vt}from"@opentelemetry/api";import{context as Ve}from"@opentelemetry/api";import{W3CTraceContextPropagator as Gt}from"@opentelemetry/core";var z=class{static{n(this,"DefaultLogProcessor")}exporter;constructor(e){this.exporter=e}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}onEmit(e){this.exporter.export([e],r=>{})}};import{SpanStatusCode as kt,TraceFlags as Ne}from"@opentelemetry/api";import{ParentBasedSampler as De,TraceIdRatioBasedSampler as Nt}from"@opentelemetry/sdk-trace-base";import{SemanticAttributes as me}from"@zuplo/runtime";function Me(t){return e=>{let r=e.localRootSpan;return r.attributes[me.SystemTrace]??r.attributes[me.RouteSystem]??r.attributes[me.RouteTrace]===!1?!1:t(e)}}n(Me,"internalTailSampler");function Ge(t){return e=>t.reduce((r,o)=>r||o(e),!1)}n(Ge,"multiTailSampler");var He=n(t=>(t.localRootSpan.spanContext().traceFlags&Ne.SAMPLED)===Ne.SAMPLED,"isHeadSampled"),Ue=n(t=>t.localRootSpan.status.code===kt.ERROR,"isRootErrorSpan");function Be(t){let e=new Nt(t.ratio);return typeof t.acceptRemote=="boolean"&&!t.acceptRemote?new De({root:e,remoteParentSampled:e,remoteParentNotSampled:e}):new De({root:e})}n(Be,"createSampler");import{ExportResultCode as Dt}from"@opentelemetry/core";function Mt(){let t=S();return t||console.log("Could not find config for sampling, sending everything by default"),t?t.sampling.tailSampler:()=>!0}n(Mt,"getSampler");var fe=class{static{n(this,"TraceState")}unexportedSpans=[];inprogressSpans=new Set;exporter;exportPromises=[];localRootSpan;traceDecision;isFlushed=!1;constructor(e){this.exporter=e}addSpan(e){let r=e;this.localRootSpan=this.localRootSpan||r,this.unexportedSpans.push(r),this.inprogressSpans.add(e.spanContext().spanId)}hasFinished(){return this.inprogressSpans.size===0&&this.isFlushed}async endSpan(e){this.inprogressSpans.delete(e.spanContext().spanId),this.inprogressSpans.size===0&&await this.flush()}sample(){if(this.traceDecision===void 0&&this.unexportedSpans.length>0){let e=Mt();this.traceDecision=e({traceId:this.localRootSpan.spanContext().traceId,localRootSpan:this.localRootSpan,spans:this.unexportedSpans})}this.unexportedSpans=this.traceDecision?this.unexportedSpans:[]}async flush(){if(this.unexportedSpans.length>0){let e=this.unexportedSpans.filter(r=>this.isSpanInProgress(r));for(let r of e)console.log(`Span ${r.spanContext().spanId} was not ended properly`),r.end();this.sample(),this.exportPromises.push(this.exportSpans([...this.unexportedSpans])),this.unexportedSpans=[]}this.exportPromises.length>0&&(await Promise.allSettled(this.exportPromises),this.exportPromises=[],this.isFlushed=!0)}isSpanInProgress(e){return this.inprogressSpans.has(e.spanContext().spanId)}async exportSpans(e){let r=S();if(!r){console.log("No config found for exporting spans, skipping export");return}let o=r.postProcessor(e);await scheduler.wait(1),await new Promise((i,a)=>{this.exporter.export(o,c=>{c.code===Dt.SUCCESS?i():(console.log(`exporting spans failed! ${c.error}`),a(c.error))})})}},f=class{constructor(e){this.exporter=e}exporter;static{n(this,"BatchTraceSpanProcessor")}traces={};getTraceState(e){let r=this.traces[e]||new fe(this.exporter);return this.traces[e]=r,r}onStart(e,r){let o=e.spanContext().traceId;this.getTraceState(o).addSpan(e)}onEnd(e){let r=e.spanContext().traceId,o=this.getTraceState(r);o.endSpan(e).catch(s=>{console.log(s,"Failed to end span")}).finally(()=>{o.hasFinished()&&delete this.traces[r]})}async forceFlush(e){if(e)await this.getTraceState(e).flush(),delete this.traces[e];else{let r=Object.values(this.traces).map(o=>o.flush);await Promise.allSettled(r),this.traces={}}}async shutdown(){await this.forceFlush()}};function je(t){return!!t.spanProcessors}n(je,"isSpanProcessorConfig");function ze(t){let e=!!t.spanProcessors,r=!!t.logProcessors;return e&&r}n(ze,"isProcessorConfig");var $e=Symbol("Otel Tracing Configuration");function Ze(t,e=Ve.active()){return e.setValue($e,t)}n(Ze,"setConfig");function S(){return Ve.active().getValue($e)||void 0}n(S,"getActiveConfig");function Ht(t){return!!t.shouldSample}n(Ht,"isSampler");function Ut(t){return!!t.exporter}n(Ut,"isTraceConfigExporter");function Bt(t){return typeof t.export=="function"}n(Bt,"isSpanExporterInstance");function jt(t){return!!t.logUrl&&!!t.traceUrl&&!!t.headers}n(jt,"isTraceAndLogConfigExporter");function he(t){let e=[],r=[];if(Ut(t)){let i=Bt(t.exporter)?t.exporter:new x(t.exporter);e=[new f(i)]}else jt(t)?(e=[new f(new x({url:t.traceUrl,headers:t.headers}))],r=[new z(new j({url:t.logUrl,headers:t.headers}))]):ze(t)?(e=Array.isArray(t.spanProcessors)?t.spanProcessors:[t.spanProcessors],r=Array.isArray(t.logProcessors)?t.logProcessors:[t.logProcessors]):je(t)&&(e=Array.isArray(t.spanProcessors)?t.spanProcessors:[t.spanProcessors]);let o=t.sampling?.headSampler||{ratio:1},s=Ht(o)?o:Be(o);return{fetch:{includeTraceContext:t.fetch?.includeTraceContext??!0},handlers:{fetch:{acceptTraceContext:t.handlers?.fetch?.acceptTraceContext??!0}},postProcessor:t.postProcessor||(i=>i),sampling:{headSampler:s,tailSampler:Me(t.sampling?.tailSampler??Ge([He,Ue]))},service:t.service,resourceAttributes:t.resourceAttributes,spanProcessors:e,propagator:t.propagator||new Gt,instrumentation:{instrumentGlobalFetch:t.instrumentation?.instrumentGlobalFetch??!0},logProcessors:r}}n(he,"parseConfig");function Ye(t){let e={},r=t.headers;e["http.request.method"]=t.method.toUpperCase(),e["http.request.body.size"]=r.get("content-length"),e["user_agent.original"]=r.get("user-agent"),e["http.mime_type"]=r.get("content-type"),e["http.accepts"]=r.get("accept");let o=new URL(t.url);return e["url.full"]=`${o.protocol}//${o.host}${o.pathname}${o.search}`,e["server.address"]=o.host,e["url.scheme"]=o.protocol,e["url.path"]=o.pathname,e["url.query"]=o.search,e}n(Ye,"gatherRequestAttributes");function Xe(t){let e={};return e["http.response.status_code"]=t.status,t.headers.get("content-length")==null&&(e["http.response.body.size"]=t.headers.get("content-length")),e["http.mime_type"]=t.headers.get("content-type"),e}n(Xe,"gatherResponseAttributes");function $t(t){return qe.extract(V.active(),t,{get(e,r){return e.get(r)||void 0},keys(e){return[...e.keys()]}})}n($t,"getParentContextFromHeaders");function Zt(t){let e=S();return e===void 0?V.active():(typeof e.handlers.fetch.acceptTraceContext=="function"?e.handlers.fetch.acceptTraceContext(t):e.handlers.fetch.acceptTraceContext??!0)?$t(t.headers):V.active()}n(Zt,"getParentContextFromRequest");function We(t,e){let r=t;if(r.attributes["http.route"]){let o=e.method.toUpperCase();t.updateName(`${o} ${r.attributes["http.route"]}`)}}n(We,"updateSpanNameOnRoute");var Je={getInitialSpanInfo:n(t=>{let e=Zt(t),r={"faas.trigger":"http","faas.invocation_id":t.headers.get("zp-rid")??void 0,"cf.ray_id":t.headers.get("cf-ray")??void 0};return Object.assign(r,Ye(t)),{name:`fetchHandler ${t.method.toUpperCase()}`,options:{attributes:r,kind:Ke.SERVER},context:e}},"getInitialSpanInfo"),getAttributesFromResult:n(t=>Xe(t),"getAttributesFromResult"),executionSuccess:We,executionFailed:We};function Wt(t,e,r){return B(t,{apply:n((s,i,a)=>{let c=new Request(a[0],a[1]);if(!c.url.startsWith("http"))return Reflect.apply(s,i,a);let l=S();if(!l)return Reflect.apply(s,i,[c]);let u=e(l),m=Vt.getTracer("fetcher"),T={kind:Ke.CLIENT,attributes:r},d=new URL(c.url).host,O=c.method.toUpperCase(),H=typeof r?.name=="string"?r?.name:`${O}: ${d}`;return m.startActiveSpan(H,T,async p=>{try{((typeof u.includeTraceContext=="function"?u.includeTraceContext(c):u.includeTraceContext)??!0)&&qe.inject(V.active(),c.headers,{set:n((pe,le,_)=>pe.set(le,typeof _=="string"?_:String(_)),"set")}),p.setAttributes(Ye(c));let ce=await Reflect.apply(s,i,[c]);return p.setAttributes(Xe(ce)),ce}catch(R){throw p.recordException(R),p.setStatus({code:zt.ERROR}),R}finally{p.end()}})},"apply")},!0)}n(Wt,"instrumentClientFetch");function Qe(){globalThis.fetch=Wt(globalThis.fetch,t=>t.fetch)}n(Qe,"instrumentGlobalFetch");import{context as Rt,context as Pr,propagation as br,SpanStatusCode as Cr,trace as Pt}from"@opentelemetry/api";import{resourceFromAttributes as ve}from"@opentelemetry/resources";import{ATTR_CLOUD_ACCOUNT_ID as _r,ATTR_CLOUD_PLATFORM as yr,ATTR_CLOUD_PROVIDER as Er,ATTR_SERVICE_NAME as Lr,ATTR_SERVICE_NAMESPACE as vr,ATTR_SERVICE_VERSION as wr,ATTR_TELEMETRY_SDK_NAME as Or}from"@opentelemetry/semantic-conventions/incubating";import{SemanticAttributes as ae}from"@zuplo/runtime";import{AsyncLocalStorage as qt}from"node:async_hooks";import{EventEmitter as Kt}from"node:events";import{ROOT_CONTEXT as Yt}from"@opentelemetry/api";var Xt=["addListener","on","once","prependListener","prependOnceListener"],Te=class{static{n(this,"AbstractAsyncHooksContextManager")}bind(e,r){return r instanceof Kt?this._bindEventEmitter(e,r):typeof r=="function"?this._bindFunction(e,r):r}_bindFunction(e,r){let o=this,s=n(function(...i){return o.with(e,()=>r.apply(this,i))},"contextWrapper");return Object.defineProperty(s,"length",{enumerable:!1,configurable:!0,writable:!1,value:r.length}),s}_bindEventEmitter(e,r){return this._getPatchMap(r)!==void 0||(this._createPatchMap(r),Xt.forEach(s=>{r[s]!==void 0&&(r[s]=this._patchAddListener(r,r[s],e))}),typeof r.removeListener=="function"&&(r.removeListener=this._patchRemoveListener(r,r.removeListener)),typeof r.off=="function"&&(r.off=this._patchRemoveListener(r,r.off)),typeof r.removeAllListeners=="function"&&(r.removeAllListeners=this._patchRemoveAllListeners(r,r.removeAllListeners))),r}_patchRemoveListener(e,r){let o=this;return function(s,i){let a=o._getPatchMap(e)?.[s];if(a===void 0)return r.call(this,s,i);let c=a.get(i);return r.call(this,s,c||i)}}_patchRemoveAllListeners(e,r){let o=this;return function(s){let i=o._getPatchMap(e);return i!==void 0&&(arguments.length===0?o._createPatchMap(e):i[s]!==void 0&&delete i[s]),r.apply(this,arguments)}}_patchAddListener(e,r,o){let s=this;return function(i,a){if(s._wrapped)return r.call(this,i,a);let c=s._getPatchMap(e);c===void 0&&(c=s._createPatchMap(e));let l=c[i];l===void 0&&(l=new WeakMap,c[i]=l);let u=s.bind(o,a);l.set(a,u),s._wrapped=!0;try{return r.call(this,i,u)}finally{s._wrapped=!1}}}_createPatchMap(e){let r=Object.create(null);return e[this._kOtListeners]=r,r}_getPatchMap(e){return e[this._kOtListeners]}_kOtListeners=Symbol("OtListeners");_wrapped=!1},$=class extends Te{static{n(this,"AsyncLocalStorageContextManager")}_asyncLocalStorage;constructor(){super(),this._asyncLocalStorage=new qt}active(){return this._asyncLocalStorage.getStore()??Yt}with(e,r,o,...s){let i=o==null?r:r.bind(o);return this._asyncLocalStorage.run(e,i,...s)}enable(){return this}disable(){return this._asyncLocalStorage.disable(),this}};import{trace as In}from"@opentelemetry/api";import{context as Re,SpanKind as ir,TraceFlags as nt,trace as W}from"@opentelemetry/api";import{sanitizeAttributes as st}from"@opentelemetry/core";import{RandomIdGenerator as ar,SamplingDecision as cr}from"@opentelemetry/sdk-trace-base";import{SpanKind as Jt,SpanStatusCode as Qt}from"@opentelemetry/api";import{hrTimeDuration as er,isAttributeValue as tr,isTimeInput as rr,sanitizeAttributes as et}from"@opentelemetry/core";import{ATTR_EXCEPTION_MESSAGE as tt,ATTR_EXCEPTION_STACKTRACE as or,ATTR_EXCEPTION_TYPE as rt}from"@opentelemetry/semantic-conventions";function nr(t){let e={};return typeof t=="string"?e[tt]=t:(t.code?e[rt]=t.code.toString():t.name&&(e[rt]=t.name),t.message&&(e[tt]=t.message),t.stack&&(e[or]=t.stack)),e}n(nr,"transformExceptionAttributes");function xe(t){return[Math.trunc(t/1e3),t%1e3*1e6]}n(xe,"millisToHr");function Se(t){let e=Date.now();if(t){if(t instanceof Date)return xe(t.getTime());if(typeof t=="number")return xe(t);if(Array.isArray(t))return t}else return xe(e);let r=t;throw new Error(`unreachable value: ${JSON.stringify(r)}`)}n(Se,"getHrTime");function sr(t){return typeof t=="string"&&t.length>0}n(sr,"isAttributeKey");var Z=class{static{n(this,"SpanImpl")}name;_spanContext;onEnd;parentSpanId;parentSpanContext;kind;attributes;status={code:Qt.UNSET};endTime=[0,0];_duration=[0,0];startTime;events=[];links;resource;instrumentationScope=ot;_ended=!1;_droppedAttributesCount=0;_droppedEventsCount=0;_droppedLinksCount=0;constructor(e){this.name=e.name,this._spanContext=e.spanContext,this.parentSpanId=e.parentSpanId,this.parentSpanContext=e.parentSpanContext,this.kind=e.spanKind||Jt.INTERNAL,this.attributes=et(e.attributes),this.startTime=Se(e.startTime),this.links=e.links||[],this.resource=e.resource,this.onEnd=e.onEnd}addLink(e){return this.links.push(e),this}addLinks(e){return this.links.push(...e),this}spanContext(){return this._spanContext}setAttribute(e,r){return sr(e)&&tr(r)&&(this.attributes[e]=r),this}setAttributes(e){for(let[r,o]of Object.entries(e))this.setAttribute(r,o);return this}addEvent(e,r,o){rr(r)&&(o=r,r=void 0);let s=et(r),i=Se(o);return this.events.push({name:e,attributes:s,time:i}),this}setStatus(e){return this.status=e,this}updateName(e){return this.name=e,this}end(e){this._ended||(this._ended=!0,this.endTime=Se(e),this._duration=er(this.startTime,this.endTime),this.onEnd(this))}isRecording(){return!this._ended}recordException(e,r){let o=nr(e);this.addEvent("exception",o,r)}get duration(){return this._duration}get ended(){return this._ended}get droppedAttributesCount(){return this._droppedAttributesCount}get droppedEventsCount(){return this._droppedEventsCount}get droppedLinksCount(){return this._droppedLinksCount}};var at=new ar,it;function pr(t,e){return(t>>e-1&1)*e}n(pr,"getFlagAt");var b=class{static{n(this,"WorkerTracer")}spanProcessors;resource;constructor(e,r){this.spanProcessors=e,this.resource=r}async forceFlush(e){let r=this.spanProcessors.map(async o=>{await o.forceFlush(e)});await Promise.allSettled(r)}addToResource(e){this.resource.merge(e)}startSpan(e,r={},o=Re.active()){r.root&&(o=W.deleteSpan(o));let s=S();if(!s)throw new Error("Config is undefined. This is a bug in the instrumentation logic");let i=W.getSpan(o)?.spanContext(),{traceId:a,randomTraceFlag:c}=lr(i),l=r.kind||ir.INTERNAL,u=st(r.attributes),T=s.sampling.headSampler.shouldSample(o,a,e,l,u,[]),{decision:d,traceState:O,attributes:H}=T,g=Object.assign({},r.attributes,H,it);it={};let p=at.generateSpanId(),R=i?.spanId,pe=(d===cr.RECORD_AND_SAMPLED?nt.SAMPLED:nt.NONE)+c,le={traceId:a,spanId:p,traceFlags:pe,traceState:O},_=new Z({attributes:st(g),name:e,onEnd:n(ue=>{this.spanProcessors.forEach(Lt=>{Lt.onEnd(ue)})},"onEnd"),resource:this.resource,spanContext:le,parentSpanContext:i,parentSpanId:R,spanKind:l,startTime:r.startTime});return this.spanProcessors.forEach(ue=>{ue.onStart(_,o)}),_}startActiveSpan(e,...r){let o=r.length>1?r[0]:void 0,s=r.length>2?r[1]:Re.active(),i=r[r.length-1],a=this.startSpan(e,o,s),c=W.setSpan(s,a);return Re.with(c,i,void 0,a)}};function lr(t){if(t&&W.isSpanContextValid(t)){let{traceId:e,traceFlags:r}=t;return{traceId:e,randomTraceFlag:pr(r,2)}}else return{traceId:at.generateTraceId(),randomTraceFlag:2}}n(lr,"getTraceInfo");var Pe=class{static{n(this,"PromiseTracker")}_outstandingPromises=[];get outstandingPromiseCount(){return this._outstandingPromises.length}track(e){this._outstandingPromises.push(e)}async wait(){await dr(this._outstandingPromises)}};function ur(t,e,r){return B(t,{apply(s,i,a){return r.track(a[0]),Reflect.apply(s,e,a)}})}n(ur,"createWaitUntil");function ct(t){let e=new Pe;return{event:new Proxy(t,{get(o,s){if(s==="waitUntil"){let i=Reflect.get(o,s);return ur(i,t,e)}else return ge(o,s)}}),tracker:e}}n(ct,"proxyExecutionContext");async function dr(t){let e;do e=await Promise.allSettled(t);while(e.length!==t.length);return e}n(dr,"allSettledMutable");var A=class{static{n(this,"NoopLogger")}emit(e){}},pt=new A;var be=class{static{n(this,"NoopLoggerProvider")}getLogger(e,r,o){return new A}},q=new be;var K=class{static{n(this,"ProxyLogger")}constructor(e,r,o,s){this._provider=e,this.name=r,this.version=o,this.options=s}emit(e){this._getLogger().emit(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider.getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):pt}};var I=class{static{n(this,"ProxyLoggerProvider")}getLogger(e,r,o){var s;return(s=this.getDelegateLogger(e,r,o))!==null&&s!==void 0?s:new K(this,e,r,o)}getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:q}setDelegate(e){this._delegate=e}getDelegateLogger(e,r,o){var s;return(s=this._delegate)===null||s===void 0?void 0:s.getLogger(e,r,o)}};var Ce=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{};var F=Symbol.for("io.opentelemetry.js.api.logs"),y=Ce;function lt(t,e,r){return o=>o===t?e:r}n(lt,"makeGetter");var _e=1;var Y=class t{static{n(this,"LogsAPI")}constructor(){this._proxyLoggerProvider=new I}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return y[F]?this.getLoggerProvider():(y[F]=lt(_e,e,q),this._proxyLoggerProvider.setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=y[F])===null||e===void 0?void 0:e.call(y,_e))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,o){return this.getLoggerProvider().getLogger(e,r,o)}disable(){delete y[F],this._proxyLoggerProvider=new I}};var ut=Y.getInstance();import{diag as M}from"@opentelemetry/api";var E=class{static{n(this,"NoopLogger")}emit(e){}},k=new E;var ye=class{static{n(this,"NoopLoggerProvider")}getLogger(e,r,o){return new E}},X=new ye;var J=class{static{n(this,"ProxyLogger")}constructor(e,r,o,s){this._provider=e,this.name=r,this.version=o,this.options=s}emit(e){this._getLogger().emit(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider.getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):k}};var N=class{static{n(this,"ProxyLoggerProvider")}getLogger(e,r,o){var s;return(s=this.getDelegateLogger(e,r,o))!==null&&s!==void 0?s:new J(this,e,r,o)}getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:X}setDelegate(e){this._delegate=e}getDelegateLogger(e,r,o){var s;return(s=this._delegate)===null||s===void 0?void 0:s.getLogger(e,r,o)}};var Ee=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{};var D=Symbol.for("io.opentelemetry.js.api.logs"),L=Ee;function dt(t,e,r){return o=>o===t?e:r}n(dt,"makeGetter");var Le=1;var Q=class t{static{n(this,"LogsAPI")}constructor(){this._proxyLoggerProvider=new N}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return L[D]?this.getLoggerProvider():(L[D]=dt(Le,e,X),this._proxyLoggerProvider.setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=L[D])===null||e===void 0?void 0:e.call(L,Le))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,o){return this.getLoggerProvider().getLogger(e,r,o)}disable(){delete L[D],this._proxyLoggerProvider=new N}};var Is=Q.getInstance();import{defaultResource as hr}from"@opentelemetry/resources";import{BindOnceFuture as Tr,merge as xr}from"@opentelemetry/core";import{context as mr}from"@opentelemetry/api";import{diag as gr}from"@opentelemetry/api";import*as h from"@opentelemetry/api";import{timeInputToHrTime as gt,isAttributeValue as mt}from"@opentelemetry/core";var ee=class{static{n(this,"LogRecord")}hrTime;hrTimeObserved;spanContext;resource;instrumentationScope;attributes={};_severityText;_severityNumber;_body;totalAttributesCount=0;_isReadonly=!1;_logRecordLimits;set severityText(e){this._isLogRecordReadonly()||(this._severityText=e)}get severityText(){return this._severityText}set severityNumber(e){this._isLogRecordReadonly()||(this._severityNumber=e)}get severityNumber(){return this._severityNumber}set body(e){this._isLogRecordReadonly()||(this._body=e)}get body(){return this._body}get droppedAttributesCount(){return this.totalAttributesCount-Object.keys(this.attributes).length}constructor(e,r,o){let{timestamp:s,observedTimestamp:i,severityNumber:a,severityText:c,body:l,attributes:u={},context:m}=o,T=Date.now();if(this.hrTime=gt(s??T),this.hrTimeObserved=gt(i??T),m){let d=h.trace.getSpanContext(m);d&&h.isSpanContextValid(d)&&(this.spanContext=d)}this.severityNumber=a,this.severityText=c,this.body=l,this.resource=e.resource,this.instrumentationScope=r,this._logRecordLimits=e.logRecordLimits,this.setAttributes(u)}setAttribute(e,r){return this._isLogRecordReadonly()?this:r===null?this:e.length===0?(h.diag.warn(`Invalid attribute key: ${e}`),this):!mt(r)&&!(typeof r=="object"&&!Array.isArray(r)&&Object.keys(r).length>0)?(h.diag.warn(`Invalid attribute value set for key: ${e}`),this):(this.totalAttributesCount+=1,Object.keys(this.attributes).length>=this._logRecordLimits.attributeCountLimit&&!Object.prototype.hasOwnProperty.call(this.attributes,e)?(this.droppedAttributesCount===1&&h.diag.warn("Dropping extra attributes."),this):(mt(r)?this.attributes[e]=this._truncateToSize(r):this.attributes[e]=r,this))}setAttributes(e){for(let[r,o]of Object.entries(e))this.setAttribute(r,o);return this}setBody(e){return this.body=e,this}setSeverityNumber(e){return this.severityNumber=e,this}setSeverityText(e){return this.severityText=e,this}_makeReadonly(){this._isReadonly=!0}_truncateToSize(e){let r=this._logRecordLimits.attributeValueLengthLimit;return r<=0?(h.diag.warn(`Attribute value limit must be positive, got ${r}`),e):typeof e=="string"?this._truncateToLimitUtil(e,r):Array.isArray(e)?e.map(o=>typeof o=="string"?this._truncateToLimitUtil(o,r):o):e}_truncateToLimitUtil(e,r){return e.length<=r?e:e.substring(0,r)}_isLogRecordReadonly(){return this._isReadonly&&gr.warn("Can not execute the operation on emitted log record"),this._isReadonly}};var te=class{static{n(this,"Logger")}instrumentationScope;_sharedState;constructor(e,r){this.instrumentationScope=e,this._sharedState=r}emit(e){let r=e.context||mr.active(),o=new ee(this._sharedState,this.instrumentationScope,{context:r,...e});this._sharedState.activeProcessor.onEmit(o,r),o._makeReadonly()}};import{getNumberFromEnv as v}from"@opentelemetry/core";function ft(){return{forceFlushTimeoutMillis:3e4,logRecordLimits:{attributeValueLengthLimit:v("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT")??1/0,attributeCountLimit:v("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT")??128},includeTraceContext:!0}}n(ft,"loadDefaultConfig");function ht(t){return{attributeCountLimit:t.attributeCountLimit??v("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT")??v("OTEL_ATTRIBUTE_COUNT_LIMIT")??128,attributeValueLengthLimit:t.attributeValueLengthLimit??v("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT")??v("OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT")??1/0}}n(ht,"reconfigureLimits");var re=class{static{n(this,"NoopLogRecordProcessor")}forceFlush(){return Promise.resolve()}onEmit(e,r){}shutdown(){return Promise.resolve()}};import{callWithTimeout as fr}from"@opentelemetry/core";var w=class{static{n(this,"MultiLogRecordProcessor")}processors;forceFlushTimeoutMillis;constructor(e,r){this.processors=e,this.forceFlushTimeoutMillis=r}async forceFlush(){let e=this.forceFlushTimeoutMillis;await Promise.all(this.processors.map(r=>fr(r.forceFlush(),e)))}onEmit(e,r){this.processors.forEach(o=>o.onEmit(e,r))}async shutdown(){await Promise.all(this.processors.map(e=>e.shutdown()))}};var oe=class{static{n(this,"LoggerProviderSharedState")}resource;forceFlushTimeoutMillis;logRecordLimits;processors;loggers=new Map;activeProcessor;registeredLogRecordProcessors=[];constructor(e,r,o,s){this.resource=e,this.forceFlushTimeoutMillis=r,this.logRecordLimits=o,this.processors=s,s.length>0?(this.registeredLogRecordProcessors=s,this.activeProcessor=new w(this.registeredLogRecordProcessors,this.forceFlushTimeoutMillis)):this.activeProcessor=new re}};var Sr="unknown",G=class{static{n(this,"LoggerProvider")}_shutdownOnce;_sharedState;constructor(e={}){let r=xr({},ft(),e),o=e.resource??hr();this._sharedState=new oe(o,r.forceFlushTimeoutMillis,ht(r.logRecordLimits),e?.processors??[]),this._shutdownOnce=new Tr(this._shutdown,this)}getLogger(e,r,o){if(this._shutdownOnce.isCalled)return M.warn("A shutdown LoggerProvider cannot provide a Logger"),k;e||M.warn("Logger requested without instrumentation scope name.");let s=e||Sr,i=`${s}@${r||""}:${o?.schemaUrl||""}`;return this._sharedState.loggers.has(i)||this._sharedState.loggers.set(i,new te({name:s,version:r,schemaUrl:o?.schemaUrl},this._sharedState)),this._sharedState.loggers.get(i)}addLogRecordProcessor(e){this._sharedState.registeredLogRecordProcessors.length===0&&this._sharedState.activeProcessor.shutdown().catch(r=>M.error("Error while trying to shutdown current log record processor",r)),this._sharedState.registeredLogRecordProcessors.push(e),this._sharedState.activeProcessor=new w(this._sharedState.registeredLogRecordProcessors,this._sharedState.forceFlushTimeoutMillis)}forceFlush(){return this._shutdownOnce.isCalled?(M.warn("invalid attempt to force flush after LoggerProvider shutdown"),this._shutdownOnce.promise):this._sharedState.activeProcessor.forceFlush()}shutdown(){return this._shutdownOnce.isCalled?(M.warn("shutdown may only be called once per LoggerProvider"),this._shutdownOnce.promise):this._shutdownOnce.call()}_shutdown(){return this._sharedState.activeProcessor.shutdown()}};var ne=class{static{n(this,"ZuploOtelLogger")}baseLogger;constructor(e){this.baseLogger=e}emit(e){this.baseLogger.emit(e)}};var se=class extends G{static{n(this,"ZuploLoggerProvider")}getLogger(e,r,o){let s=super.getLogger(e,r,o);return new ne(s)}register(){ut.setGlobalLoggerProvider(this)}};import{trace as Rr}from"@opentelemetry/api";var ie=class{static{n(this,"ZuploTracerProvider")}spanProcessors;resource;tracers={};constructor(e,r){this.spanProcessors=e,this.resource=r}getTracer(e,r,o){let s=`${e}@${r||""}:${o?.schemaUrl||""}`;return this.tracers[s]||(this.tracers[s]=new b(this.spanProcessors,this.resource)),this.tracers[s]}register(){Rr.setGlobalTracerProvider(this)}};var Ar=n((t,e)=>{let r={[Er]:"zuplo",[yr]:"zuplo-api",[_r]:t.accountName,"cloud.project.id":t.projectName,"cloud.resource_id":t.deploymentName,"cloud.instance_id":t.instanceId,"deployment.environment.name":t.environmentStage,"zuplo.account_id":t.accountName,"zuplo.project_id":t.projectName,[Or]:"@zuplo/otel",[ae.ZuploBuildId]:t.buildId,[ae.ZuploBuildVersion]:t.zuploVersion,[ae.ZuploBuildCompatibilityDate]:t.compatibilityDate,[ae.ZuploEnvironmentType]:t.environmentType},o=ve({[Lr]:e.service?.name??t.projectName??t.deploymentName??"zuplo",[vr]:e.service?.namespace,[wr]:e.service?.version}),s=ve(r).merge(o);return e.resourceAttributes?s.merge(ve(e.resourceAttributes)):s},"createResource"),Tt=!1;function xt(t,e){if(!Tt){e.instrumentation.instrumentGlobalFetch&&Qe(),br.setGlobalPropagator(e.propagator);let r=Ar(t,e);new ie(e.spanProcessors,r).register(),e.logProcessors.length>0&&new se({resource:r,processors:e.logProcessors}).register(),Pr.setGlobalContextManager(new $),Tt=!0}}n(xt,"init");function bt(t,e){return typeof e=="function"?r=>{let o=he(e(r));return xt(t,o),o}:()=>{let r=he(e);return xt(t,r),r}}n(bt,"createInitializer");async function Ir(t,e){let r=Pt.getTracer("export");r instanceof b?(await scheduler.wait(1),await e?.wait(),await r.forceFlush(t)):console.error("The global tracer is not of type WorkerTracer and can not export spans")}n(Ir,"exportSpans");var St=!0;function Fr(t){return(e,r)=>{let[o,s]=r,{event:i,tracker:a}=ct(s),c=t.instrumentTrigger?t.instrumentTrigger(o):o,l=Pt.getTracer("handler"),{name:u,options:m,context:T}=t.getInitialSpanInfo(o),d=m.attributes||{};d["faas.coldstart"]=St,m.attributes=d,St=!1;let O=T||Rt.active();return l.startActiveSpan(u,m,O,async g=>{try{let p=await e(c,i);if(t.getAttributesFromResult){let R=t.getAttributesFromResult(p);g.setAttributes(R)}return t.executionSuccess&&t.executionSuccess(g,o,p),p}catch(p){throw g.recordException(p),g.setStatus({code:Cr.ERROR}),t.executionFailed&&t.executionFailed(g,o,p),p}finally{g.end(),s.waitUntil(Ir(g.spanContext().traceId,a))}})}}n(Fr,"createHandlerFlowFn");function Ct(t,e,r){return(o,s)=>{let i=e(o),a=Ze(i),c=Fr(r);return Rt.with(a,c,o,t,[o,s])}}n(Ct,"createHandlerProxy");var ot={name:"@zuplo/otel"};import{ConfigurationError as kr}from"@zuplo/runtime";var Nr="/v1/otel-traces",_t;function yt(t){_t=t}n(yt,"setManagedTraceEndpoint");function Dr(){return new kr("The Zuplo OpenTelemetry exporter (ZuploSpanExporter) is not available because the Zuplo-managed trace ingest is not configured for this deployment. This exporter only works in deployed Zuplo environments. For local development, configure your own `exporter` (or guard the ZuploSpanExporter behind an environment check) instead.")}n(Dr,"missingIngestError");var C=class{static{n(this,"ZuploSpanExporter")}delegate;resolveDelegate(){if(this.delegate)return this.delegate;let e=_t;if(!e||!e.token)throw Dr();return this.delegate=new x({url:new URL(Nr,e.url).toString(),headers:{authorization:`Bearer ${e.token}`}}),this.delegate}export(e,r){this.resolveDelegate().export(e,r)}shutdown(){return this.delegate?.shutdown()??Promise.resolve()}};function Et(t){return Array.isArray(t)?t.length>0:!!t}n(Et,"hasProcessors");function Ur(t){let e=t;return!!e.exporter||Et(e.spanProcessors)||Et(e.logProcessors)||!!(e.logUrl&&e.traceUrl)}n(Ur,"hasDestination");function Br(t){let e=t??{};return Ur(e)?e:{...e,spanProcessors:[new f(new C)]}}n(Br,"withZuploDefaults");function jr(t){let e=t;return e.exporter instanceof C?!0:e.spanProcessors?(Array.isArray(e.spanProcessors)?e.spanProcessors:[e.spanProcessors]).some(o=>o instanceof f&&o.exporter instanceof C):!1}n(jr,"usesZuploExporter");var we=class extends Gr{static{n(this,"OpenTelemetryPlugin")}config;constructor(e){super(),Hr("opentelemetry"),this.config=e}instrument(e){yt({url:e.__internalOnlyRemoteLogUrl,token:e.__internalOnlyRemoteLogToken});let r=Br(this.config);if(jr(r)&&!e.__internalOnlyRemoteLogToken)throw new Mr("The Zuplo OpenTelemetry exporter is not available in this environment because the Zuplo-managed trace ingest is not configured (no ingest token). This is expected during local development. Either configure your own `exporter` / `spanProcessors`, or guard the OpenTelemetryPlugin so it is only added in deployed environments.");let o=bt(e,r);return{requestHandlerProxy:n(i=>Ct(i,o,Je),"requestHandlerProxy")}}};export{x as a,f as b,C as c,we as d};
26
+ //# sourceMappingURL=chunk-7OZS33D5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@zuplo/otel/buffer.ts","@zuplo/otel/exporter.ts","@zuplo/otel/attributes-utils.ts","@zuplo/otel/wrap.ts","@zuplo/otel/plugin.ts","@zuplo/otel/instrumentation/fetch.ts","@zuplo/otel/config.ts","@zuplo/otel/logprocessor.ts","@zuplo/otel/sampling.ts","@zuplo/otel/spanprocessor.ts","@zuplo/otel/types.ts","@zuplo/otel/sdk.ts","@zuplo/otel/context.ts","@zuplo/otel/instrumentation/common.ts","@zuplo/otel/tracer.ts","@zuplo/otel/span.ts","../../../node_modules/@opentelemetry/api-logs/src/NoopLogger.ts","../../../node_modules/@opentelemetry/api-logs/src/NoopLoggerProvider.ts","../../../node_modules/@opentelemetry/api-logs/src/ProxyLogger.ts","../../../node_modules/@opentelemetry/api-logs/src/ProxyLoggerProvider.ts","../../../node_modules/@opentelemetry/api-logs/src/platform/browser/globalThis.ts","../../../node_modules/@opentelemetry/api-logs/src/internal/global-utils.ts","../../../node_modules/@opentelemetry/api-logs/src/api/logs.ts","../../../node_modules/@opentelemetry/api-logs/src/index.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/LoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/NoopLogger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/NoopLoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/ProxyLogger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/ProxyLoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/platform/browser/globalThis.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/internal/global-utils.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/api/logs.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/index.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/Logger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/LogRecord.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/config.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/export/NoopLogRecordProcessor.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/MultiLogRecordProcessor.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/internal/LoggerProviderSharedState.ts","@zuplo/otel/logger.ts","@zuplo/otel/logprovider.ts","@zuplo/otel/traceprovider.ts","@zuplo/otel/zuplo-exporter.ts"],"mappings":"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","names":["Buffer","ExportResultCode","JsonLogsSerializer","JsonTraceSerializer","BackgroundDispatcher","isPlainObject","value","__name","sanitizeValue","i","sanitizeEmptyAttributes","attributes","key","unwrapSymbol","isWrapped","item","__name","isProxyable","wrap","handler","autoPassthrough","proxyHandler","target","prop","receiver","passthroughGet","thisArg","argArray","unwrap","unwrappedTarget","value","args","defaultHeaders","OTLPSpanExporter","__name","config","spans","resultCallback","span","ExportResultCode","sanitizeEmptyAttributes","decoder","exportMessage","JsonTraceSerializer","body","response","unwrap","text","err","BackgroundDispatcher","OTLPLogExporter","exportConfig","batchConfig","logs","log","JsonLogsSerializer","ConfigurationError","TelemetryPlugin","trackFeature","apiContext","propagation","SpanKind","SpanStatusCode","trace","context","W3CTraceContextPropagator","DefaultLogProcessor","__name","exporter","logRecord","_result","SpanStatusCode","TraceFlags","ParentBasedSampler","TraceIdRatioBasedSampler","SemanticAttributes","internalTailSampler","sampler","traceInfo","localRootSpan","SemanticAttributes","__name","multiTailSampler","samplers","result","isHeadSampled","TraceFlags","isRootErrorSpan","SpanStatusCode","createSampler","conf","ratioSampler","TraceIdRatioBasedSampler","ParentBasedSampler","ExportResultCode","getSampler","conf","getActiveConfig","__name","TraceState","exporter","span","readableSpan","sampler","unfinishedSpans","spans","config","processedSpans","resolve","reject","result","ExportResultCode","BatchTraceSpanProcessor","traceId","traceState","parentContext","err","promises","isSpanProcessorConfig","config","__name","isProcessorConfig","hasSpanProcessors","hasLogProcessors","configSymbol","setConfig","config","ctx","context","__name","getActiveConfig","isSampler","sampler","isTraceConfigExporter","isSpanExporterInstance","exporter","isTraceAndLogConfigExporter","parseConfig","supplied","spanProcessors","logProcessors","OTLPSpanExporter","BatchTraceSpanProcessor","DefaultLogProcessor","OTLPLogExporter","isProcessorConfig","isSpanProcessorConfig","headSampleConf","headSampler","createSampler","spans","internalTailSampler","multiTailSampler","isHeadSampled","isRootErrorSpan","W3CTraceContextPropagator","gatherRequestAttributes","request","attrs","headers","u","__name","gatherResponseAttributes","response","getParentContextFromHeaders","propagation","apiContext","key","getParentContextFromRequest","workerConfig","getActiveConfig","updateSpanNameOnRoute","span","readable","method","fetchInstrumentation","spanContext","attributes","SpanKind","instrumentClientFetch","fetchFn","configFn","wrap","target","thisArg","argArray","activeConfig","config","tracer","trace","options","host","spanName","h","k","v","error","SpanStatusCode","instrumentGlobalFetch","apiContext","context","propagation","SpanStatusCode","trace","resourceFromAttributes","ATTR_CLOUD_ACCOUNT_ID","ATTR_CLOUD_PLATFORM","ATTR_CLOUD_PROVIDER","ATTR_SERVICE_NAME","ATTR_SERVICE_NAMESPACE","ATTR_SERVICE_VERSION","ATTR_TELEMETRY_SDK_NAME","SemanticAttributes","AsyncLocalStorage","EventEmitter","ROOT_CONTEXT","ADD_LISTENER_METHODS","AbstractAsyncHooksContextManager","__name","context","target","EventEmitter","manager","contextWrapper","args","ee","methodName","original","contextManager","event","listener","events","patchedListener","map","listeners","AsyncLocalStorageContextManager","AsyncLocalStorage","ROOT_CONTEXT","fn","thisArg","cb","trace","apiContext","SpanKind","TraceFlags","trace","sanitizeAttributes","RandomIdGenerator","SamplingDecision","SpanKind","SpanStatusCode","hrTimeDuration","isAttributeValue","isTimeInput","sanitizeAttributes","ATTR_EXCEPTION_MESSAGE","ATTR_EXCEPTION_STACKTRACE","ATTR_EXCEPTION_TYPE","transformExceptionAttributes","exception","attributes","ATTR_EXCEPTION_MESSAGE","ATTR_EXCEPTION_TYPE","ATTR_EXCEPTION_STACKTRACE","__name","millisToHr","millis","getHrTime","input","now","v","isAttributeKey","key","SpanImpl","SpanStatusCode","ZUPLO_INSTRUMENTATION_SCOPE","init","SpanKind","sanitizeAttributes","link","links","value","isAttributeValue","name","attributesOrStartTime","startTime","isTimeInput","time","status","endTime","hrTimeDuration","idGenerator","RandomIdGenerator","withNextSpanAttributes","getFlagAt","flagSequence","position","__name","WorkerTracer","spanProcessors","resource","traceId","promises","spanProcessor","extra","name","options","context","apiContext","trace","config","getActiveConfig","parentSpanContext","randomTraceFlag","getTraceInfo","spanKind","SpanKind","sanitisedAttrs","sanitizeAttributes","samplingDecision","decision","traceState","attrs","attributes","spanId","parentSpanId","traceFlags","SamplingDecision","TraceFlags","spanContext","span","SpanImpl","sp","args","parentContext","fn","contextWithSpanSet","getTraceInfo","parentSpanContext","trace","traceId","traceFlags","getFlagAt","idGenerator","__name","PromiseTracker","__name","promise","allSettledMutable","createWaitUntil","fn","context","tracker","wrap","target","_thisArg","argArray","proxyExecutionContext","prop","passthroughGet","allSettledMutable","promises","values","__name","NoopLogger","__name","_logRecord","NOOP_LOGGER","NoopLoggerProvider","__name","_name","_version","_options","NoopLogger","NOOP_LOGGER_PROVIDER","ProxyLogger","__name","_provider","name","version","options","logRecord","logger","NOOP_LOGGER","ProxyLoggerProvider","__name","name","version","options","_a","ProxyLogger","NOOP_LOGGER_PROVIDER","delegate","_globalThis","GLOBAL_LOGS_API_KEY","_global","_globalThis","makeGetter","requiredVersion","instance","fallback","version","__name","API_BACKWARDS_COMPATIBILITY_VERSION","LogsAPI","_LogsAPI","__name","ProxyLoggerProvider","provider","_global","GLOBAL_LOGS_API_KEY","makeGetter","API_BACKWARDS_COMPATIBILITY_VERSION","NOOP_LOGGER_PROVIDER","_b","_a","name","version","options","logs","LogsAPI","diag","NoopLogger","__name","_logRecord","NOOP_LOGGER","NoopLoggerProvider","__name","_name","_version","_options","NoopLogger","NOOP_LOGGER_PROVIDER","ProxyLogger","__name","_provider","name","version","options","logRecord","logger","NOOP_LOGGER","ProxyLoggerProvider","__name","name","version","options","_a","ProxyLogger","NOOP_LOGGER_PROVIDER","delegate","_globalThis","GLOBAL_LOGS_API_KEY","_global","_globalThis","makeGetter","requiredVersion","instance","fallback","version","__name","API_BACKWARDS_COMPATIBILITY_VERSION","LogsAPI","_LogsAPI","__name","ProxyLoggerProvider","provider","_global","GLOBAL_LOGS_API_KEY","makeGetter","API_BACKWARDS_COMPATIBILITY_VERSION","NOOP_LOGGER_PROVIDER","_b","_a","name","version","options","logs","LogsAPI","defaultResource","BindOnceFuture","merge","context","diag","api","timeInputToHrTime","isAttributeValue","LogRecord","__name","severityText","severityNumber","body","_sharedState","instrumentationScope","logRecord","timestamp","observedTimestamp","attributes","context","now","timeInputToHrTime","spanContext","key","value","isAttributeValue","k","v","limit","val","diag","Logger","__name","instrumentationScope","_sharedState","logRecord","currentContext","context","logRecordInstance","LogRecord","getNumberFromEnv","loadDefaultConfig","getNumberFromEnv","__name","reconfigureLimits","logRecordLimits","NoopLogRecordProcessor","__name","_logRecord","_context","callWithTimeout","MultiLogRecordProcessor","__name","processors","forceFlushTimeoutMillis","timeout","processor","callWithTimeout","logRecord","context","LoggerProviderSharedState","__name","resource","forceFlushTimeoutMillis","logRecordLimits","processors","MultiLogRecordProcessor","NoopLogRecordProcessor","DEFAULT_LOGGER_NAME","LoggerProvider","__name","config","mergedConfig","merge","loadDefaultConfig","resource","defaultResource","LoggerProviderSharedState","reconfigureLimits","BindOnceFuture","name","version","options","diag","NOOP_LOGGER","loggerName","key","Logger","processor","err","MultiLogRecordProcessor","ZuploOtelLogger","__name","baseLogger","logRecord","ZuploLoggerProvider","LoggerProvider","__name","name","_version","_options","baseLogger","ZuploOtelLogger","logs","trace","ZuploTracerProvider","__name","spanProcessors","resource","name","version","options","key","WorkerTracer","trace","createResource","__name","options","config","runtimeResourceAttrs","ATTR_CLOUD_PROVIDER","ATTR_CLOUD_PLATFORM","ATTR_CLOUD_ACCOUNT_ID","ATTR_TELEMETRY_SDK_NAME","SemanticAttributes","serviceResource","resourceFromAttributes","ATTR_SERVICE_NAME","ATTR_SERVICE_NAMESPACE","ATTR_SERVICE_VERSION","resource","initialised","init","instrumentGlobalFetch","propagation","otelResource","ZuploTracerProvider","ZuploLoggerProvider","context","AsyncLocalStorageContextManager","createInitializer","trigger","conf","parseConfig","exportSpans","traceId","tracker","tracer","trace","WorkerTracer","coldStart","createHandlerFlowFn","instrumentation","handlerFn","args","proxiedCtx","proxyExecutionContext","instrumentedTrigger","name","spanContext","attrs","parentContext","apiContext","span","result","attributes","error","SpanStatusCode","createHandlerProxy","initializer","ctx","setConfig","flowFn","ZUPLO_INSTRUMENTATION_SCOPE","ConfigurationError","OTEL_TRACES_PATH","managedEndpoint","setManagedTraceEndpoint","endpoint","__name","missingIngestError","ConfigurationError","__name","ZuploSpanExporter","endpoint","managedEndpoint","OTLPSpanExporter","OTEL_TRACES_PATH","spans","resultCallback","hasProcessors","value","__name","hasDestination","config","c","withZuploDefaults","base","BatchTraceSpanProcessor","ZuploSpanExporter","usesZuploExporter","processor","OpenTelemetryPlugin","TelemetryPlugin","trackFeature","options","setManagedTraceEndpoint","ConfigurationError","initializer","createInitializer","wrapped","createHandlerProxy","fetchInstrumentation"]}
package/out/esm/index.js CHANGED
@@ -22,5 +22,5 @@
22
22
  * DEALINGS IN THE SOFTWARE.
23
23
  *--------------------------------------------------------------------------------------------*/
24
24
 
25
- import{a}from"./chunk-V3GNZRVP.js";export{a as OpenTelemetryPlugin};
25
+ import{a,b,c,d}from"./chunk-7OZS33D5.js";export{b as BatchTraceSpanProcessor,a as OTLPSpanExporter,d as OpenTelemetryPlugin,c as ZuploSpanExporter};
26
26
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,13 @@
1
+ import { Attributes } from "@opentelemetry/api";
2
+ import { BackgroundDispatcher } from "@zuplo/runtime";
3
+ import { Context } from "@opentelemetry/api";
4
+ import { ExportResult } from "@opentelemetry/core";
1
5
  import { LogRecordProcessor } from "@opentelemetry/sdk-logs";
2
6
  import { ReadableSpan } from "@opentelemetry/sdk-trace-base";
3
7
  import { RequestHandlerProxy } from "@zuplo/runtime";
4
8
  import { Sampler } from "@opentelemetry/sdk-trace-base";
9
+ import { Span } from "@opentelemetry/api";
10
+ import { SpanExporter } from "@opentelemetry/sdk-trace-base";
5
11
  import { SpanProcessor } from "@opentelemetry/sdk-trace-base";
6
12
  import { TelemetryInitializationOptions } from "@zuplo/runtime";
7
13
  import { TelemetryPlugin } from "@zuplo/runtime";
@@ -9,6 +15,25 @@ import { TextMapPropagator } from "@opentelemetry/api";
9
15
 
10
16
  declare type AcceptTraceContextFn = (request: Request) => boolean;
11
17
 
18
+ /**
19
+ * Span processor that batches spans per trace and flushes them to the given
20
+ * `OTLPSpanExporter` (or any `SpanExporter`). This is the Zuplo-aware
21
+ * processor used internally; it is exported so consumers can register an
22
+ * additional span destination via `TraceConfig.spanProcessors`.
23
+ *
24
+ * @public
25
+ */
26
+ export declare class BatchTraceSpanProcessor implements TraceFlushableSpanProcessor {
27
+ readonly exporter: SpanExporter;
28
+ private traces;
29
+ constructor(exporter: SpanExporter);
30
+ getTraceState(traceId: string): TraceState;
31
+ onStart(span: Span, parentContext: Context): void;
32
+ onEnd(span: ReadableSpan): void;
33
+ forceFlush(traceId?: TraceId): Promise<void>;
34
+ shutdown(): Promise<void>;
35
+ }
36
+
12
37
  declare interface FetcherConfig {
13
38
  includeTraceContext?: boolean | IncludeTraceContextFn;
14
39
  }
@@ -43,103 +68,117 @@ declare interface LocalTrace {
43
68
  /**
44
69
  * OpenTelemetry plugin for distributed tracing in Zuplo.
45
70
  * Automatically instruments HTTP requests, policies, and handlers to provide
46
- * comprehensive observability data that can be exported to various backends.
71
+ * comprehensive observability data.
72
+ *
73
+ * Spans are sent to the Zuplo-managed trace ingest by default (no
74
+ * configuration required) and/or to any OTLP destination(s) you configure.
47
75
  *
48
76
  * @public
49
77
  * @example
50
78
  * ```typescript
51
- * // zuplo.runtime.ts
52
- * import { RuntimeExtensions, environment } from "@zuplo/runtime";
79
+ * // zuplo.runtime.ts — send traces to Zuplo (the default)
80
+ * import { RuntimeExtensions } from "@zuplo/runtime";
53
81
  * import { OpenTelemetryPlugin } from "@zuplo/otel";
54
82
  *
55
83
  * export function runtimeInit(runtime: RuntimeExtensions) {
56
- * // Configure OTLP exporter
57
- * runtime.addPlugin(
58
- * new OpenTelemetryPlugin({
59
- * url: environment.OTLP_ENDPOINT,
60
- * headers: {
61
- * "api-key": environment.OTLP_API_KEY
62
- * }
63
- * })
64
- * );
84
+ * // No arguments required — `service.name` defaults to the project name.
85
+ * runtime.addPlugin(new OpenTelemetryPlugin());
65
86
  * }
66
87
  * ```
67
88
  *
68
89
  * @example
69
90
  * ```typescript
70
- * // With log and trace exporter
91
+ * // Name the service explicitly; still defaults to the Zuplo exporter.
71
92
  * runtime.addPlugin(
72
93
  * new OpenTelemetryPlugin({
73
- * logUrl: environment.OTLP_LOG_ENDPOINT,
74
- * traceUrl: environment.OTLP_TRACE_ENDPOINT,
75
- * headers: {
76
- * "Authorization": "Bearer " + environment.OTEL_TOKEN
77
- * }
94
+ * service: { name: "my-api" },
78
95
  * })
79
96
  * );
80
97
  * ```
81
98
  *
82
99
  * @example
83
100
  * ```typescript
84
- * // With custom span processors
85
- * import { OpenTelemetryPlugin } from "@zuplo/otel";
86
- * import { ConsoleSpanExporter, SimpleSpanProcessor } from "@opentelemetry/sdk-trace-base";
87
- *
88
- * runtime.addPlugin(
89
- * new OpenTelemetryPlugin({
90
- * spanProcessors: [
91
- * new SimpleSpanProcessor(new ConsoleSpanExporter())
92
- * ]
93
- * })
94
- * );
95
- * ```
101
+ * // Fan out to Zuplo and your own collector at the same time.
102
+ * import {
103
+ * OpenTelemetryPlugin,
104
+ * OTLPSpanExporter,
105
+ * BatchTraceSpanProcessor,
106
+ * ZuploSpanExporter,
107
+ * } from "@zuplo/otel";
108
+ * import { environment } from "@zuplo/runtime";
96
109
  *
97
- * @example
98
- * ```typescript
99
- * // With log and trace exporter and custom span processors
100
110
  * runtime.addPlugin(
101
111
  * new OpenTelemetryPlugin({
112
+ * service: { name: "my-api" },
102
113
  * spanProcessors: [
103
- * new SimpleSpanProcessor(new ConsoleSpanExporter())
114
+ * new BatchTraceSpanProcessor(
115
+ * new OTLPSpanExporter({ url: environment.OTLP_ENDPOINT })
116
+ * ),
117
+ * new BatchTraceSpanProcessor(new ZuploSpanExporter()),
104
118
  * ],
105
- * logProcessors: [
106
- * new BatchLogRecordProcessor(new ConsoleLogRecordExporter())
107
- * ]
108
119
  * })
109
120
  * );
110
121
  * ```
111
122
  *
112
123
  * @example
113
124
  * ```typescript
114
- * // Multiple exporters with custom configuration
125
+ * // Send only to your own OTLP collector (no Zuplo ingest).
126
+ * import { OpenTelemetryPlugin } from "@zuplo/otel";
127
+ * import { environment } from "@zuplo/runtime";
128
+ *
115
129
  * runtime.addPlugin(
116
130
  * new OpenTelemetryPlugin({
117
- * url: "https://otel-collector.example.com/v1/traces",
118
- * headers: {
119
- * "Authorization": "Bearer " + environment.OTEL_TOKEN
131
+ * service: { name: "my-api" },
132
+ * exporter: {
133
+ * url: environment.OTLP_ENDPOINT,
134
+ * headers: { authorization: `Bearer ${environment.OTEL_TOKEN}` },
120
135
  * },
121
- * // Custom resource attributes
122
- * serviceName: "my-api",
123
- * serviceVersion: "1.0.0",
124
- * // Sampling configuration
125
- * samplingRate: 0.1 // Sample 10% of requests
126
136
  * })
127
137
  * );
128
138
  * ```
129
139
  */
130
140
  export declare class OpenTelemetryPlugin extends TelemetryPlugin {
131
141
  private config;
132
- constructor(config: TraceConfig);
142
+ constructor(config?: TraceConfig);
133
143
  instrument(options: TelemetryInitializationOptions): {
134
144
  requestHandlerProxy: RequestHandlerProxy;
135
145
  };
136
146
  }
137
147
 
138
- declare interface OTLPExporterConfig {
148
+ /**
149
+ * Configuration for an OTLP/HTTP exporter.
150
+ *
151
+ * Only the HTTP(S) protocol is supported. Use `headers` to pass
152
+ * authentication (e.g. `{ authorization: "Bearer <token>" }`).
153
+ *
154
+ * @public
155
+ */
156
+ export declare interface OTLPExporterConfig {
139
157
  url: string;
140
158
  headers?: Record<string, string>;
141
159
  }
142
160
 
161
+ /**
162
+ * Exports spans to an OTLP/HTTP endpoint as OTLP JSON. Pair with a
163
+ * `BatchTraceSpanProcessor` and pass it via `TraceConfig.spanProcessors`
164
+ * to send spans to an additional destination.
165
+ *
166
+ * @public
167
+ */
168
+ export declare class OTLPSpanExporter implements SpanExporter {
169
+ private headers;
170
+ private url;
171
+ constructor(config: OTLPExporterConfig);
172
+ export(
173
+ spans: ReadableSpan[],
174
+ resultCallback: (result: ExportResult) => void
175
+ ): void;
176
+ shutdown(): Promise<void>;
177
+ forceFlush?(): Promise<void>;
178
+ dispatchFunction: (spans: ReadableSpan[]) => Promise<void>;
179
+ batcher: BackgroundDispatcher<ReadableSpan>;
180
+ }
181
+
143
182
  declare interface ParentRatioSamplingConfig {
144
183
  acceptRemote?: boolean;
145
184
  ratio: number;
@@ -258,6 +297,7 @@ declare interface TraceAndLogConfigProcessors extends TraceConfigBase {
258
297
  * ```
259
298
  */
260
299
  export declare type TraceConfig =
300
+ | TraceConfigBase
261
301
  | TraceConfigExporter
262
302
  | TraceConfigSpanProcessors
263
303
  | TraceAndLogConfigExporter
@@ -268,21 +308,54 @@ export declare type TraceConfig =
268
308
  * @public
269
309
  */
270
310
  declare interface TraceConfigBase {
271
- service: ServiceConfig;
311
+ /**
312
+ * Service identity for the emitted spans. Optional — when omitted,
313
+ * `service.name` defaults to the Zuplo project name.
314
+ */
315
+ service?: ServiceConfig;
272
316
  handlers?: HandlerConfig;
273
317
  fetch?: FetcherConfig;
274
318
  postProcessor?: PostProcessorFn;
275
319
  sampling?: SamplingConfig;
276
320
  propagator?: TextMapPropagator;
277
321
  instrumentation?: InstrumentationOptions;
322
+ /**
323
+ * Additional OpenTelemetry Resource attributes to attach to every span
324
+ * emitted by this provider. Merged on top of the Zuplo-supplied resource
325
+ * (service / cloud / build identifiers), so any key set here overrides the
326
+ * default of the same name.
327
+ *
328
+ * Use this to tag spans with the attributes a downstream sink expects — for
329
+ * example, when fanning out to a second OTLP destination that keys ingestion
330
+ * on `zuplo.account_id` / `zuplo.project_id`:
331
+ *
332
+ * @example
333
+ * ```typescript
334
+ * const config: TraceConfig = {
335
+ * service: { name: "my-api" },
336
+ * spanProcessors: [
337
+ * new BatchTraceSpanProcessor(new OTLPSpanExporter(byoExporterConfig)),
338
+ * new BatchTraceSpanProcessor(new OTLPSpanExporter(zuploExporterConfig)),
339
+ * ],
340
+ * resourceAttributes: {
341
+ * "zuplo.account_id": "acme",
342
+ * "zuplo.project_id": "my-api",
343
+ * },
344
+ * };
345
+ * ```
346
+ */
347
+ resourceAttributes?: Attributes;
278
348
  }
279
349
 
280
350
  /**
281
- * Trace configuration with an explicit exporter for traces.
351
+ * Trace configuration with an explicit exporter for traces. The `exporter` may
352
+ * be an {@link OTLPExporterConfig} (which is wrapped in a batching span
353
+ * processor for you) or any OpenTelemetry `SpanExporter` instance — for
354
+ * example `new ZuploSpanExporter()`.
282
355
  * @public
283
356
  */
284
357
  declare interface TraceConfigExporter extends TraceConfigBase {
285
- exporter: OTLPExporterConfig;
358
+ exporter: OTLPExporterConfig | SpanExporter;
286
359
  }
287
360
 
288
361
  /**
@@ -293,4 +366,57 @@ declare interface TraceConfigSpanProcessors extends TraceConfigBase {
293
366
  spanProcessors: SpanProcessor | SpanProcessor[];
294
367
  }
295
368
 
369
+ declare type TraceFlushableSpanProcessor = SpanProcessor & {
370
+ forceFlush: (traceId?: string) => Promise<void>;
371
+ };
372
+
373
+ declare type TraceId = string;
374
+
375
+ declare class TraceState {
376
+ private unexportedSpans;
377
+ private inprogressSpans;
378
+ private exporter;
379
+ private exportPromises;
380
+ private localRootSpan?;
381
+ private traceDecision?;
382
+ isFlushed: boolean;
383
+ constructor(exporter: SpanExporter);
384
+ addSpan(span: Span): void;
385
+ hasFinished(): boolean;
386
+ endSpan(span: ReadableSpan): Promise<void>;
387
+ sample(): void;
388
+ flush(): Promise<void>;
389
+ private isSpanInProgress;
390
+ private exportSpans;
391
+ }
392
+
393
+ /**
394
+ * Span exporter that ships spans to the Zuplo-managed trace ingest, where they
395
+ * become queryable in the Zuplo portal. Add it like any other exporter — wrap
396
+ * it in a {@link BatchTraceSpanProcessor} (or pass it as `exporter`) — to send
397
+ * traces to Zuplo alongside any of your own destinations:
398
+ *
399
+ * @public
400
+ * @example
401
+ * ```typescript
402
+ * new OpenTelemetryPlugin({
403
+ * service: { name: "my-api" },
404
+ * exporter: new ZuploSpanExporter(),
405
+ * });
406
+ * ```
407
+ *
408
+ * The ingest endpoint and credentials are resolved from the Zuplo runtime; no
409
+ * configuration is required. If managed ingest is not available in the current
410
+ * environment, the exporter throws a `ConfigurationError`.
411
+ */
412
+ export declare class ZuploSpanExporter implements SpanExporter {
413
+ private delegate;
414
+ private resolveDelegate;
415
+ export(
416
+ spans: ReadableSpan[],
417
+ resultCallback: (result: ExportResult) => void
418
+ ): void;
419
+ shutdown(): Promise<void>;
420
+ }
421
+
296
422
  export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zuplo/otel",
3
3
  "type": "module",
4
- "version": "6.71.2",
4
+ "version": "6.71.6",
5
5
  "repository": "https://github.com/zuplo/zuplo",
6
6
  "author": "Zuplo, Inc.",
7
7
  "exports": {
@@ -40,6 +40,6 @@
40
40
  "@opentelemetry/semantic-conventions": "1.34.0"
41
41
  },
42
42
  "peerDependencies": {
43
- "@zuplo/runtime": "6.71.2"
43
+ "@zuplo/runtime": "6.71.6"
44
44
  }
45
45
  }
@@ -1,26 +0,0 @@
1
-
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Zuplo, Inc. All rights reserved.
4
- *
5
- * This software and associated documentation files (the "Software") is intended to be used
6
- * only by Zuplo customers solely to develop and test applications that will be deployed
7
- * to Zuplo hosted services. You and others in your organization may use these files on your
8
- * Development Devices solely for the above stated purpose.
9
- *
10
- * Outside of uses stated above, no license is granted for any other purpose including
11
- * without limitation the rights to use, copy, modify, merge, publish, distribute,
12
- * sublicense, host, and/or sell copies of the Software.
13
- *
14
- * The software may include third party components with separate legal notices or governed by
15
- * other agreements, as described in licenses either embedded in or accompanying the Software.
16
- *
17
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
19
- * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
20
- * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
21
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
- * DEALINGS IN THE SOFTWARE.
23
- *--------------------------------------------------------------------------------------------*/
24
-
25
- var Ct=Object.defineProperty;var n=(r,e)=>Ct(r,"name",{value:e,configurable:!0});import{Buffer as yt}from"node:buffer";globalThis.Buffer=yt;import{TelemetryPlugin as wr,trackFeature as Or}from"@zuplo/runtime";import{context as j,propagation as We,SpanKind as qe,SpanStatusCode as Mt,trace as Ht}from"@opentelemetry/api";import{context as Ve}from"@opentelemetry/api";import{W3CTraceContextPropagator as kt}from"@opentelemetry/core";import{ExportResultCode as Oe}from"@opentelemetry/core";import{JsonLogsSerializer as Et,JsonTraceSerializer as wt}from"@opentelemetry/otlp-transformer";import{BackgroundDispatcher as Ae}from"@zuplo/runtime";function Lt(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}n(Lt,"isPlainObject");function Ee(r){if(r==null)return"";if(Array.isArray(r)){for(let e=0;e<r.length;e+=1)r[e]=Ee(r[e]);return r}return Lt(r)&&H(r),r}n(Ee,"sanitizeValue");function H(r){Object.keys(r).forEach(e=>{r[e]=Ee(r[e])})}n(H,"sanitizeEmptyAttributes");var ue=Symbol("unwrap");function we(r){return r&&!!r[ue]}n(we,"isWrapped");function vt(r){return r!==null&&typeof r=="object"||typeof r=="function"}n(vt,"isProxyable");function U(r,e,t=!0){if(we(r)||!vt(r))return r;let o=Object.assign({},e);return o.get=(s,i,a)=>{if(i===ue)return r;if(e.get)return e.get(s,i,a);if(i==="bind")return()=>a;if(t)return de(s,i)},o.apply=(s,i,a)=>{if(e.apply)return e.apply(S(s),S(i),a)},new Proxy(r,o)}n(U,"wrap");function S(r){return r&&we(r)?r[ue]:r}n(S,"unwrap");function de(r,e,t){let o=S(r);t=S(t)||o;let s=Reflect.get(o,e);return typeof s=="function"?s.constructor.name==="RpcProperty"?(...i)=>o[e](...i):s.bind(t):s}n(de,"passthroughGet");var Ie={accept:"application/json","content-type":"application/json"},E=class{static{n(this,"OTLPSpanExporter")}headers;url;constructor(e){this.url=e.url,this.headers=Object.assign({},Ie,e.headers)}export(e,t){e.forEach(o=>{this.batcher.enqueue(o)}),t({code:Oe.SUCCESS})}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}dispatchFunction=n(async e=>{if(e.length===0)return;e.forEach(a=>{H(a.attributes)});let t=new TextDecoder,o=wt.serializeRequest(e),s=t.decode(o),i=await S(fetch)(this.url,{method:"POST",body:s,headers:this.headers});if(!i.ok)try{let a=await i.text();throw new Error(`Error exporting traces: ${i.status}:${a}`)}catch(a){throw new Error(`Error exporting traces ${a.message}`)}},"dispatchFunction");batcher=new Ae(this.dispatchFunction,{msDelay:10})},B=class{static{n(this,"OTLPLogExporter")}headers;url;batcher;constructor(e,t){this.url=e.url,this.headers=Object.assign({},Ie,e.headers),this.batcher=new Ae(this.dispatchFunction,{msDelay:t?.scheduledDelayMillis??10})}export(e,t){e.forEach(o=>{this.batcher.enqueue(o)}),t({code:Oe.SUCCESS})}shutdown(){return Promise.resolve()}dispatchFunction=n(async e=>{if(e.length===0)return;e.forEach(a=>{H(a.attributes)});let t=new TextDecoder,o=Et.serializeRequest(e),s=t.decode(o),i=await S(fetch)(this.url,{method:"POST",body:s,headers:this.headers});if(!i.ok)try{let a=await i.text();throw new Error(`Error exporting OTel logs: ${i.status}:${a}`)}catch(a){throw new Error(`Error exporting OTel logs: ${a.message}`)}},"dispatchFunction")};var V=class{static{n(this,"DefaultLogProcessor")}exporter;constructor(e){this.exporter=e}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}onEmit(e){this.exporter.export([e],t=>{})}};import{SpanStatusCode as Ot,TraceFlags as Fe}from"@opentelemetry/api";import{ParentBasedSampler as ke,TraceIdRatioBasedSampler as At}from"@opentelemetry/sdk-trace-base";import{SemanticAttributes as ge}from"@zuplo/runtime";function Ne(r){return e=>{let t=e.localRootSpan;return t.attributes[ge.SystemTrace]??t.attributes[ge.RouteSystem]??t.attributes[ge.RouteTrace]===!1?!1:r(e)}}n(Ne,"internalTailSampler");function De(r){return e=>r.reduce((t,o)=>t||o(e),!1)}n(De,"multiTailSampler");var Ge=n(r=>(r.localRootSpan.spanContext().traceFlags&Fe.SAMPLED)===Fe.SAMPLED,"isHeadSampled"),Me=n(r=>r.localRootSpan.status.code===Ot.ERROR,"isRootErrorSpan");function He(r){let e=new At(r.ratio);return typeof r.acceptRemote=="boolean"&&!r.acceptRemote?new ke({root:e,remoteParentSampled:e,remoteParentNotSampled:e}):new ke({root:e})}n(He,"createSampler");import{ExportResultCode as It}from"@opentelemetry/core";function Ft(){let r=T();return r||console.log("Could not find config for sampling, sending everything by default"),r?r.sampling.tailSampler:()=>!0}n(Ft,"getSampler");var me=class{static{n(this,"TraceState")}unexportedSpans=[];inprogressSpans=new Set;exporter;exportPromises=[];localRootSpan;traceDecision;isFlushed=!1;constructor(e){this.exporter=e}addSpan(e){let t=e;this.localRootSpan=this.localRootSpan||t,this.unexportedSpans.push(t),this.inprogressSpans.add(e.spanContext().spanId)}hasFinished(){return this.inprogressSpans.size===0&&this.isFlushed}async endSpan(e){this.inprogressSpans.delete(e.spanContext().spanId),this.inprogressSpans.size===0&&await this.flush()}sample(){if(this.traceDecision===void 0&&this.unexportedSpans.length>0){let e=Ft();this.traceDecision=e({traceId:this.localRootSpan.spanContext().traceId,localRootSpan:this.localRootSpan,spans:this.unexportedSpans})}this.unexportedSpans=this.traceDecision?this.unexportedSpans:[]}async flush(){if(this.unexportedSpans.length>0){let e=this.unexportedSpans.filter(t=>this.isSpanInProgress(t));for(let t of e)console.log(`Span ${t.spanContext().spanId} was not ended properly`),t.end();this.sample(),this.exportPromises.push(this.exportSpans([...this.unexportedSpans])),this.unexportedSpans=[]}this.exportPromises.length>0&&(await Promise.allSettled(this.exportPromises),this.exportPromises=[],this.isFlushed=!0)}isSpanInProgress(e){return this.inprogressSpans.has(e.spanContext().spanId)}async exportSpans(e){let t=T();if(!t){console.log("No config found for exporting spans, skipping export");return}let o=t.postProcessor(e);await scheduler.wait(1),await new Promise((i,a)=>{this.exporter.export(o,c=>{c.code===It.SUCCESS?i():(console.log(`exporting spans failed! ${c.error}`),a(c.error))})})}},w=class{constructor(e){this.exporter=e}static{n(this,"BatchTraceSpanProcessor")}traces={};getTraceState(e){let t=this.traces[e]||new me(this.exporter);return this.traces[e]=t,t}onStart(e,t){let o=e.spanContext().traceId;this.getTraceState(o).addSpan(e)}onEnd(e){let t=e.spanContext().traceId,o=this.getTraceState(t);o.endSpan(e).catch(s=>{console.log(s,"Failed to end span")}).finally(()=>{o.hasFinished()&&delete this.traces[t]})}async forceFlush(e){if(e)await this.getTraceState(e).flush(),delete this.traces[e];else{let t=Object.values(this.traces).map(o=>o.flush);await Promise.allSettled(t),this.traces={}}}async shutdown(){await this.forceFlush()}};function Ue(r){return!!r.spanProcessors}n(Ue,"isSpanProcessorConfig");function Be(r){let e=!!r.spanProcessors,t=!!r.logProcessors;return e&&t}n(Be,"isProcessorConfig");var je=Symbol("Otel Tracing Configuration");function ze(r,e=Ve.active()){return e.setValue(je,r)}n(ze,"setConfig");function T(){return Ve.active().getValue(je)||void 0}n(T,"getActiveConfig");function Nt(r){return!!r.shouldSample}n(Nt,"isSampler");function Dt(r){return!!r.exporter}n(Dt,"isTraceConfigExporter");function Gt(r){return!!r.logUrl&&!!r.traceUrl&&!!r.headers}n(Gt,"isTraceAndLogConfigExporter");function fe(r){let e=[],t=[];Dt(r)?e=[new w(new E(r.exporter))]:Gt(r)?(e=[new w(new E({url:r.traceUrl,headers:r.headers}))],t=[new V(new B({url:r.logUrl,headers:r.headers}))]):Be(r)?(e=Array.isArray(r.spanProcessors)?r.spanProcessors:[r.spanProcessors],t=Array.isArray(r.logProcessors)?r.logProcessors:[r.logProcessors]):Ue(r)&&(e=Array.isArray(r.spanProcessors)?r.spanProcessors:[r.spanProcessors]);let o=r.sampling?.headSampler||{ratio:1},s=Nt(o)?o:He(o);return{fetch:{includeTraceContext:r.fetch?.includeTraceContext??!0},handlers:{fetch:{acceptTraceContext:r.handlers?.fetch?.acceptTraceContext??!0}},postProcessor:r.postProcessor||(i=>i),sampling:{headSampler:s,tailSampler:Ne(r.sampling?.tailSampler??De([Ge,Me]))},service:r.service,spanProcessors:e,propagator:r.propagator||new kt,instrumentation:{instrumentGlobalFetch:r.instrumentation?.instrumentGlobalFetch??!0},logProcessors:t}}n(fe,"parseConfig");function Ke(r){let e={},t=r.headers;e["http.request.method"]=r.method.toUpperCase(),e["http.request.body.size"]=t.get("content-length"),e["user_agent.original"]=t.get("user-agent"),e["http.mime_type"]=t.get("content-type"),e["http.accepts"]=t.get("accept");let o=new URL(r.url);return e["url.full"]=`${o.protocol}//${o.host}${o.pathname}${o.search}`,e["server.address"]=o.host,e["url.scheme"]=o.protocol,e["url.path"]=o.pathname,e["url.query"]=o.search,e}n(Ke,"gatherRequestAttributes");function Ze(r){let e={};return e["http.response.status_code"]=r.status,r.headers.get("content-length")==null&&(e["http.response.body.size"]=r.headers.get("content-length")),e["http.mime_type"]=r.headers.get("content-type"),e}n(Ze,"gatherResponseAttributes");function Ut(r){return We.extract(j.active(),r,{get(e,t){return e.get(t)||void 0},keys(e){return[...e.keys()]}})}n(Ut,"getParentContextFromHeaders");function Bt(r){let e=T();return e===void 0?j.active():(typeof e.handlers.fetch.acceptTraceContext=="function"?e.handlers.fetch.acceptTraceContext(r):e.handlers.fetch.acceptTraceContext??!0)?Ut(r.headers):j.active()}n(Bt,"getParentContextFromRequest");function $e(r,e){let t=r;if(t.attributes["http.route"]){let o=e.method.toUpperCase();r.updateName(`${o} ${t.attributes["http.route"]}`)}}n($e,"updateSpanNameOnRoute");var Ye={getInitialSpanInfo:n(r=>{let e=Bt(r),t={"faas.trigger":"http","faas.invocation_id":r.headers.get("zp-rid")??void 0,"cf.ray_id":r.headers.get("cf-ray")??void 0};return Object.assign(t,Ke(r)),{name:`fetchHandler ${r.method.toUpperCase()}`,options:{attributes:t,kind:qe.SERVER},context:e}},"getInitialSpanInfo"),getAttributesFromResult:n(r=>Ze(r),"getAttributesFromResult"),executionSuccess:$e,executionFailed:$e};function Vt(r,e,t){return U(r,{apply:n((s,i,a)=>{let c=new Request(a[0],a[1]);if(!c.url.startsWith("http"))return Reflect.apply(s,i,a);let l=T();if(!l)return Reflect.apply(s,i,[c]);let u=e(l),m=Ht.getTracer("fetcher"),h={kind:qe.CLIENT,attributes:t},d=new URL(c.url).host,v=c.method.toUpperCase(),M=typeof t?.name=="string"?t?.name:`${v}: ${d}`;return m.startActiveSpan(M,h,async p=>{try{((typeof u.includeTraceContext=="function"?u.includeTraceContext(c):u.includeTraceContext)??!0)&&We.inject(j.active(),c.headers,{set:n((ce,pe,P)=>ce.set(pe,typeof P=="string"?P:String(P)),"set")}),p.setAttributes(Ke(c));let ae=await Reflect.apply(s,i,[c]);return p.setAttributes(Ze(ae)),ae}catch(x){throw p.recordException(x),p.setStatus({code:Mt.ERROR}),x}finally{p.end()}})},"apply")},!0)}n(Vt,"instrumentClientFetch");function Xe(){globalThis.fetch=Vt(globalThis.fetch,r=>r.fetch)}n(Xe,"instrumentGlobalFetch");import{context as St,context as hr,propagation as Tr,SpanStatusCode as xr,trace as Rt}from"@opentelemetry/api";import{resourceFromAttributes as ft}from"@opentelemetry/resources";import{ATTR_CLOUD_ACCOUNT_ID as Sr,ATTR_CLOUD_PLATFORM as Rr,ATTR_CLOUD_PROVIDER as Pr,ATTR_SERVICE_NAME as br,ATTR_SERVICE_NAMESPACE as _r,ATTR_SERVICE_VERSION as Cr,ATTR_TELEMETRY_SDK_NAME as yr}from"@opentelemetry/semantic-conventions/incubating";import{SemanticAttributes as ie}from"@zuplo/runtime";import{AsyncLocalStorage as jt}from"node:async_hooks";import{EventEmitter as zt}from"node:events";import{ROOT_CONTEXT as $t}from"@opentelemetry/api";var Wt=["addListener","on","once","prependListener","prependOnceListener"],he=class{static{n(this,"AbstractAsyncHooksContextManager")}bind(e,t){return t instanceof zt?this._bindEventEmitter(e,t):typeof t=="function"?this._bindFunction(e,t):t}_bindFunction(e,t){let o=this,s=n(function(...i){return o.with(e,()=>t.apply(this,i))},"contextWrapper");return Object.defineProperty(s,"length",{enumerable:!1,configurable:!0,writable:!1,value:t.length}),s}_bindEventEmitter(e,t){return this._getPatchMap(t)!==void 0||(this._createPatchMap(t),Wt.forEach(s=>{t[s]!==void 0&&(t[s]=this._patchAddListener(t,t[s],e))}),typeof t.removeListener=="function"&&(t.removeListener=this._patchRemoveListener(t,t.removeListener)),typeof t.off=="function"&&(t.off=this._patchRemoveListener(t,t.off)),typeof t.removeAllListeners=="function"&&(t.removeAllListeners=this._patchRemoveAllListeners(t,t.removeAllListeners))),t}_patchRemoveListener(e,t){let o=this;return function(s,i){let a=o._getPatchMap(e)?.[s];if(a===void 0)return t.call(this,s,i);let c=a.get(i);return t.call(this,s,c||i)}}_patchRemoveAllListeners(e,t){let o=this;return function(s){let i=o._getPatchMap(e);return i!==void 0&&(arguments.length===0?o._createPatchMap(e):i[s]!==void 0&&delete i[s]),t.apply(this,arguments)}}_patchAddListener(e,t,o){let s=this;return function(i,a){if(s._wrapped)return t.call(this,i,a);let c=s._getPatchMap(e);c===void 0&&(c=s._createPatchMap(e));let l=c[i];l===void 0&&(l=new WeakMap,c[i]=l);let u=s.bind(o,a);l.set(a,u),s._wrapped=!0;try{return t.call(this,i,u)}finally{s._wrapped=!1}}}_createPatchMap(e){let t=Object.create(null);return e[this._kOtListeners]=t,t}_getPatchMap(e){return e[this._kOtListeners]}_kOtListeners=Symbol("OtListeners");_wrapped=!1},z=class extends he{static{n(this,"AsyncLocalStorageContextManager")}_asyncLocalStorage;constructor(){super(),this._asyncLocalStorage=new jt}active(){return this._asyncLocalStorage.getStore()??$t}with(e,t,o,...s){let i=o==null?t:t.bind(o);return this._asyncLocalStorage.run(e,i,...s)}enable(){return this}disable(){return this._asyncLocalStorage.disable(),this}};import{trace as Sn}from"@opentelemetry/api";import{context as Se,SpanKind as tr,TraceFlags as rt,trace as W}from"@opentelemetry/api";import{sanitizeAttributes as ot}from"@opentelemetry/core";import{RandomIdGenerator as rr,SamplingDecision as or}from"@opentelemetry/sdk-trace-base";import{SpanKind as qt,SpanStatusCode as Kt}from"@opentelemetry/api";import{hrTimeDuration as Zt,isAttributeValue as Yt,isTimeInput as Xt,sanitizeAttributes as Je}from"@opentelemetry/core";import{ATTR_EXCEPTION_MESSAGE as Qe,ATTR_EXCEPTION_STACKTRACE as Jt,ATTR_EXCEPTION_TYPE as et}from"@opentelemetry/semantic-conventions";function Qt(r){let e={};return typeof r=="string"?e[Qe]=r:(r.code?e[et]=r.code.toString():r.name&&(e[et]=r.name),r.message&&(e[Qe]=r.message),r.stack&&(e[Jt]=r.stack)),e}n(Qt,"transformExceptionAttributes");function Te(r){return[Math.trunc(r/1e3),r%1e3*1e6]}n(Te,"millisToHr");function xe(r){let e=Date.now();if(r){if(r instanceof Date)return Te(r.getTime());if(typeof r=="number")return Te(r);if(Array.isArray(r))return r}else return Te(e);let t=r;throw new Error(`unreachable value: ${JSON.stringify(t)}`)}n(xe,"getHrTime");function er(r){return typeof r=="string"&&r.length>0}n(er,"isAttributeKey");var $=class{static{n(this,"SpanImpl")}name;_spanContext;onEnd;parentSpanId;parentSpanContext;kind;attributes;status={code:Kt.UNSET};endTime=[0,0];_duration=[0,0];startTime;events=[];links;resource;instrumentationScope=tt;_ended=!1;_droppedAttributesCount=0;_droppedEventsCount=0;_droppedLinksCount=0;constructor(e){this.name=e.name,this._spanContext=e.spanContext,this.parentSpanId=e.parentSpanId,this.parentSpanContext=e.parentSpanContext,this.kind=e.spanKind||qt.INTERNAL,this.attributes=Je(e.attributes),this.startTime=xe(e.startTime),this.links=e.links||[],this.resource=e.resource,this.onEnd=e.onEnd}addLink(e){return this.links.push(e),this}addLinks(e){return this.links.push(...e),this}spanContext(){return this._spanContext}setAttribute(e,t){return er(e)&&Yt(t)&&(this.attributes[e]=t),this}setAttributes(e){for(let[t,o]of Object.entries(e))this.setAttribute(t,o);return this}addEvent(e,t,o){Xt(t)&&(o=t,t=void 0);let s=Je(t),i=xe(o);return this.events.push({name:e,attributes:s,time:i}),this}setStatus(e){return this.status=e,this}updateName(e){return this.name=e,this}end(e){this._ended||(this._ended=!0,this.endTime=xe(e),this._duration=Zt(this.startTime,this.endTime),this.onEnd(this))}isRecording(){return!this._ended}recordException(e,t){let o=Qt(e);this.addEvent("exception",o,t)}get duration(){return this._duration}get ended(){return this._ended}get droppedAttributesCount(){return this._droppedAttributesCount}get droppedEventsCount(){return this._droppedEventsCount}get droppedLinksCount(){return this._droppedLinksCount}};var st=new rr,nt;function nr(r,e){return(r>>e-1&1)*e}n(nr,"getFlagAt");var R=class{static{n(this,"WorkerTracer")}spanProcessors;resource;constructor(e,t){this.spanProcessors=e,this.resource=t}async forceFlush(e){let t=this.spanProcessors.map(async o=>{await o.forceFlush(e)});await Promise.allSettled(t)}addToResource(e){this.resource.merge(e)}startSpan(e,t={},o=Se.active()){t.root&&(o=W.deleteSpan(o));let s=T();if(!s)throw new Error("Config is undefined. This is a bug in the instrumentation logic");let i=W.getSpan(o)?.spanContext(),{traceId:a,randomTraceFlag:c}=sr(i),l=t.kind||tr.INTERNAL,u=ot(t.attributes),h=s.sampling.headSampler.shouldSample(o,a,e,l,u,[]),{decision:d,traceState:v,attributes:M}=h,g=Object.assign({},t.attributes,M,nt);nt={};let p=st.generateSpanId(),x=i?.spanId,ce=(d===or.RECORD_AND_SAMPLED?rt.SAMPLED:rt.NONE)+c,pe={traceId:a,spanId:p,traceFlags:ce,traceState:v},P=new $({attributes:ot(g),name:e,onEnd:n(le=>{this.spanProcessors.forEach(_t=>{_t.onEnd(le)})},"onEnd"),resource:this.resource,spanContext:pe,parentSpanContext:i,parentSpanId:x,spanKind:l,startTime:t.startTime});return this.spanProcessors.forEach(le=>{le.onStart(P,o)}),P}startActiveSpan(e,...t){let o=t.length>1?t[0]:void 0,s=t.length>2?t[1]:Se.active(),i=t[t.length-1],a=this.startSpan(e,o,s),c=W.setSpan(s,a);return Se.with(c,i,void 0,a)}};function sr(r){if(r&&W.isSpanContextValid(r)){let{traceId:e,traceFlags:t}=r;return{traceId:e,randomTraceFlag:nr(t,2)}}else return{traceId:st.generateTraceId(),randomTraceFlag:2}}n(sr,"getTraceInfo");var Re=class{static{n(this,"PromiseTracker")}_outstandingPromises=[];get outstandingPromiseCount(){return this._outstandingPromises.length}track(e){this._outstandingPromises.push(e)}async wait(){await ar(this._outstandingPromises)}};function ir(r,e,t){return U(r,{apply(s,i,a){return t.track(a[0]),Reflect.apply(s,e,a)}})}n(ir,"createWaitUntil");function it(r){let e=new Re;return{event:new Proxy(r,{get(o,s){if(s==="waitUntil"){let i=Reflect.get(o,s);return ir(i,r,e)}else return de(o,s)}}),tracker:e}}n(it,"proxyExecutionContext");async function ar(r){let e;do e=await Promise.allSettled(r);while(e.length!==r.length);return e}n(ar,"allSettledMutable");var O=class{static{n(this,"NoopLogger")}emit(e){}},at=new O;var Pe=class{static{n(this,"NoopLoggerProvider")}getLogger(e,t,o){return new O}},q=new Pe;var K=class{static{n(this,"ProxyLogger")}constructor(e,t,o,s){this._provider=e,this.name=t,this.version=o,this.options=s}emit(e){this._getLogger().emit(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider.getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):at}};var A=class{static{n(this,"ProxyLoggerProvider")}getLogger(e,t,o){var s;return(s=this.getDelegateLogger(e,t,o))!==null&&s!==void 0?s:new K(this,e,t,o)}getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:q}setDelegate(e){this._delegate=e}getDelegateLogger(e,t,o){var s;return(s=this._delegate)===null||s===void 0?void 0:s.getLogger(e,t,o)}};var be=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{};var I=Symbol.for("io.opentelemetry.js.api.logs"),b=be;function ct(r,e,t){return o=>o===r?e:t}n(ct,"makeGetter");var _e=1;var Z=class r{static{n(this,"LogsAPI")}constructor(){this._proxyLoggerProvider=new A}static getInstance(){return this._instance||(this._instance=new r),this._instance}setGlobalLoggerProvider(e){return b[I]?this.getLoggerProvider():(b[I]=ct(_e,e,q),this._proxyLoggerProvider.setDelegate(e),e)}getLoggerProvider(){var e,t;return(t=(e=b[I])===null||e===void 0?void 0:e.call(b,_e))!==null&&t!==void 0?t:this._proxyLoggerProvider}getLogger(e,t,o){return this.getLoggerProvider().getLogger(e,t,o)}disable(){delete b[I],this._proxyLoggerProvider=new A}};var pt=Z.getInstance();import{diag as D}from"@opentelemetry/api";var _=class{static{n(this,"NoopLogger")}emit(e){}},F=new _;var Ce=class{static{n(this,"NoopLoggerProvider")}getLogger(e,t,o){return new _}},Y=new Ce;var X=class{static{n(this,"ProxyLogger")}constructor(e,t,o,s){this._provider=e,this.name=t,this.version=o,this.options=s}emit(e){this._getLogger().emit(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider.getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):F}};var k=class{static{n(this,"ProxyLoggerProvider")}getLogger(e,t,o){var s;return(s=this.getDelegateLogger(e,t,o))!==null&&s!==void 0?s:new X(this,e,t,o)}getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:Y}setDelegate(e){this._delegate=e}getDelegateLogger(e,t,o){var s;return(s=this._delegate)===null||s===void 0?void 0:s.getLogger(e,t,o)}};var ye=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{};var N=Symbol.for("io.opentelemetry.js.api.logs"),C=ye;function lt(r,e,t){return o=>o===r?e:t}n(lt,"makeGetter");var Le=1;var J=class r{static{n(this,"LogsAPI")}constructor(){this._proxyLoggerProvider=new k}static getInstance(){return this._instance||(this._instance=new r),this._instance}setGlobalLoggerProvider(e){return C[N]?this.getLoggerProvider():(C[N]=lt(Le,e,Y),this._proxyLoggerProvider.setDelegate(e),e)}getLoggerProvider(){var e,t;return(t=(e=C[N])===null||e===void 0?void 0:e.call(C,Le))!==null&&t!==void 0?t:this._proxyLoggerProvider}getLogger(e,t,o){return this.getLoggerProvider().getLogger(e,t,o)}disable(){delete C[N],this._proxyLoggerProvider=new k}};var Ss=J.getInstance();import{defaultResource as ur}from"@opentelemetry/resources";import{BindOnceFuture as dr,merge as gr}from"@opentelemetry/core";import{context as pr}from"@opentelemetry/api";import{diag as cr}from"@opentelemetry/api";import*as f from"@opentelemetry/api";import{timeInputToHrTime as ut,isAttributeValue as dt}from"@opentelemetry/core";var Q=class{static{n(this,"LogRecord")}hrTime;hrTimeObserved;spanContext;resource;instrumentationScope;attributes={};_severityText;_severityNumber;_body;totalAttributesCount=0;_isReadonly=!1;_logRecordLimits;set severityText(e){this._isLogRecordReadonly()||(this._severityText=e)}get severityText(){return this._severityText}set severityNumber(e){this._isLogRecordReadonly()||(this._severityNumber=e)}get severityNumber(){return this._severityNumber}set body(e){this._isLogRecordReadonly()||(this._body=e)}get body(){return this._body}get droppedAttributesCount(){return this.totalAttributesCount-Object.keys(this.attributes).length}constructor(e,t,o){let{timestamp:s,observedTimestamp:i,severityNumber:a,severityText:c,body:l,attributes:u={},context:m}=o,h=Date.now();if(this.hrTime=ut(s??h),this.hrTimeObserved=ut(i??h),m){let d=f.trace.getSpanContext(m);d&&f.isSpanContextValid(d)&&(this.spanContext=d)}this.severityNumber=a,this.severityText=c,this.body=l,this.resource=e.resource,this.instrumentationScope=t,this._logRecordLimits=e.logRecordLimits,this.setAttributes(u)}setAttribute(e,t){return this._isLogRecordReadonly()?this:t===null?this:e.length===0?(f.diag.warn(`Invalid attribute key: ${e}`),this):!dt(t)&&!(typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length>0)?(f.diag.warn(`Invalid attribute value set for key: ${e}`),this):(this.totalAttributesCount+=1,Object.keys(this.attributes).length>=this._logRecordLimits.attributeCountLimit&&!Object.prototype.hasOwnProperty.call(this.attributes,e)?(this.droppedAttributesCount===1&&f.diag.warn("Dropping extra attributes."),this):(dt(t)?this.attributes[e]=this._truncateToSize(t):this.attributes[e]=t,this))}setAttributes(e){for(let[t,o]of Object.entries(e))this.setAttribute(t,o);return this}setBody(e){return this.body=e,this}setSeverityNumber(e){return this.severityNumber=e,this}setSeverityText(e){return this.severityText=e,this}_makeReadonly(){this._isReadonly=!0}_truncateToSize(e){let t=this._logRecordLimits.attributeValueLengthLimit;return t<=0?(f.diag.warn(`Attribute value limit must be positive, got ${t}`),e):typeof e=="string"?this._truncateToLimitUtil(e,t):Array.isArray(e)?e.map(o=>typeof o=="string"?this._truncateToLimitUtil(o,t):o):e}_truncateToLimitUtil(e,t){return e.length<=t?e:e.substring(0,t)}_isLogRecordReadonly(){return this._isReadonly&&cr.warn("Can not execute the operation on emitted log record"),this._isReadonly}};var ee=class{static{n(this,"Logger")}instrumentationScope;_sharedState;constructor(e,t){this.instrumentationScope=e,this._sharedState=t}emit(e){let t=e.context||pr.active(),o=new Q(this._sharedState,this.instrumentationScope,{context:t,...e});this._sharedState.activeProcessor.onEmit(o,t),o._makeReadonly()}};import{getNumberFromEnv as y}from"@opentelemetry/core";function gt(){return{forceFlushTimeoutMillis:3e4,logRecordLimits:{attributeValueLengthLimit:y("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT")??1/0,attributeCountLimit:y("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT")??128},includeTraceContext:!0}}n(gt,"loadDefaultConfig");function mt(r){return{attributeCountLimit:r.attributeCountLimit??y("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT")??y("OTEL_ATTRIBUTE_COUNT_LIMIT")??128,attributeValueLengthLimit:r.attributeValueLengthLimit??y("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT")??y("OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT")??1/0}}n(mt,"reconfigureLimits");var te=class{static{n(this,"NoopLogRecordProcessor")}forceFlush(){return Promise.resolve()}onEmit(e,t){}shutdown(){return Promise.resolve()}};import{callWithTimeout as lr}from"@opentelemetry/core";var L=class{static{n(this,"MultiLogRecordProcessor")}processors;forceFlushTimeoutMillis;constructor(e,t){this.processors=e,this.forceFlushTimeoutMillis=t}async forceFlush(){let e=this.forceFlushTimeoutMillis;await Promise.all(this.processors.map(t=>lr(t.forceFlush(),e)))}onEmit(e,t){this.processors.forEach(o=>o.onEmit(e,t))}async shutdown(){await Promise.all(this.processors.map(e=>e.shutdown()))}};var re=class{static{n(this,"LoggerProviderSharedState")}resource;forceFlushTimeoutMillis;logRecordLimits;processors;loggers=new Map;activeProcessor;registeredLogRecordProcessors=[];constructor(e,t,o,s){this.resource=e,this.forceFlushTimeoutMillis=t,this.logRecordLimits=o,this.processors=s,s.length>0?(this.registeredLogRecordProcessors=s,this.activeProcessor=new L(this.registeredLogRecordProcessors,this.forceFlushTimeoutMillis)):this.activeProcessor=new te}};var mr="unknown",G=class{static{n(this,"LoggerProvider")}_shutdownOnce;_sharedState;constructor(e={}){let t=gr({},gt(),e),o=e.resource??ur();this._sharedState=new re(o,t.forceFlushTimeoutMillis,mt(t.logRecordLimits),e?.processors??[]),this._shutdownOnce=new dr(this._shutdown,this)}getLogger(e,t,o){if(this._shutdownOnce.isCalled)return D.warn("A shutdown LoggerProvider cannot provide a Logger"),F;e||D.warn("Logger requested without instrumentation scope name.");let s=e||mr,i=`${s}@${t||""}:${o?.schemaUrl||""}`;return this._sharedState.loggers.has(i)||this._sharedState.loggers.set(i,new ee({name:s,version:t,schemaUrl:o?.schemaUrl},this._sharedState)),this._sharedState.loggers.get(i)}addLogRecordProcessor(e){this._sharedState.registeredLogRecordProcessors.length===0&&this._sharedState.activeProcessor.shutdown().catch(t=>D.error("Error while trying to shutdown current log record processor",t)),this._sharedState.registeredLogRecordProcessors.push(e),this._sharedState.activeProcessor=new L(this._sharedState.registeredLogRecordProcessors,this._sharedState.forceFlushTimeoutMillis)}forceFlush(){return this._shutdownOnce.isCalled?(D.warn("invalid attempt to force flush after LoggerProvider shutdown"),this._shutdownOnce.promise):this._sharedState.activeProcessor.forceFlush()}shutdown(){return this._shutdownOnce.isCalled?(D.warn("shutdown may only be called once per LoggerProvider"),this._shutdownOnce.promise):this._shutdownOnce.call()}_shutdown(){return this._sharedState.activeProcessor.shutdown()}};var oe=class{static{n(this,"ZuploOtelLogger")}baseLogger;constructor(e){this.baseLogger=e}emit(e){this.baseLogger.emit(e)}};var ne=class extends G{static{n(this,"ZuploLoggerProvider")}getLogger(e,t,o){let s=super.getLogger(e,t,o);return new oe(s)}register(){pt.setGlobalLoggerProvider(this)}};import{trace as fr}from"@opentelemetry/api";var se=class{static{n(this,"ZuploTracerProvider")}spanProcessors;resource;tracers={};constructor(e,t){this.spanProcessors=e,this.resource=t}getTracer(e,t,o){let s=`${e}@${t||""}:${o?.schemaUrl||""}`;return this.tracers[s]||(this.tracers[s]=new R(this.spanProcessors,this.resource)),this.tracers[s]}register(){fr.setGlobalTracerProvider(this)}};var Lr=n((r,e)=>{let t={[Pr]:"zuplo",[Rr]:"zuplo-api",[Sr]:r.accountName,"cloud.project.id":r.projectName,"cloud.resource_id":r.deploymentName,"cloud.instance_id":r.instanceId,"deployment.environment.name":r.environmentStage,[yr]:"@zuplo/otel",[ie.ZuploBuildId]:r.buildId,[ie.ZuploBuildVersion]:r.zuploVersion,[ie.ZuploBuildCompatibilityDate]:r.compatibilityDate,[ie.ZuploEnvironmentType]:r.environmentType},o=ft({[br]:e.service.name,[_r]:e.service.namespace,[Cr]:e.service.version});return ft(t).merge(o)},"createResource"),ht=!1;function Tt(r,e){if(!ht){e.instrumentation.instrumentGlobalFetch&&Xe(),Tr.setGlobalPropagator(e.propagator);let t=Lr(r,e);new se(e.spanProcessors,t).register(),e.logProcessors.length>0&&new ne({resource:t,processors:e.logProcessors}).register(),hr.setGlobalContextManager(new z),ht=!0}}n(Tt,"init");function Pt(r,e){return typeof e=="function"?t=>{let o=fe(e(t));return Tt(r,o),o}:()=>{let t=fe(e);return Tt(r,t),t}}n(Pt,"createInitializer");async function vr(r,e){let t=Rt.getTracer("export");t instanceof R?(await scheduler.wait(1),await e?.wait(),await t.forceFlush(r)):console.error("The global tracer is not of type WorkerTracer and can not export spans")}n(vr,"exportSpans");var xt=!0;function Er(r){return(e,t)=>{let[o,s]=t,{event:i,tracker:a}=it(s),c=r.instrumentTrigger?r.instrumentTrigger(o):o,l=Rt.getTracer("handler"),{name:u,options:m,context:h}=r.getInitialSpanInfo(o),d=m.attributes||{};d["faas.coldstart"]=xt,m.attributes=d,xt=!1;let v=h||St.active();return l.startActiveSpan(u,m,v,async g=>{try{let p=await e(c,i);if(r.getAttributesFromResult){let x=r.getAttributesFromResult(p);g.setAttributes(x)}return r.executionSuccess&&r.executionSuccess(g,o,p),p}catch(p){throw g.recordException(p),g.setStatus({code:xr.ERROR}),r.executionFailed&&r.executionFailed(g,o,p),p}finally{g.end(),s.waitUntil(vr(g.spanContext().traceId,a))}})}}n(Er,"createHandlerFlowFn");function bt(r,e,t){return(o,s)=>{let i=e(o),a=ze(i),c=Er(t);return St.with(a,c,o,r,[o,s])}}n(bt,"createHandlerProxy");var tt={name:"@zuplo/otel"};var ve=class extends wr{static{n(this,"OpenTelemetryPlugin")}config;constructor(e){super(),Or("opentelemetry"),this.config=e}instrument(e){let t=Pt(e,this.config);return{requestHandlerProxy:n(s=>bt(s,t,Ye),"requestHandlerProxy")}}};export{ve as a};
26
- //# sourceMappingURL=chunk-V3GNZRVP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@zuplo/otel/buffer.ts","@zuplo/otel/plugin.ts","@zuplo/otel/instrumentation/fetch.ts","@zuplo/otel/config.ts","@zuplo/otel/exporter.ts","@zuplo/otel/attributes-utils.ts","@zuplo/otel/wrap.ts","@zuplo/otel/logprocessor.ts","@zuplo/otel/sampling.ts","@zuplo/otel/spanprocessor.ts","@zuplo/otel/types.ts","@zuplo/otel/sdk.ts","@zuplo/otel/context.ts","@zuplo/otel/instrumentation/common.ts","@zuplo/otel/tracer.ts","@zuplo/otel/span.ts","../../../node_modules/@opentelemetry/api-logs/src/NoopLogger.ts","../../../node_modules/@opentelemetry/api-logs/src/NoopLoggerProvider.ts","../../../node_modules/@opentelemetry/api-logs/src/ProxyLogger.ts","../../../node_modules/@opentelemetry/api-logs/src/ProxyLoggerProvider.ts","../../../node_modules/@opentelemetry/api-logs/src/platform/browser/globalThis.ts","../../../node_modules/@opentelemetry/api-logs/src/internal/global-utils.ts","../../../node_modules/@opentelemetry/api-logs/src/api/logs.ts","../../../node_modules/@opentelemetry/api-logs/src/index.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/LoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/NoopLogger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/NoopLoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/ProxyLogger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/ProxyLoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/platform/browser/globalThis.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/internal/global-utils.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/api/logs.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/index.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/Logger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/LogRecord.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/config.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/export/NoopLogRecordProcessor.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/MultiLogRecordProcessor.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/internal/LoggerProviderSharedState.ts","@zuplo/otel/logger.ts","@zuplo/otel/logprovider.ts","@zuplo/otel/traceprovider.ts"],"mappings":"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","names":["Buffer","TelemetryPlugin","trackFeature","apiContext","propagation","SpanKind","SpanStatusCode","trace","context","W3CTraceContextPropagator","ExportResultCode","JsonLogsSerializer","JsonTraceSerializer","BackgroundDispatcher","isPlainObject","value","__name","sanitizeValue","i","sanitizeEmptyAttributes","attributes","key","unwrapSymbol","isWrapped","item","__name","isProxyable","wrap","handler","autoPassthrough","proxyHandler","target","prop","receiver","passthroughGet","thisArg","argArray","unwrap","unwrappedTarget","value","args","defaultHeaders","OTLPSpanExporter","__name","config","spans","resultCallback","span","ExportResultCode","sanitizeEmptyAttributes","decoder","exportMessage","JsonTraceSerializer","body","response","unwrap","text","err","BackgroundDispatcher","OTLPLogExporter","exportConfig","batchConfig","logs","log","JsonLogsSerializer","DefaultLogProcessor","__name","exporter","logRecord","_result","SpanStatusCode","TraceFlags","ParentBasedSampler","TraceIdRatioBasedSampler","SemanticAttributes","internalTailSampler","sampler","traceInfo","localRootSpan","SemanticAttributes","__name","multiTailSampler","samplers","result","isHeadSampled","TraceFlags","isRootErrorSpan","SpanStatusCode","createSampler","conf","ratioSampler","TraceIdRatioBasedSampler","ParentBasedSampler","ExportResultCode","getSampler","conf","getActiveConfig","__name","TraceState","exporter","span","readableSpan","sampler","unfinishedSpans","spans","config","processedSpans","resolve","reject","result","ExportResultCode","BatchTraceSpanProcessor","traceId","traceState","parentContext","err","promises","isSpanProcessorConfig","config","__name","isProcessorConfig","hasSpanProcessors","hasLogProcessors","configSymbol","setConfig","config","ctx","context","__name","getActiveConfig","isSampler","sampler","isTraceConfigExporter","isTraceAndLogConfigExporter","parseConfig","supplied","spanProcessors","logProcessors","BatchTraceSpanProcessor","OTLPSpanExporter","DefaultLogProcessor","OTLPLogExporter","isProcessorConfig","isSpanProcessorConfig","headSampleConf","headSampler","createSampler","spans","internalTailSampler","multiTailSampler","isHeadSampled","isRootErrorSpan","W3CTraceContextPropagator","gatherRequestAttributes","request","attrs","headers","u","__name","gatherResponseAttributes","response","getParentContextFromHeaders","propagation","apiContext","key","getParentContextFromRequest","workerConfig","getActiveConfig","updateSpanNameOnRoute","span","readable","method","fetchInstrumentation","spanContext","attributes","SpanKind","instrumentClientFetch","fetchFn","configFn","wrap","target","thisArg","argArray","activeConfig","config","tracer","trace","options","host","spanName","h","k","v","error","SpanStatusCode","instrumentGlobalFetch","apiContext","context","propagation","SpanStatusCode","trace","resourceFromAttributes","ATTR_CLOUD_ACCOUNT_ID","ATTR_CLOUD_PLATFORM","ATTR_CLOUD_PROVIDER","ATTR_SERVICE_NAME","ATTR_SERVICE_NAMESPACE","ATTR_SERVICE_VERSION","ATTR_TELEMETRY_SDK_NAME","SemanticAttributes","AsyncLocalStorage","EventEmitter","ROOT_CONTEXT","ADD_LISTENER_METHODS","AbstractAsyncHooksContextManager","__name","context","target","EventEmitter","manager","contextWrapper","args","ee","methodName","original","contextManager","event","listener","events","patchedListener","map","listeners","AsyncLocalStorageContextManager","AsyncLocalStorage","ROOT_CONTEXT","fn","thisArg","cb","trace","apiContext","SpanKind","TraceFlags","trace","sanitizeAttributes","RandomIdGenerator","SamplingDecision","SpanKind","SpanStatusCode","hrTimeDuration","isAttributeValue","isTimeInput","sanitizeAttributes","ATTR_EXCEPTION_MESSAGE","ATTR_EXCEPTION_STACKTRACE","ATTR_EXCEPTION_TYPE","transformExceptionAttributes","exception","attributes","ATTR_EXCEPTION_MESSAGE","ATTR_EXCEPTION_TYPE","ATTR_EXCEPTION_STACKTRACE","__name","millisToHr","millis","getHrTime","input","now","v","isAttributeKey","key","SpanImpl","SpanStatusCode","ZUPLO_INSTRUMENTATION_SCOPE","init","SpanKind","sanitizeAttributes","link","links","value","isAttributeValue","name","attributesOrStartTime","startTime","isTimeInput","time","status","endTime","hrTimeDuration","idGenerator","RandomIdGenerator","withNextSpanAttributes","getFlagAt","flagSequence","position","__name","WorkerTracer","spanProcessors","resource","traceId","promises","spanProcessor","extra","name","options","context","apiContext","trace","config","getActiveConfig","parentSpanContext","randomTraceFlag","getTraceInfo","spanKind","SpanKind","sanitisedAttrs","sanitizeAttributes","samplingDecision","decision","traceState","attrs","attributes","spanId","parentSpanId","traceFlags","SamplingDecision","TraceFlags","spanContext","span","SpanImpl","sp","args","parentContext","fn","contextWithSpanSet","getTraceInfo","parentSpanContext","trace","traceId","traceFlags","getFlagAt","idGenerator","__name","PromiseTracker","__name","promise","allSettledMutable","createWaitUntil","fn","context","tracker","wrap","target","_thisArg","argArray","proxyExecutionContext","prop","passthroughGet","allSettledMutable","promises","values","__name","NoopLogger","__name","_logRecord","NOOP_LOGGER","NoopLoggerProvider","__name","_name","_version","_options","NoopLogger","NOOP_LOGGER_PROVIDER","ProxyLogger","__name","_provider","name","version","options","logRecord","logger","NOOP_LOGGER","ProxyLoggerProvider","__name","name","version","options","_a","ProxyLogger","NOOP_LOGGER_PROVIDER","delegate","_globalThis","GLOBAL_LOGS_API_KEY","_global","_globalThis","makeGetter","requiredVersion","instance","fallback","version","__name","API_BACKWARDS_COMPATIBILITY_VERSION","LogsAPI","_LogsAPI","__name","ProxyLoggerProvider","provider","_global","GLOBAL_LOGS_API_KEY","makeGetter","API_BACKWARDS_COMPATIBILITY_VERSION","NOOP_LOGGER_PROVIDER","_b","_a","name","version","options","logs","LogsAPI","diag","NoopLogger","__name","_logRecord","NOOP_LOGGER","NoopLoggerProvider","__name","_name","_version","_options","NoopLogger","NOOP_LOGGER_PROVIDER","ProxyLogger","__name","_provider","name","version","options","logRecord","logger","NOOP_LOGGER","ProxyLoggerProvider","__name","name","version","options","_a","ProxyLogger","NOOP_LOGGER_PROVIDER","delegate","_globalThis","GLOBAL_LOGS_API_KEY","_global","_globalThis","makeGetter","requiredVersion","instance","fallback","version","__name","API_BACKWARDS_COMPATIBILITY_VERSION","LogsAPI","_LogsAPI","__name","ProxyLoggerProvider","provider","_global","GLOBAL_LOGS_API_KEY","makeGetter","API_BACKWARDS_COMPATIBILITY_VERSION","NOOP_LOGGER_PROVIDER","_b","_a","name","version","options","logs","LogsAPI","defaultResource","BindOnceFuture","merge","context","diag","api","timeInputToHrTime","isAttributeValue","LogRecord","__name","severityText","severityNumber","body","_sharedState","instrumentationScope","logRecord","timestamp","observedTimestamp","attributes","context","now","timeInputToHrTime","spanContext","key","value","isAttributeValue","k","v","limit","val","diag","Logger","__name","instrumentationScope","_sharedState","logRecord","currentContext","context","logRecordInstance","LogRecord","getNumberFromEnv","loadDefaultConfig","getNumberFromEnv","__name","reconfigureLimits","logRecordLimits","NoopLogRecordProcessor","__name","_logRecord","_context","callWithTimeout","MultiLogRecordProcessor","__name","processors","forceFlushTimeoutMillis","timeout","processor","callWithTimeout","logRecord","context","LoggerProviderSharedState","__name","resource","forceFlushTimeoutMillis","logRecordLimits","processors","MultiLogRecordProcessor","NoopLogRecordProcessor","DEFAULT_LOGGER_NAME","LoggerProvider","__name","config","mergedConfig","merge","loadDefaultConfig","resource","defaultResource","LoggerProviderSharedState","reconfigureLimits","BindOnceFuture","name","version","options","diag","NOOP_LOGGER","loggerName","key","Logger","processor","err","MultiLogRecordProcessor","ZuploOtelLogger","__name","baseLogger","logRecord","ZuploLoggerProvider","LoggerProvider","__name","name","_version","_options","baseLogger","ZuploOtelLogger","logs","trace","ZuploTracerProvider","__name","spanProcessors","resource","name","version","options","key","WorkerTracer","trace","createResource","__name","options","config","runtimeResourceAttrs","ATTR_CLOUD_PROVIDER","ATTR_CLOUD_PLATFORM","ATTR_CLOUD_ACCOUNT_ID","ATTR_TELEMETRY_SDK_NAME","SemanticAttributes","serviceResource","resourceFromAttributes","ATTR_SERVICE_NAME","ATTR_SERVICE_NAMESPACE","ATTR_SERVICE_VERSION","initialised","init","instrumentGlobalFetch","propagation","otelResource","ZuploTracerProvider","ZuploLoggerProvider","context","AsyncLocalStorageContextManager","createInitializer","trigger","conf","parseConfig","exportSpans","traceId","tracker","tracer","trace","WorkerTracer","coldStart","createHandlerFlowFn","instrumentation","handlerFn","args","proxiedCtx","proxyExecutionContext","instrumentedTrigger","name","spanContext","attrs","parentContext","apiContext","span","result","attributes","error","SpanStatusCode","createHandlerProxy","initializer","ctx","setConfig","flowFn","ZUPLO_INSTRUMENTATION_SCOPE","OpenTelemetryPlugin","TelemetryPlugin","__name","config","trackFeature","options","initializer","createInitializer","wrapped","createHandlerProxy","fetchInstrumentation"]}