@zuplo/cli 6.71.1 → 6.71.3
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/node_modules/@zuplo/core/customer.cli.minified.js +201 -201
- package/node_modules/@zuplo/core/index.minified.js +206 -206
- package/node_modules/@zuplo/core/package.json +2 -2
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/README.md +169 -0
- package/node_modules/@zuplo/otel/out/esm/chunk-U3KEMFL3.js +26 -0
- package/node_modules/@zuplo/otel/out/esm/chunk-U3KEMFL3.js.map +1 -0
- package/node_modules/@zuplo/otel/out/esm/index.js +1 -1
- package/node_modules/@zuplo/otel/out/types/index.d.ts +105 -1
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-AZIRK6TC.js → chunk-2Y72LML3.js} +2 -2
- package/node_modules/@zuplo/runtime/out/esm/{chunk-JRXZBVXH.js → chunk-DQ4ANJLR.js} +2 -2
- package/node_modules/@zuplo/runtime/out/esm/{chunk-ZIKV2LUM.js → chunk-L3MZGNQA.js} +4 -4
- package/node_modules/@zuplo/runtime/out/esm/chunk-L3MZGNQA.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/{chunk-E7U425SB.js → chunk-T5FTGFWF.js} +31 -31
- package/node_modules/@zuplo/runtime/out/esm/chunk-T5FTGFWF.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/internal/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +2 -2
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js.map +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/package.json +7 -7
- package/node_modules/@zuplo/otel/out/esm/chunk-V3GNZRVP.js +0 -26
- package/node_modules/@zuplo/otel/out/esm/chunk-V3GNZRVP.js.map +0 -1
- package/node_modules/@zuplo/runtime/out/esm/chunk-E7U425SB.js.map +0 -1
- package/node_modules/@zuplo/runtime/out/esm/chunk-ZIKV2LUM.js.map +0 -1
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-AZIRK6TC.js.map → chunk-2Y72LML3.js.map} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-JRXZBVXH.js.map → chunk-DQ4ANJLR.js.map} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-ZIKV2LUM.js.LEGAL.txt → chunk-L3MZGNQA.js.LEGAL.txt} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-E7U425SB.js.LEGAL.txt → chunk-T5FTGFWF.js.LEGAL.txt} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zuplo/core",
|
|
3
|
-
"version": "6.71.
|
|
3
|
+
"version": "6.71.3",
|
|
4
4
|
"repository": "https://github.com/zuplo/zuplo",
|
|
5
5
|
"author": "Zuplo, Inc.",
|
|
6
6
|
"type": "module",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"chokidar": "^3.5.3",
|
|
37
|
-
"esbuild": "
|
|
37
|
+
"esbuild": "0.28.1",
|
|
38
38
|
"jsonc-parser": "^3.2.0",
|
|
39
39
|
"prettier": "^3.5.3",
|
|
40
40
|
"source-map": "^0.7.4"
|
|
@@ -1 +1,170 @@
|
|
|
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 over OTLP/HTTP
|
|
6
|
+
to one or more destinations.
|
|
7
|
+
|
|
8
|
+
## Getting started
|
|
9
|
+
|
|
10
|
+
Register the plugin from your project's `zuplo.runtime.ts`:
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { RuntimeExtensions, environment } from "@zuplo/runtime";
|
|
14
|
+
import { OpenTelemetryPlugin } from "@zuplo/otel";
|
|
15
|
+
|
|
16
|
+
export function runtimeInit(runtime: RuntimeExtensions) {
|
|
17
|
+
runtime.addPlugin(
|
|
18
|
+
new OpenTelemetryPlugin({
|
|
19
|
+
service: { name: "my-api" },
|
|
20
|
+
exporter: {
|
|
21
|
+
url: environment.OTLP_ENDPOINT,
|
|
22
|
+
headers: { "api-key": environment.OTLP_API_KEY },
|
|
23
|
+
},
|
|
24
|
+
})
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Every configuration requires a `service` (used for the `service.*` resource
|
|
30
|
+
attributes) plus one of the destination shapes described below. Only the HTTP(S)
|
|
31
|
+
OTLP protocol is supported.
|
|
32
|
+
|
|
33
|
+
## Usage configurations
|
|
34
|
+
|
|
35
|
+
### Single destination — OTLP exporter
|
|
36
|
+
|
|
37
|
+
The simplest setup: point a single OTLP/HTTP exporter at your collector. Use
|
|
38
|
+
`headers` for authentication.
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
new OpenTelemetryPlugin({
|
|
42
|
+
service: { name: "my-api", version: "1.0.0" },
|
|
43
|
+
exporter: {
|
|
44
|
+
url: environment.OTLP_ENDPOINT,
|
|
45
|
+
headers: { authorization: `Bearer ${environment.OTEL_TOKEN}` },
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Single destination — separate logs and traces endpoints
|
|
51
|
+
|
|
52
|
+
When your backend exposes distinct endpoints for logs and traces, provide both.
|
|
53
|
+
The shared `headers` are sent to each.
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
new OpenTelemetryPlugin({
|
|
57
|
+
service: { name: "my-api" },
|
|
58
|
+
logUrl: environment.OTLP_LOG_ENDPOINT,
|
|
59
|
+
traceUrl: environment.OTLP_TRACE_ENDPOINT,
|
|
60
|
+
headers: { authorization: `Bearer ${environment.OTEL_TOKEN}` },
|
|
61
|
+
});
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Multiple destinations — span processors
|
|
65
|
+
|
|
66
|
+
To send spans to **more than one** destination, build a span processor per
|
|
67
|
+
destination and pass them as `spanProcessors`. Each processor batches and
|
|
68
|
+
flushes independently, so one slow or failing exporter does not block the
|
|
69
|
+
others. Spans are produced once per request and fan out to every processor.
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
import {
|
|
73
|
+
OpenTelemetryPlugin,
|
|
74
|
+
OTLPSpanExporter,
|
|
75
|
+
BatchTraceSpanProcessor,
|
|
76
|
+
} from "@zuplo/otel";
|
|
77
|
+
|
|
78
|
+
runtime.addPlugin(
|
|
79
|
+
new OpenTelemetryPlugin({
|
|
80
|
+
service: { name: "my-api" },
|
|
81
|
+
spanProcessors: [
|
|
82
|
+
// Your own collector
|
|
83
|
+
new BatchTraceSpanProcessor(
|
|
84
|
+
new OTLPSpanExporter({ url: environment.PRIMARY_OTLP_ENDPOINT })
|
|
85
|
+
),
|
|
86
|
+
// A second destination, with its own auth
|
|
87
|
+
new BatchTraceSpanProcessor(
|
|
88
|
+
new OTLPSpanExporter({
|
|
89
|
+
url: environment.SECONDARY_OTLP_ENDPOINT,
|
|
90
|
+
headers: {
|
|
91
|
+
authorization: `Bearer ${environment.SECONDARY_OTLP_TOKEN}`,
|
|
92
|
+
},
|
|
93
|
+
})
|
|
94
|
+
),
|
|
95
|
+
],
|
|
96
|
+
})
|
|
97
|
+
);
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`spanProcessors` accepts any OpenTelemetry `SpanProcessor`, so you can mix in
|
|
101
|
+
standard processors — for example, a console exporter for local debugging:
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
import {
|
|
105
|
+
OpenTelemetryPlugin,
|
|
106
|
+
OTLPSpanExporter,
|
|
107
|
+
BatchTraceSpanProcessor,
|
|
108
|
+
} from "@zuplo/otel";
|
|
109
|
+
import {
|
|
110
|
+
ConsoleSpanExporter,
|
|
111
|
+
SimpleSpanProcessor,
|
|
112
|
+
} from "@opentelemetry/sdk-trace-base";
|
|
113
|
+
|
|
114
|
+
new OpenTelemetryPlugin({
|
|
115
|
+
service: { name: "my-api" },
|
|
116
|
+
spanProcessors: [
|
|
117
|
+
new BatchTraceSpanProcessor(
|
|
118
|
+
new OTLPSpanExporter({ url: environment.OTLP_ENDPOINT })
|
|
119
|
+
),
|
|
120
|
+
new SimpleSpanProcessor(new ConsoleSpanExporter()),
|
|
121
|
+
],
|
|
122
|
+
});
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Resource attributes
|
|
126
|
+
|
|
127
|
+
Every span is automatically tagged with Zuplo's service, cloud, and build
|
|
128
|
+
identifiers. Use `resourceAttributes` to add your own — they are merged **on top
|
|
129
|
+
of** the defaults, so a key you set here overrides the default of the same name.
|
|
130
|
+
This is useful when a downstream sink keys ingestion on specific attributes.
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
new OpenTelemetryPlugin({
|
|
134
|
+
service: { name: "my-api" },
|
|
135
|
+
spanProcessors: [
|
|
136
|
+
new BatchTraceSpanProcessor(
|
|
137
|
+
new OTLPSpanExporter({ url: environment.OTLP_ENDPOINT })
|
|
138
|
+
),
|
|
139
|
+
],
|
|
140
|
+
resourceAttributes: {
|
|
141
|
+
"zuplo.account_id": "acme",
|
|
142
|
+
"zuplo.project_id": "my-api",
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Sampling
|
|
148
|
+
|
|
149
|
+
Head sampling is configured via `sampling.headSampler`. Pass a ratio to sample a
|
|
150
|
+
fraction of traces (defaults to sampling everything):
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
new OpenTelemetryPlugin({
|
|
154
|
+
service: { name: "my-api" },
|
|
155
|
+
exporter: { url: environment.OTLP_ENDPOINT },
|
|
156
|
+
sampling: {
|
|
157
|
+
headSampler: { ratio: 0.1 }, // sample 10% of requests
|
|
158
|
+
},
|
|
159
|
+
});
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Exports
|
|
163
|
+
|
|
164
|
+
| Export | Purpose |
|
|
165
|
+
| ------------------------- | ------------------------------------------------------------------------- |
|
|
166
|
+
| `OpenTelemetryPlugin` | The plugin registered via `runtime.addPlugin(...)`. |
|
|
167
|
+
| `TraceConfig` | Type of the plugin's configuration object. |
|
|
168
|
+
| `OTLPSpanExporter` | OTLP/HTTP span exporter; pair with a span processor. |
|
|
169
|
+
| `OTLPExporterConfig` | Configuration (`url`, optional `headers`) for an OTLP exporter. |
|
|
170
|
+
| `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 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{ExportResultCode as Ae}from"@opentelemetry/core";import{JsonLogsSerializer as Et,JsonTraceSerializer as wt}from"@opentelemetry/otlp-transformer";import{BackgroundDispatcher as Ie}from"@zuplo/runtime";function Lt(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}n(Lt,"isPlainObject");function we(r){if(r==null)return"";if(Array.isArray(r)){for(let e=0;e<r.length;e+=1)r[e]=we(r[e]);return r}return Lt(r)&&H(r),r}n(we,"sanitizeValue");function H(r){Object.keys(r).forEach(e=>{r[e]=we(r[e])})}n(H,"sanitizeEmptyAttributes");var ue=Symbol("unwrap");function Oe(r){return r&&!!r[ue]}n(Oe,"isWrapped");function vt(r){return r!==null&&typeof r=="object"||typeof r=="function"}n(vt,"isProxyable");function U(r,e,t=!0){if(Oe(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&&Oe(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 Fe={accept:"application/json","content-type":"application/json"},b=class{static{n(this,"OTLPSpanExporter")}headers;url;constructor(e){this.url=e.url,this.headers=Object.assign({},Fe,e.headers)}export(e,t){e.forEach(o=>{this.batcher.enqueue(o)}),t({code:Ae.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 Ie(this.dispatchFunction,{msDelay:10})},B=class{static{n(this,"OTLPLogExporter")}headers;url;batcher;constructor(e,t){this.url=e.url,this.headers=Object.assign({},Fe,e.headers),this.batcher=new Ie(this.dispatchFunction,{msDelay:t?.scheduledDelayMillis??10})}export(e,t){e.forEach(o=>{this.batcher.enqueue(o)}),t({code:Ae.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")};import{TelemetryPlugin as wr,trackFeature as Or}from"@zuplo/runtime";import{context as V,propagation as qe,SpanKind as Ke,SpanStatusCode as Mt,trace as Ht}from"@opentelemetry/api";import{context as Ve}from"@opentelemetry/api";import{W3CTraceContextPropagator as kt}from"@opentelemetry/core";var j=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 ke}from"@opentelemetry/api";import{ParentBasedSampler as Ne,TraceIdRatioBasedSampler as At}from"@opentelemetry/sdk-trace-base";import{SemanticAttributes as ge}from"@zuplo/runtime";function De(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(De,"internalTailSampler");function Ge(r){return e=>r.reduce((t,o)=>t||o(e),!1)}n(Ge,"multiTailSampler");var Me=n(r=>(r.localRootSpan.spanContext().traceFlags&ke.SAMPLED)===ke.SAMPLED,"isHeadSampled"),He=n(r=>r.localRootSpan.status.code===Ot.ERROR,"isRootErrorSpan");function Ue(r){let e=new At(r.ratio);return typeof r.acceptRemote=="boolean"&&!r.acceptRemote?new Ne({root:e,remoteParentSampled:e,remoteParentNotSampled:e}):new Ne({root:e})}n(Ue,"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))})})}},_=class{constructor(e){this.exporter=e}exporter;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 Be(r){return!!r.spanProcessors}n(Be,"isSpanProcessorConfig");function je(r){let e=!!r.spanProcessors,t=!!r.logProcessors;return e&&t}n(je,"isProcessorConfig");var ze=Symbol("Otel Tracing Configuration");function $e(r,e=Ve.active()){return e.setValue(ze,r)}n($e,"setConfig");function T(){return Ve.active().getValue(ze)||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 _(new b(r.exporter))]:Gt(r)?(e=[new _(new b({url:r.traceUrl,headers:r.headers}))],t=[new j(new B({url:r.logUrl,headers:r.headers}))]):je(r)?(e=Array.isArray(r.spanProcessors)?r.spanProcessors:[r.spanProcessors],t=Array.isArray(r.logProcessors)?r.logProcessors:[r.logProcessors]):Be(r)&&(e=Array.isArray(r.spanProcessors)?r.spanProcessors:[r.spanProcessors]);let o=r.sampling?.headSampler||{ratio:1},s=Nt(o)?o:Ue(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:De(r.sampling?.tailSampler??Ge([Me,He]))},service:r.service,resourceAttributes:r.resourceAttributes,spanProcessors:e,propagator:r.propagator||new kt,instrumentation:{instrumentGlobalFetch:r.instrumentation?.instrumentGlobalFetch??!0},logProcessors:t}}n(fe,"parseConfig");function Ze(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(Ze,"gatherRequestAttributes");function Ye(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(Ye,"gatherResponseAttributes");function Ut(r){return qe.extract(V.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?V.active():(typeof e.handlers.fetch.acceptTraceContext=="function"?e.handlers.fetch.acceptTraceContext(r):e.handlers.fetch.acceptTraceContext??!0)?Ut(r.headers):V.active()}n(Bt,"getParentContextFromRequest");function We(r,e){let t=r;if(t.attributes["http.route"]){let o=e.method.toUpperCase();r.updateName(`${o} ${t.attributes["http.route"]}`)}}n(We,"updateSpanNameOnRoute");var Xe={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,Ze(r)),{name:`fetchHandler ${r.method.toUpperCase()}`,options:{attributes:t,kind:Ke.SERVER},context:e}},"getInitialSpanInfo"),getAttributesFromResult:n(r=>Ye(r),"getAttributesFromResult"),executionSuccess:We,executionFailed:We};function jt(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:Ke.CLIENT,attributes:t},d=new URL(c.url).host,w=c.method.toUpperCase(),M=typeof t?.name=="string"?t?.name:`${w}: ${d}`;return m.startActiveSpan(M,h,async p=>{try{((typeof u.includeTraceContext=="function"?u.includeTraceContext(c):u.includeTraceContext)??!0)&&qe.inject(V.active(),c.headers,{set:n((ce,pe,P)=>ce.set(pe,typeof P=="string"?P:String(P)),"set")}),p.setAttributes(Ze(c));let ae=await Reflect.apply(s,i,[c]);return p.setAttributes(Ye(ae)),ae}catch(x){throw p.recordException(x),p.setStatus({code:Mt.ERROR}),x}finally{p.end()}})},"apply")},!0)}n(jt,"instrumentClientFetch");function Je(){globalThis.fetch=jt(globalThis.fetch,r=>r.fetch)}n(Je,"instrumentGlobalFetch");import{context as St,context as hr,propagation as Tr,SpanStatusCode as xr,trace as Rt}from"@opentelemetry/api";import{resourceFromAttributes as ve}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 Vt}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 Vt}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 ot,trace as W}from"@opentelemetry/api";import{sanitizeAttributes as nt}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 Qe}from"@opentelemetry/core";import{ATTR_EXCEPTION_MESSAGE as et,ATTR_EXCEPTION_STACKTRACE as Jt,ATTR_EXCEPTION_TYPE as tt}from"@opentelemetry/semantic-conventions";function Qt(r){let e={};return typeof r=="string"?e[et]=r:(r.code?e[tt]=r.code.toString():r.name&&(e[tt]=r.name),r.message&&(e[et]=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=rt;_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=Qe(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=Qe(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 it=new rr,st;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=nt(t.attributes),h=s.sampling.headSampler.shouldSample(o,a,e,l,u,[]),{decision:d,traceState:w,attributes:M}=h,g=Object.assign({},t.attributes,M,st);st={};let p=it.generateSpanId(),x=i?.spanId,ce=(d===or.RECORD_AND_SAMPLED?ot.SAMPLED:ot.NONE)+c,pe={traceId:a,spanId:p,traceFlags:ce,traceState:w},P=new $({attributes:nt(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:it.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 at(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(at,"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){}},ct=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):ct}};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"),C=be;function pt(r,e,t){return o=>o===r?e:t}n(pt,"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 C[I]?this.getLoggerProvider():(C[I]=pt(_e,e,q),this._proxyLoggerProvider.setDelegate(e),e)}getLoggerProvider(){var e,t;return(t=(e=C[I])===null||e===void 0?void 0:e.call(C,_e))!==null&&t!==void 0?t:this._proxyLoggerProvider}getLogger(e,t,o){return this.getLoggerProvider().getLogger(e,t,o)}disable(){delete C[I],this._proxyLoggerProvider=new A}};var lt=Z.getInstance();import{diag as D}from"@opentelemetry/api";var y=class{static{n(this,"NoopLogger")}emit(e){}},F=new y;var Ce=class{static{n(this,"NoopLoggerProvider")}getLogger(e,t,o){return new y}},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"),L=ye;function ut(r,e,t){return o=>o===r?e:t}n(ut,"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 L[N]?this.getLoggerProvider():(L[N]=ut(Le,e,Y),this._proxyLoggerProvider.setDelegate(e),e)}getLoggerProvider(){var e,t;return(t=(e=L[N])===null||e===void 0?void 0:e.call(L,Le))!==null&&t!==void 0?t:this._proxyLoggerProvider}getLogger(e,t,o){return this.getLoggerProvider().getLogger(e,t,o)}disable(){delete L[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 dt,isAttributeValue as gt}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=dt(s??h),this.hrTimeObserved=dt(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):!gt(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):(gt(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 v}from"@opentelemetry/core";function mt(){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(mt,"loadDefaultConfig");function ft(r){return{attributeCountLimit:r.attributeCountLimit??v("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT")??v("OTEL_ATTRIBUTE_COUNT_LIMIT")??128,attributeValueLengthLimit:r.attributeValueLengthLimit??v("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT")??v("OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT")??1/0}}n(ft,"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 E=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 E(this.registeredLogRecordProcessors,this.forceFlushTimeoutMillis)):this.activeProcessor=new te}};var mr="unknown",G=class{static{n(this,"LoggerProvider")}_shutdownOnce;_sharedState;constructor(e={}){let t=gr({},mt(),e),o=e.resource??ur();this._sharedState=new re(o,t.forceFlushTimeoutMillis,ft(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 E(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(){lt.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=ve({[br]:e.service.name,[_r]:e.service.namespace,[Cr]:e.service.version}),s=ve(t).merge(o);return e.resourceAttributes?s.merge(ve(e.resourceAttributes)):s},"createResource"),ht=!1;function Tt(r,e){if(!ht){e.instrumentation.instrumentGlobalFetch&&Je(),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}=at(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 w=h||St.active();return l.startActiveSpan(u,m,w,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=$e(i),c=Er(t);return St.with(a,c,o,r,[o,s])}}n(bt,"createHandlerProxy");var rt={name:"@zuplo/otel"};var Ee=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,Xe),"requestHandlerProxy")}}};export{b as a,_ as b,Ee as c};
|
|
26
|
+
//# sourceMappingURL=chunk-U3KEMFL3.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"],"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","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","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","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","OpenTelemetryPlugin","TelemetryPlugin","__name","config","trackFeature","options","initializer","createInitializer","wrapped","createHandlerProxy","fetchInstrumentation"]}
|
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
* DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*--------------------------------------------------------------------------------------------*/
|
|
24
24
|
|
|
25
|
-
import{a}from"./chunk-
|
|
25
|
+
import{a,b,c}from"./chunk-U3KEMFL3.js";export{b as BatchTraceSpanProcessor,a as OTLPSpanExporter,c as OpenTelemetryPlugin};
|
|
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
|
+
private exporter;
|
|
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
|
}
|
|
@@ -135,11 +160,40 @@ export declare class OpenTelemetryPlugin extends TelemetryPlugin {
|
|
|
135
160
|
};
|
|
136
161
|
}
|
|
137
162
|
|
|
138
|
-
|
|
163
|
+
/**
|
|
164
|
+
* Configuration for an OTLP/HTTP exporter.
|
|
165
|
+
*
|
|
166
|
+
* Only the HTTP(S) protocol is supported. Use `headers` to pass
|
|
167
|
+
* authentication (e.g. `{ authorization: "Bearer <token>" }`).
|
|
168
|
+
*
|
|
169
|
+
* @public
|
|
170
|
+
*/
|
|
171
|
+
export declare interface OTLPExporterConfig {
|
|
139
172
|
url: string;
|
|
140
173
|
headers?: Record<string, string>;
|
|
141
174
|
}
|
|
142
175
|
|
|
176
|
+
/**
|
|
177
|
+
* Exports spans to an OTLP/HTTP endpoint as OTLP JSON. Pair with a
|
|
178
|
+
* `BatchTraceSpanProcessor` and pass it via `TraceConfig.spanProcessors`
|
|
179
|
+
* to send spans to an additional destination.
|
|
180
|
+
*
|
|
181
|
+
* @public
|
|
182
|
+
*/
|
|
183
|
+
export declare class OTLPSpanExporter implements SpanExporter {
|
|
184
|
+
private headers;
|
|
185
|
+
private url;
|
|
186
|
+
constructor(config: OTLPExporterConfig);
|
|
187
|
+
export(
|
|
188
|
+
spans: ReadableSpan[],
|
|
189
|
+
resultCallback: (result: ExportResult) => void
|
|
190
|
+
): void;
|
|
191
|
+
shutdown(): Promise<void>;
|
|
192
|
+
forceFlush?(): Promise<void>;
|
|
193
|
+
dispatchFunction: (spans: ReadableSpan[]) => Promise<void>;
|
|
194
|
+
batcher: BackgroundDispatcher<ReadableSpan>;
|
|
195
|
+
}
|
|
196
|
+
|
|
143
197
|
declare interface ParentRatioSamplingConfig {
|
|
144
198
|
acceptRemote?: boolean;
|
|
145
199
|
ratio: number;
|
|
@@ -275,6 +329,32 @@ declare interface TraceConfigBase {
|
|
|
275
329
|
sampling?: SamplingConfig;
|
|
276
330
|
propagator?: TextMapPropagator;
|
|
277
331
|
instrumentation?: InstrumentationOptions;
|
|
332
|
+
/**
|
|
333
|
+
* Additional OpenTelemetry Resource attributes to attach to every span
|
|
334
|
+
* emitted by this provider. Merged on top of the Zuplo-supplied resource
|
|
335
|
+
* (service / cloud / build identifiers), so any key set here overrides the
|
|
336
|
+
* default of the same name.
|
|
337
|
+
*
|
|
338
|
+
* Use this to tag spans with the attributes a downstream sink expects — for
|
|
339
|
+
* example, when fanning out to a second OTLP destination that keys ingestion
|
|
340
|
+
* on `zuplo.account_id` / `zuplo.project_id`:
|
|
341
|
+
*
|
|
342
|
+
* @example
|
|
343
|
+
* ```typescript
|
|
344
|
+
* const config: TraceConfig = {
|
|
345
|
+
* service: { name: "my-api" },
|
|
346
|
+
* spanProcessors: [
|
|
347
|
+
* new BatchTraceSpanProcessor(new OTLPSpanExporter(byoExporterConfig)),
|
|
348
|
+
* new BatchTraceSpanProcessor(new OTLPSpanExporter(zuploExporterConfig)),
|
|
349
|
+
* ],
|
|
350
|
+
* resourceAttributes: {
|
|
351
|
+
* "zuplo.account_id": "acme",
|
|
352
|
+
* "zuplo.project_id": "my-api",
|
|
353
|
+
* },
|
|
354
|
+
* };
|
|
355
|
+
* ```
|
|
356
|
+
*/
|
|
357
|
+
resourceAttributes?: Attributes;
|
|
278
358
|
}
|
|
279
359
|
|
|
280
360
|
/**
|
|
@@ -293,4 +373,28 @@ declare interface TraceConfigSpanProcessors extends TraceConfigBase {
|
|
|
293
373
|
spanProcessors: SpanProcessor | SpanProcessor[];
|
|
294
374
|
}
|
|
295
375
|
|
|
376
|
+
declare type TraceFlushableSpanProcessor = SpanProcessor & {
|
|
377
|
+
forceFlush: (traceId?: string) => Promise<void>;
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
declare type TraceId = string;
|
|
381
|
+
|
|
382
|
+
declare class TraceState {
|
|
383
|
+
private unexportedSpans;
|
|
384
|
+
private inprogressSpans;
|
|
385
|
+
private exporter;
|
|
386
|
+
private exportPromises;
|
|
387
|
+
private localRootSpan?;
|
|
388
|
+
private traceDecision?;
|
|
389
|
+
isFlushed: boolean;
|
|
390
|
+
constructor(exporter: SpanExporter);
|
|
391
|
+
addSpan(span: Span): void;
|
|
392
|
+
hasFinished(): boolean;
|
|
393
|
+
endSpan(span: ReadableSpan): Promise<void>;
|
|
394
|
+
sample(): void;
|
|
395
|
+
flush(): Promise<void>;
|
|
396
|
+
private isSpanInProgress;
|
|
397
|
+
private exportSpans;
|
|
398
|
+
}
|
|
399
|
+
|
|
296
400
|
export {};
|
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
* DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*--------------------------------------------------------------------------------------------*/
|
|
24
24
|
|
|
25
|
-
import{a as r,ca as o}from"./chunk-
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
25
|
+
import{a as r,ca as o}from"./chunk-L3MZGNQA.js";var t={AI_GATEWAY_COST_SUM:"ai_gateway_cost_sum",AI_GATEWAY_REQUEST_COUNT:"ai_gateway_request_count",AI_GATEWAY_TOKEN_SUM:"ai_gateway_token_sum",AI_GATEWAY_LATENCY_HISTOGRAM:"ai_gateway_latency_histogram",AI_GATEWAY_WARNING_COUNT:"ai_gateway_warning_count",AI_GATEWAY_BLOCKED_COUNT:"ai_gateway_blocked_count",AI_GATEWAY_FALLBACK_COUNT:"ai_gateway_fallback_count",MCP_REQUEST_RECEIVED:"mcp_request_received",MCP_REQUEST_COMPLETED:"mcp_request_completed",MCP_REQUEST_REJECTED:"mcp_request_rejected",MCP_INITIALIZE_NEGOTIATED:"mcp_initialize_negotiated",MCP_CLIENT_UNSUPPORTED_BEHAVIOR:"mcp_client_unsupported_behavior",MCP_CAPABILITY_LISTED:"mcp_capability_listed",MCP_CAPABILITY_INVOKED:"mcp_capability_invoked",MCP_CAPABILITY_COMPLETED:"mcp_capability_completed",MCP_CAPABILITY_FAILED:"mcp_capability_failed",MCP_CAPABILITY_CONNECT_REQUIRED:"mcp_capability_connect_required",MCP_AUTH_DOWNSTREAM_TOKEN_VALIDATED:"mcp_auth_downstream_token_validated",MCP_AUTH_DOWNSTREAM_TOKEN_REJECTED:"mcp_auth_downstream_token_rejected",MCP_OAUTH_CLIENT_REGISTERED:"mcp_oauth_client_registered",MCP_OAUTH_AUTHORIZE_STARTED:"mcp_oauth_authorize_started",MCP_OAUTH_AUTHORIZE_AWAITING_SETUP:"mcp_oauth_authorize_awaiting_setup",MCP_OAUTH_TOKEN_ISSUED:"mcp_oauth_token_issued",MCP_OAUTH_TOKEN_REFRESH_ROTATED:"mcp_oauth_token_refresh_rotated",MCP_OAUTH_TOKEN_REVOKED:"mcp_oauth_token_revoked",MCP_AUTH_UPSTREAM_CONNECT_REQUIRED:"mcp_auth_upstream_connect_required",MCP_AUTH_UPSTREAM_CONNECT_STARTED:"mcp_auth_upstream_connect_started",MCP_AUTH_UPSTREAM_CALLBACK_RECEIVED:"mcp_auth_upstream_callback_received",MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_SUCCEEDED:"mcp_auth_upstream_token_exchange_succeeded",MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_FAILED:"mcp_auth_upstream_token_exchange_failed",MCP_AUTH_UPSTREAM_CREDENTIAL_RESOLVED:"mcp_auth_upstream_credential_resolved",MCP_AUTH_UPSTREAM_CREDENTIAL_MISSING:"mcp_auth_upstream_credential_missing",MCP_AUTH_UPSTREAM_RECONSENT_REQUIRED:"mcp_auth_upstream_reconsent_required",GRAPHQL_OPERATION:"graphql_operation"};var i=class{static{r(this,"BaseAnalyticsEvent")}eventId;requestId;timestamp;accountName;projectName;deploymentName;unit;value;constructor(e){this.eventId=e.eventId,this.requestId=e.requestId,this.timestamp=e.timestamp??new Date,this.accountName=e.accountName,this.projectName=e.projectName,this.deploymentName=e.deploymentName,this.unit=e.unit,this.value=e.value}};var s=class extends i{static{r(this,"AiGatewayBlockedCountEvent")}eventType=t.AI_GATEWAY_BLOCKED_COUNT;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.type||!this.metadata.type.trim())&&(this.metadata.type="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var _=class extends i{static{r(this,"AiGatewayCostSumEvent")}eventType=t.AI_GATEWAY_COST_SUM;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var p=class extends i{static{r(this,"AiGatewayFallbackCountEvent")}eventType=t.AI_GATEWAY_FALLBACK_COUNT;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.type||!this.metadata.type.trim())&&(this.metadata.type="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var T=class extends i{static{r(this,"AiGatewayLatencyHistogramEvent")}eventType=t.AI_GATEWAY_LATENCY_HISTOGRAM;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var l=class extends i{static{r(this,"AiGatewayRequestCountEvent")}eventType=t.AI_GATEWAY_REQUEST_COUNT;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var u=class extends i{static{r(this,"AiGatewayTokenSumEvent")}eventType=t.AI_GATEWAY_TOKEN_SUM;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var A=class extends i{static{r(this,"AiGatewayWarningCountEvent")}eventType=t.AI_GATEWAY_WARNING_COUNT;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.type||!this.metadata.type.trim())&&(this.metadata.type="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var m=class extends i{static{r(this,"GraphqlOperationEvent")}eventType=t.GRAPHQL_OPERATION;metadata;constructor(e){super(e),this.metadata=e.metadata}};var c=class extends i{static{r(this,"McpEvent")}eventType;metadata;constructor(e){super(e),this.eventType=e.eventType,this.metadata=e.metadata}};var a=r(n=>e=>new c({...e,eventType:n}),"buildMcpEvent"),O={[t.AI_GATEWAY_COST_SUM]:n=>new _(n),[t.AI_GATEWAY_REQUEST_COUNT]:n=>new l(n),[t.AI_GATEWAY_TOKEN_SUM]:n=>new u(n),[t.AI_GATEWAY_LATENCY_HISTOGRAM]:n=>new T(n),[t.AI_GATEWAY_WARNING_COUNT]:n=>new A(n),[t.AI_GATEWAY_BLOCKED_COUNT]:n=>new s(n),[t.AI_GATEWAY_FALLBACK_COUNT]:n=>new p(n),[t.MCP_REQUEST_RECEIVED]:a(t.MCP_REQUEST_RECEIVED),[t.MCP_REQUEST_COMPLETED]:a(t.MCP_REQUEST_COMPLETED),[t.MCP_REQUEST_REJECTED]:a(t.MCP_REQUEST_REJECTED),[t.MCP_INITIALIZE_NEGOTIATED]:a(t.MCP_INITIALIZE_NEGOTIATED),[t.MCP_CLIENT_UNSUPPORTED_BEHAVIOR]:a(t.MCP_CLIENT_UNSUPPORTED_BEHAVIOR),[t.MCP_CAPABILITY_LISTED]:a(t.MCP_CAPABILITY_LISTED),[t.MCP_CAPABILITY_INVOKED]:a(t.MCP_CAPABILITY_INVOKED),[t.MCP_CAPABILITY_COMPLETED]:a(t.MCP_CAPABILITY_COMPLETED),[t.MCP_CAPABILITY_FAILED]:a(t.MCP_CAPABILITY_FAILED),[t.MCP_CAPABILITY_CONNECT_REQUIRED]:a(t.MCP_CAPABILITY_CONNECT_REQUIRED),[t.MCP_AUTH_DOWNSTREAM_TOKEN_VALIDATED]:a(t.MCP_AUTH_DOWNSTREAM_TOKEN_VALIDATED),[t.MCP_AUTH_DOWNSTREAM_TOKEN_REJECTED]:a(t.MCP_AUTH_DOWNSTREAM_TOKEN_REJECTED),[t.MCP_OAUTH_CLIENT_REGISTERED]:a(t.MCP_OAUTH_CLIENT_REGISTERED),[t.MCP_OAUTH_AUTHORIZE_STARTED]:a(t.MCP_OAUTH_AUTHORIZE_STARTED),[t.MCP_OAUTH_AUTHORIZE_AWAITING_SETUP]:a(t.MCP_OAUTH_AUTHORIZE_AWAITING_SETUP),[t.MCP_OAUTH_TOKEN_ISSUED]:a(t.MCP_OAUTH_TOKEN_ISSUED),[t.MCP_OAUTH_TOKEN_REFRESH_ROTATED]:a(t.MCP_OAUTH_TOKEN_REFRESH_ROTATED),[t.MCP_OAUTH_TOKEN_REVOKED]:a(t.MCP_OAUTH_TOKEN_REVOKED),[t.MCP_AUTH_UPSTREAM_CONNECT_REQUIRED]:a(t.MCP_AUTH_UPSTREAM_CONNECT_REQUIRED),[t.MCP_AUTH_UPSTREAM_CONNECT_STARTED]:a(t.MCP_AUTH_UPSTREAM_CONNECT_STARTED),[t.MCP_AUTH_UPSTREAM_CALLBACK_RECEIVED]:a(t.MCP_AUTH_UPSTREAM_CALLBACK_RECEIVED),[t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_SUCCEEDED]:a(t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_SUCCEEDED),[t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_FAILED]:a(t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_FAILED),[t.MCP_AUTH_UPSTREAM_CREDENTIAL_RESOLVED]:a(t.MCP_AUTH_UPSTREAM_CREDENTIAL_RESOLVED),[t.MCP_AUTH_UPSTREAM_CREDENTIAL_MISSING]:a(t.MCP_AUTH_UPSTREAM_CREDENTIAL_MISSING),[t.MCP_AUTH_UPSTREAM_RECONSENT_REQUIRED]:a(t.MCP_AUTH_UPSTREAM_RECONSENT_REQUIRED),[t.GRAPHQL_OPERATION]:n=>new m(n)};function M(n,e){let E=O[n];return E(e)}r(M,"createAnalyticsEvent");var I=class{static{r(this,"ZuploGatewayAnalyticsContext")}#t;#e;constructor(e){this.#t=[],this.#e=e}addAnalyticsEvent(e,E,d,y,C){let v=this.createAnalyticsEvent(e,E,d,y,C);this.#t.push(v)}flushAnalyticsEvents(){let e=[...this.#t];return this.#t.length=0,e}getAnalyticsEvents(){return[...this.#t]}createAnalyticsEvent(e,E,d,y,C){return M(E,{eventId:C??crypto.randomUUID(),requestId:this.#e,accountName:o.instance.build.ACCOUNT_NAME??"unknown",projectName:o.instance.build.PROJECT_NAME??"unknown",deploymentName:o.instance.deploymentName??"unknown",metadata:d,unit:y,value:e})}};export{t as a,I as b};
|
|
26
|
+
//# sourceMappingURL=chunk-2Y72LML3.js.map
|