@effect/opentelemetry 0.60.0 → 0.61.0

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.
Files changed (67) hide show
  1. package/OtlpSerialization/package.json +6 -0
  2. package/dist/cjs/Otlp.js +19 -1
  3. package/dist/cjs/Otlp.js.map +1 -1
  4. package/dist/cjs/OtlpLogger.js +13 -8
  5. package/dist/cjs/OtlpLogger.js.map +1 -1
  6. package/dist/cjs/OtlpMetrics.js +4 -1
  7. package/dist/cjs/OtlpMetrics.js.map +1 -1
  8. package/dist/cjs/OtlpSerialization.js +55 -0
  9. package/dist/cjs/OtlpSerialization.js.map +1 -0
  10. package/dist/cjs/OtlpTracer.js +3 -1
  11. package/dist/cjs/OtlpTracer.js.map +1 -1
  12. package/dist/cjs/index.js +3 -1
  13. package/dist/cjs/internal/otlpExporter.js +3 -1
  14. package/dist/cjs/internal/otlpExporter.js.map +1 -1
  15. package/dist/cjs/internal/otlpProtobuf.js +430 -0
  16. package/dist/cjs/internal/otlpProtobuf.js.map +1 -0
  17. package/dist/cjs/internal/protobuf.js +183 -0
  18. package/dist/cjs/internal/protobuf.js.map +1 -0
  19. package/dist/cjs/internal/tracer.js +9 -2
  20. package/dist/cjs/internal/tracer.js.map +1 -1
  21. package/dist/dts/Otlp.d.ts +49 -0
  22. package/dist/dts/Otlp.d.ts.map +1 -1
  23. package/dist/dts/OtlpLogger.d.ts +3 -2
  24. package/dist/dts/OtlpLogger.d.ts.map +1 -1
  25. package/dist/dts/OtlpMetrics.d.ts +3 -2
  26. package/dist/dts/OtlpMetrics.d.ts.map +1 -1
  27. package/dist/dts/OtlpSerialization.d.ts +53 -0
  28. package/dist/dts/OtlpSerialization.d.ts.map +1 -0
  29. package/dist/dts/OtlpTracer.d.ts +3 -2
  30. package/dist/dts/OtlpTracer.d.ts.map +1 -1
  31. package/dist/dts/index.d.ts +9 -0
  32. package/dist/dts/index.d.ts.map +1 -1
  33. package/dist/dts/internal/otlpProtobuf.d.ts +501 -0
  34. package/dist/dts/internal/otlpProtobuf.d.ts.map +1 -0
  35. package/dist/dts/internal/protobuf.d.ts +100 -0
  36. package/dist/dts/internal/protobuf.d.ts.map +1 -0
  37. package/dist/esm/Otlp.js +18 -0
  38. package/dist/esm/Otlp.js.map +1 -1
  39. package/dist/esm/OtlpLogger.js +13 -8
  40. package/dist/esm/OtlpLogger.js.map +1 -1
  41. package/dist/esm/OtlpMetrics.js +4 -1
  42. package/dist/esm/OtlpMetrics.js.map +1 -1
  43. package/dist/esm/OtlpSerialization.js +46 -0
  44. package/dist/esm/OtlpSerialization.js.map +1 -0
  45. package/dist/esm/OtlpTracer.js +3 -1
  46. package/dist/esm/OtlpTracer.js.map +1 -1
  47. package/dist/esm/index.js +9 -0
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/esm/internal/otlpExporter.js +3 -1
  50. package/dist/esm/internal/otlpExporter.js.map +1 -1
  51. package/dist/esm/internal/otlpProtobuf.js +396 -0
  52. package/dist/esm/internal/otlpProtobuf.js.map +1 -0
  53. package/dist/esm/internal/protobuf.js +155 -0
  54. package/dist/esm/internal/protobuf.js.map +1 -0
  55. package/dist/esm/internal/tracer.js +9 -2
  56. package/dist/esm/internal/tracer.js.map +1 -1
  57. package/package.json +11 -26
  58. package/src/Otlp.ts +53 -1
  59. package/src/OtlpLogger.ts +15 -10
  60. package/src/OtlpMetrics.ts +8 -4
  61. package/src/OtlpSerialization.ts +64 -0
  62. package/src/OtlpTracer.ts +6 -3
  63. package/src/index.ts +10 -0
  64. package/src/internal/otlpExporter.ts +6 -4
  65. package/src/internal/otlpProtobuf.ts +729 -0
  66. package/src/internal/protobuf.ts +219 -0
  67. package/src/internal/tracer.ts +13 -2
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.js","names":["OtelApi","OtelSemConv","Cause","Context","Effect","Exit","constTrue","dual","Layer","Option","EffectTracer","Resource","nanosToHrTime","recordToAttributes","unknownToAttributeValue","OtelSpanTypeId","Symbol","for","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","getOtelParent","tracer","otelContext","context","active","getSpan","otelParent","spanContext","undefined","some","externalSpan","spanId","traceId","sampled","traceFlags","none","OtelSpan","name","links","kind","_tag","span","attributes","Map","parent","status","constructor","contextApi","traceApi","effectParent","startTime","options","root","startSpan","length","map","link","makeSpanContext","populateContext","value","trace","deleteSpan","TraceFlags","SAMPLED","attribute","key","setAttribute","set","addLinks","push","end","endTime","exit","hrTime","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","firstError","prettyErrors","stack","renderErrorCause","recordException","ERROR","event","addEvent","TracerProvider","GenericTag","Tracer","make","slice","execution","fiber","currentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","empty","add","traceState","match","createTraceState","onNone","onSome","makeOtelSpan","clock","NONE","isRemote","void","self","setAttributes","Object","entries","arguments","convertOtelTimeInput","addLink","die","updateName","time","isRecording","exception","timeInput","fail","error","bigint1e6","BigInt","bigint1e9","input","unsafeCurrentTimeNanos","Math","round","Date","getTime","seconds","nanos","currentOtelSpan","clockWith","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","flatMap","zip","resource","provider","getTracer","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","unwrapEffect","setTracer","provideMerge","layerWithoutOtelTracer","layer","liftThrowable","setSpan","setSpanContext","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","withSpanContext","withParentSpan"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,OAAO,MAAM,oBAAoB;AAC7C,OAAO,KAAKC,WAAW,MAAM,qCAAqC;AAClE,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,SAASC,SAAS,EAAEC,IAAI,QAAQ,iBAAiB;AACjD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,YAAY,MAAM,eAAe;AAC7C,SAASC,QAAQ,QAAQ,gBAAgB;AAEzC,SAASC,aAAa,EAAEC,kBAAkB,EAAEC,uBAAuB,QAAQ,YAAY;AAEvF,MAAMC,cAAc,gBAAGC,MAAM,CAACC,GAAG,CAAC,uCAAuC,CAAC;AAE1E,MAAMC,OAAO,GAAG;EACd,UAAU,EAAElB,OAAO,CAACmB,QAAQ,CAACC,QAAQ;EACrC,QAAQ,EAAEpB,OAAO,CAACmB,QAAQ,CAACE,MAAM;EACjC,QAAQ,EAAErB,OAAO,CAACmB,QAAQ,CAACG,MAAM;EACjC,UAAU,EAAEtB,OAAO,CAACmB,QAAQ,CAACI,QAAQ;EACrC,UAAU,EAAEvB,OAAO,CAACmB,QAAQ,CAACK;CAC9B;AAED,MAAMC,aAAa,GAAGA,CAACC,MAAwB,EAAEC,WAA4B,EAAEC,OAA+B,KAAI;EAChH,MAAMC,MAAM,GAAGH,MAAM,CAACI,OAAO,CAACH,WAAW,CAAC;EAC1C,MAAMI,UAAU,GAAGF,MAAM,GAAGA,MAAM,CAACG,WAAW,EAAE,GAAGC,SAAS;EAC5D,OAAOF,UAAU,GACbtB,MAAM,CAACyB,IAAI,CACXxB,YAAY,CAACyB,YAAY,CAAC;IACxBC,MAAM,EAAEL,UAAU,CAACK,MAAM;IACzBC,OAAO,EAAEN,UAAU,CAACM,OAAO;IAC3BC,OAAO,EAAE,CAACP,UAAU,CAACQ,UAAU,GAAG,CAAC,MAAM,CAAC;IAC1CX;GACD,CAAC,CACH,GACCnB,MAAM,CAAC+B,IAAI,EAAE;AACnB,CAAC;AAED;AACA,OAAM,MAAOC,QAAQ;EAgBRC,IAAA;EAEAd,OAAA;EACAe,KAAA;EAEAC,IAAA;EApBF,CAAC7B,cAAc;EACf8B,IAAI,GAAG,MAAM;EAEbC,IAAI;EACJV,MAAM;EACNC,OAAO;EACPU,UAAU,gBAAG,IAAIC,GAAG,EAAmB;EACvCV,OAAO;EACPW,MAAM;EACfC,MAAM;EAENC,YACEC,UAA8B,EAC9BC,QAA0B,EAC1B3B,MAAsB,EACbgB,IAAY,EACrBY,YAAiD,EACxC1B,OAA+B,EAC/Be,KAAmC,EAC5CY,SAAiB,EACRX,IAA2B,EACpCY,OAAkC;IANzB,KAAAd,IAAI,GAAJA,IAAI;IAEJ,KAAAd,OAAO,GAAPA,OAAO;IACP,KAAAe,KAAK,GAALA,KAAK;IAEL,KAAAC,IAAI,GAAJA,IAAI;IAGb,IAAI,CAAC7B,cAAc,CAAC,GAAGA,cAAc;IACrC,MAAMc,MAAM,GAAGuB,UAAU,CAACvB,MAAM,EAAE;IAClC,IAAI,CAACoB,MAAM,GAAGK,YAAY,CAACT,IAAI,KAAK,MAAM,GACtCS,YAAY,GACXE,OAAO,EAAEC,IAAI,KAAK,IAAI,GACvBhC,aAAa,CAAC4B,QAAQ,EAAExB,MAAM,EAAED,OAAO,CAAC,GACxCnB,MAAM,CAAC+B,IAAI,EAAE;IACjB,IAAI,CAACM,IAAI,GAAGpB,MAAM,CAACgC,SAAS,CAC1BhB,IAAI,EACJ;MACEa,SAAS,EAAE3C,aAAa,CAAC2C,SAAS,CAAC;MACnCZ,KAAK,EAAEA,KAAK,CAACgB,MAAM,GAAG,CAAC,GACnBhB,KAAK,CAACiB,GAAG,CAAEC,IAAI,KAAM;QACrBjC,OAAO,EAAEkC,eAAe,CAACD,IAAI,CAACf,IAAI,CAAC;QACnCC,UAAU,EAAElC,kBAAkB,CAACgD,IAAI,CAACd,UAAU;OAC/C,CAAC,CAAC,GACDd,SAAgB;MACpBW,IAAI,EAAE1B,OAAO,CAAC,IAAI,CAAC0B,IAAI;KACxB,EACD,IAAI,CAACK,MAAM,CAACJ,IAAI,KAAK,MAAM,GACvBkB,eAAe,CAAClC,MAAM,EAAE,IAAI,CAACoB,MAAM,CAACe,KAAK,EAAEpC,OAAO,CAAC,GACnD5B,OAAO,CAACiE,KAAK,CAACC,UAAU,CAACrC,MAAM,CAAC,CACrC;IACD,MAAMG,WAAW,GAAG,IAAI,CAACc,IAAI,CAACd,WAAW,EAAE;IAC3C,IAAI,CAACI,MAAM,GAAGJ,WAAW,CAACI,MAAM;IAChC,IAAI,CAACC,OAAO,GAAGL,WAAW,CAACK,OAAO;IAClC,IAAI,CAACa,MAAM,GAAG;MACZL,IAAI,EAAE,SAAS;MACfU;KACD;IACD,IAAI,CAACjB,OAAO,GAAG,CAACN,WAAW,CAACO,UAAU,GAAGvC,OAAO,CAACmE,UAAU,CAACC,OAAO,MAAMpE,OAAO,CAACmE,UAAU,CAACC,OAAO;EACrG;EAEAC,SAASA,CAACC,GAAW,EAAEN,KAAc;IACnC,IAAI,CAAClB,IAAI,CAACyB,YAAY,CAACD,GAAG,EAAExD,uBAAuB,CAACkD,KAAK,CAAC,CAAC;IAC3D,IAAI,CAACjB,UAAU,CAACyB,GAAG,CAACF,GAAG,EAAEN,KAAK,CAAC;EACjC;EAEAS,QAAQA,CAAC9B,KAA2C;IAClD;IACA,IAAI,CAACA,KAAK,CAAC+B,IAAI,CAAC,GAAG/B,KAAK,CAAC;IACzB,IAAI,CAACG,IAAI,CAAC2B,QAAQ,CAAC9B,KAAK,CAACiB,GAAG,CAAEC,IAAI,KAAM;MACtCjC,OAAO,EAAEkC,eAAe,CAACD,IAAI,CAACf,IAAI,CAAC;MACnCC,UAAU,EAAElC,kBAAkB,CAACgD,IAAI,CAACd,UAAU;KAC/C,CAAC,CAAC,CAAC;EACN;EAEA4B,GAAGA,CAACC,OAAe,EAAEC,IAAiC;IACpD,MAAMC,MAAM,GAAGlE,aAAa,CAACgE,OAAO,CAAC;IACrC,IAAI,CAAC1B,MAAM,GAAG;MACZL,IAAI,EAAE,OAAO;MACb+B,OAAO;MACPC,IAAI;MACJtB,SAAS,EAAE,IAAI,CAACL,MAAM,CAACK;KACxB;IAED,IAAIsB,IAAI,CAAChC,IAAI,KAAK,SAAS,EAAE;MAC3B,IAAI,CAACC,IAAI,CAACiC,SAAS,CAAC;QAAEC,IAAI,EAAEhF,OAAO,CAACiF,cAAc,CAACC;MAAE,CAAE,CAAC;IAC1D,CAAC,MAAM;MACL,IAAIhF,KAAK,CAACiF,iBAAiB,CAACN,IAAI,CAACO,KAAK,CAAC,EAAE;QACvC,IAAI,CAACtC,IAAI,CAACiC,SAAS,CAAC;UAClBC,IAAI,EAAEhF,OAAO,CAACiF,cAAc,CAACC,EAAE;UAC/BG,OAAO,EAAEnF,KAAK,CAACoF,MAAM,CAACT,IAAI,CAACO,KAAK;SACjC,CAAC;QACF,IAAI,CAACtC,IAAI,CAACyB,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC;QACtD,IAAI,CAACzB,IAAI,CAACyB,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC;MACpD,CAAC,MAAM;QACL,MAAMgB,UAAU,GAAGrF,KAAK,CAACsF,YAAY,CAACX,IAAI,CAACO,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,IAAIG,UAAU,EAAE;UACdA,UAAU,CAACE,KAAK,GAAGvF,KAAK,CAACoF,MAAM,CAACT,IAAI,CAACO,KAAK,EAAE;YAAEM,gBAAgB,EAAE;UAAI,CAAE,CAAC;UACvE,IAAI,CAAC5C,IAAI,CAAC6C,eAAe,CAACJ,UAAU,EAAET,MAAM,CAAC;UAC7C,IAAI,CAAChC,IAAI,CAACiC,SAAS,CAAC;YAClBC,IAAI,EAAEhF,OAAO,CAACiF,cAAc,CAACW,KAAK;YAClCP,OAAO,EAAEE,UAAU,CAACF;WACrB,CAAC;QACJ,CAAC,MAAM;UACL;UACA,IAAI,CAACvC,IAAI,CAACiC,SAAS,CAAC;YAAEC,IAAI,EAAEhF,OAAO,CAACiF,cAAc,CAACC;UAAE,CAAE,CAAC;QAC1D;MACF;IACF;IACA,IAAI,CAACpC,IAAI,CAAC6B,GAAG,CAACG,MAAM,CAAC;EACvB;EAEAe,KAAKA,CAACnD,IAAY,EAAEa,SAAiB,EAAER,UAAoC;IACzE,IAAI,CAACD,IAAI,CAACgD,QAAQ,CAChBpD,IAAI,EACJK,UAAU,GAAGlC,kBAAkB,CAACkC,UAAU,CAAC,GAAGd,SAAS,EACvDrB,aAAa,CAAC2C,SAAS,CAAC,CACzB;EACH;;AAGF;AACA,OAAO,MAAMwC,cAAc,gBAAG5F,OAAO,CAAC6F,UAAU,CAC9C,iDAAiD,CAClD;AAED;AACA,OAAO,MAAMC,MAAM,gBAAG9F,OAAO,CAAC6F,UAAU,CAA6B,yCAAyC,CAAC;AAE/G;AACA,OAAO,MAAME,IAAI,gBAAG9F,MAAM,CAACwD,GAAG,CAACqC,MAAM,EAAGvE,MAAM,IAC5ChB,YAAY,CAACwF,IAAI,CAAC;EAChBpD,IAAIA,CAACJ,IAAI,EAAEO,MAAM,EAAErB,OAAO,EAAEe,KAAK,EAAEY,SAAS,EAAEX,IAAI,EAAEY,OAAO;IACzD,OAAO,IAAIf,QAAQ,CACjBzC,OAAO,CAAC4B,OAAO,EACf5B,OAAO,CAACiE,KAAK,EACbvC,MAAM,EACNgB,IAAI,EACJO,MAAM,EACNrB,OAAO,EACPe,KAAK,CAACwD,KAAK,EAAE,EACb5C,SAAS,EACTX,IAAI,EACJY,OAAO,CACR;EACH,CAAC;EACD5B,OAAOA,CAACwE,SAAS,EAAEC,KAAK;IACtB,MAAMC,WAAW,GAAGD,KAAK,CAACC,WAAW;IAErC,IAAIA,WAAW,KAAKrE,SAAS,EAAE;MAC7B,OAAOmE,SAAS,EAAE;IACpB;IAEA,OAAOpG,OAAO,CAAC4B,OAAO,CAAC2E,IAAI,CACzBxC,eAAe,CAAC/D,OAAO,CAAC4B,OAAO,CAACC,MAAM,EAAE,EAAEyE,WAAW,CAAC,EACtDF,SAAS,CACV;EACH;CACD,CAAC,CAAC;AAEL;AACA,OAAO,MAAMI,aAAa,gBAAGrG,OAAO,CAAC6F,UAAU,CAC7C,6CAA6C,CAC9C;AAED;AACA,OAAO,MAAMS,aAAa,gBAAGtG,OAAO,CAAC6F,UAAU,CAC7C,6CAA6C,CAC9C;AAED;AACA,OAAO,MAAMU,gBAAgB,GAAIlD,OAKhC,IAA+B;EAC9B,IAAI5B,OAAO,GAAGzB,OAAO,CAACwG,KAAK,EAAE;EAE7B,IAAInD,OAAO,CAACjB,UAAU,KAAKN,SAAS,EAAE;IACpCL,OAAO,GAAGzB,OAAO,CAACyG,GAAG,CAAChF,OAAO,EAAE4E,aAAa,EAAEhD,OAAO,CAACjB,UAAU,CAAC;EACnE;EAEA,IAAI,OAAOiB,OAAO,CAACqD,UAAU,KAAK,QAAQ,EAAE;IAC1CjF,OAAO,GAAGnB,MAAM,CAACqG,KAAK,CAACC,gBAAgB,CAACvD,OAAO,CAACqD,UAAU,CAAC,EAAE;MAC3DG,MAAM,EAAEA,CAAA,KAAMpF,OAAO;MACrBqF,MAAM,EAAGJ,UAAU,IAAK1G,OAAO,CAACyG,GAAG,CAAChF,OAAO,EAAE6E,aAAa,EAAEI,UAAU;KACvE,CAAC;EACJ,CAAC,MAAM,IAAIrD,OAAO,CAACqD,UAAU,EAAE;IAC7BjF,OAAO,GAAGzB,OAAO,CAACyG,GAAG,CAAChF,OAAO,EAAE6E,aAAa,EAAEjD,OAAO,CAACqD,UAAU,CAAC;EACnE;EAEA,OAAO;IACLhE,IAAI,EAAE,cAAc;IACpBR,OAAO,EAAEmB,OAAO,CAACnB,OAAO;IACxBD,MAAM,EAAEoB,OAAO,CAACpB,MAAM;IACtBE,OAAO,EAAEkB,OAAO,CAACjB,UAAU,KAAKN,SAAS,GACrC,CAACuB,OAAO,CAACjB,UAAU,GAAGvC,OAAO,CAACmE,UAAU,CAACC,OAAO,MAAMpE,OAAO,CAACmE,UAAU,CAACC,OAAO,GAChF,IAAI;IACRxC;GACD;AACH,CAAC;AAED,MAAMsF,YAAY,GAAGA,CAACpE,IAAuB,EAAEqE,KAAkB,KAAkB;EACjF,MAAMnF,WAAW,GAAwB;IACvCK,OAAO,EAAES,IAAI,CAACT,OAAO;IACrBD,MAAM,EAAEU,IAAI,CAACV,MAAM;IACnBG,UAAU,EAAEO,IAAI,CAACR,OAAO,GAAGtC,OAAO,CAACmE,UAAU,CAACC,OAAO,GAAGpE,OAAO,CAACmE,UAAU,CAACiD,IAAI;IAC/EC,QAAQ,EAAE;GACX;EAED,IAAIxC,IAAI,GAAGxE,IAAI,CAACiH,IAAI;EAEpB,MAAMC,IAAI,GAAiB;IACzBvF,WAAW,EAAEA,CAAA,KAAMA,WAAW;IAC9BuC,YAAYA,CAACD,GAAG,EAAEN,KAAK;MACrBlB,IAAI,CAACuB,SAAS,CAACC,GAAG,EAAEN,KAAK,CAAC;MAC1B,OAAOuD,IAAI;IACb,CAAC;IACDC,aAAaA,CAACzE,UAAU;MACtB,KAAK,MAAM,CAACuB,GAAG,EAAEN,KAAK,CAAC,IAAIyD,MAAM,CAACC,OAAO,CAAC3E,UAAU,CAAC,EAAE;QACrDD,IAAI,CAACuB,SAAS,CAACC,GAAG,EAAEN,KAAK,CAAC;MAC5B;MACA,OAAOuD,IAAI;IACb,CAAC;IACDzB,QAAQA,CAACpD,IAAI;MACX,IAAIK,UAAU,GAAmCd,SAAS;MAC1D,IAAIsB,SAAS,GAAkCtB,SAAS;MACxD,IAAI0F,SAAS,CAAChE,MAAM,KAAK,CAAC,EAAE;QAC1BZ,UAAU,GAAG4E,SAAS,CAAC,CAAC,CAAC;QACzBpE,SAAS,GAAGoE,SAAS,CAAC,CAAC,CAAC;MAC1B,CAAC,MAAM;QACLpE,SAAS,GAAGoE,SAAS,CAAC,CAAC,CAAC;MAC1B;MACA7E,IAAI,CAAC+C,KAAK,CAACnD,IAAI,EAAEkF,oBAAoB,CAACrE,SAAS,EAAE4D,KAAK,CAAC,EAAEpE,UAAU,CAAC;MACpE,OAAOwE,IAAI;IACb,CAAC;IACDM,OAAOA,CAAChE,IAAI;MACVf,IAAI,CAAC2B,QAAQ,CAAC,CAAC;QACb5B,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE4D,gBAAgB,CAAC7C,IAAI,CAACjC,OAAO,CAAC;QACpCmB,UAAU,EAAEc,IAAI,CAACd,UAAU,IAAI;OAChC,CAAC,CAAC;MACH,OAAOwE,IAAI;IACb,CAAC;IACD9C,QAAQA,CAAC9B,KAAK;MACZG,IAAI,CAAC2B,QAAQ,CAAC9B,KAAK,CAACiB,GAAG,CAAEC,IAAI,KAAM;QACjChB,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE4D,gBAAgB,CAAC7C,IAAI,CAACjC,OAAO,CAAC;QACpCmB,UAAU,EAAEc,IAAI,CAACd,UAAU,IAAI;OAChC,CAAC,CAAC,CAAC;MACJ,OAAOwE,IAAI;IACb,CAAC;IACDxC,SAASA,CAAC7B,MAAM;MACd2B,IAAI,GAAG7E,OAAO,CAACiF,cAAc,CAACW,KAAK,GAC/BvF,IAAI,CAACyH,GAAG,CAAC5E,MAAM,CAACmC,OAAO,IAAI,eAAe,CAAC,GAC3ChF,IAAI,CAACiH,IAAI;MACb,OAAOC,IAAI;IACb,CAAC;IACDQ,UAAU,EAAEA,CAAA,KAAMR,IAAI;IACtB5C,GAAGA,CAACC,OAAO;MACT,MAAMoD,IAAI,GAAGJ,oBAAoB,CAAChD,OAAO,EAAEuC,KAAK,CAAC;MACjDrE,IAAI,CAAC6B,GAAG,CAACqD,IAAI,EAAEnD,IAAI,CAAC;MACpB,OAAO0C,IAAI;IACb,CAAC;IACDU,WAAW,EAAE3H,SAAS;IACtBqF,eAAeA,CAACuC,SAAS,EAAEC,SAAS;MAClC,MAAMH,IAAI,GAAGJ,oBAAoB,CAACO,SAAS,EAAEhB,KAAK,CAAC;MACnD,MAAM/B,KAAK,GAAGlF,KAAK,CAACkI,IAAI,CAACF,SAAS,CAAC;MACnC,MAAMG,KAAK,GAAGnI,KAAK,CAACsF,YAAY,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC;MAC1CtC,IAAI,CAAC+C,KAAK,CAACwC,KAAK,CAAChD,OAAO,EAAE2C,IAAI,EAAE;QAC9B,gBAAgB,EAAEK,KAAK,CAAC3F,IAAI;QAC5B,mBAAmB,EAAE2F,KAAK,CAAChD,OAAO;QAClC,sBAAsB,EAAEgD,KAAK,CAAC5C,KAAK,IAAI;OACxC,CAAC;IACJ;GACD;EACD,OAAO8B,IAAI;AACb,CAAC;AAED,MAAMe,SAAS,gBAAGC,MAAM,CAAC,SAAS,CAAC;AACnC,MAAMC,SAAS,gBAAGD,MAAM,CAAC,aAAa,CAAC;AAEvC,MAAMX,oBAAoB,GAAGA,CAACa,KAAoC,EAAEtB,KAAkB,KAAY;EAChG,IAAIsB,KAAK,KAAKxG,SAAS,EAAE;IACvB,OAAOkF,KAAK,CAACuB,sBAAsB,EAAE;EACvC,CAAC,MAAM,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAOF,MAAM,CAACI,IAAI,CAACC,KAAK,CAACH,KAAK,GAAG,SAAS,CAAC,CAAC;EAC9C,CAAC,MAAM,IAAIA,KAAK,YAAYI,IAAI,EAAE;IAChC,OAAON,MAAM,CAACE,KAAK,CAACK,OAAO,EAAE,CAAC,GAAGR,SAAS;EAC5C;EACA,MAAM,CAACS,OAAO,EAAEC,KAAK,CAAC,GAAGP,KAAK;EAC9B,OAAOF,MAAM,CAACQ,OAAO,CAAC,GAAGP,SAAS,GAAGD,MAAM,CAACS,KAAK,CAAC;AACpD,CAAC;AAED;AACA,OAAO,MAAMC,eAAe,gBAA8D7I,MAAM,CAAC8I,SAAS,CAAE/B,KAAK,IAC/G/G,MAAM,CAACwD,GAAG,CAACxD,MAAM,CAACkG,WAAW,EAAGxD,IAAI,IAAkB;EACpD,IAAI/B,cAAc,IAAI+B,IAAI,EAAE;IAC1B,OAAQA,IAAiB,CAACA,IAAI;EAChC;EACA,OAAOoE,YAAY,CAACpE,IAAI,EAAEqE,KAAK,CAAC;AAClC,CAAC,CAAC,CACH;AAED;AACA,OAAO,MAAMgC,mBAAmB,gBAAG3I,KAAK,CAAC4I,IAAI,CAC3CrD,cAAc,EACd,MAAM/F,OAAO,CAACiE,KAAK,CAACoF,iBAAiB,EAAE,CACxC;AAED;AACA,OAAO,MAAMC,WAAW,gBAAG9I,KAAK,CAAC+I,MAAM,CACrCtD,MAAM,eACN7F,MAAM,CAACoJ,OAAO,cACZpJ,MAAM,CAACqJ,GAAG,CAAC9I,QAAQ,EAAEoF,cAAc,CAAC,EACpC,CAAC,CAAC2D,QAAQ,EAAEC,QAAQ,CAAC,KACnBvJ,MAAM,CAACgJ,IAAI,CAAC,MACVO,QAAQ,CAACC,SAAS,CAChBF,QAAQ,CAAC3G,UAAU,CAAC9C,WAAW,CAAC4J,iBAAiB,CAAW,EAC5DH,QAAQ,CAAC3G,UAAU,CAAC9C,WAAW,CAAC6J,oBAAoB,CAAW,CAChE,CACF,CACJ,CACF;AAED;AACA,OAAO,MAAMC,iBAAiB,gBAAGT,WAAW,CAACU,IAAI,cAC/CxJ,KAAK,CAACyJ,OAAO,CAACd,mBAAmB,CAAC,CACnC;AAED;AACA,OAAO,MAAMe,WAAW,gBAAG1J,KAAK,CAAC2J,YAAY,CAAC/J,MAAM,CAACwD,GAAG,CAACsC,IAAI,EAAE1F,KAAK,CAAC4J,SAAS,CAAC,CAAC,CAACJ,IAAI,cACnFxJ,KAAK,CAAC6J,YAAY,CAACN,iBAAiB,CAAC,CACtC;AAED;AACA,OAAO,MAAMO,sBAAsB,gBAAG9J,KAAK,CAAC2J,YAAY,cAAC/J,MAAM,CAACwD,GAAG,CAACsC,IAAI,EAAE1F,KAAK,CAAC4J,SAAS,CAAC,CAAC;AAE3F;AACA,OAAO,MAAMG,KAAK,gBAAGD,sBAAsB,CAACN,IAAI,cAC9CxJ,KAAK,CAAC6J,YAAY,CAACf,WAAW,CAAC,CAChC;AAED;AACA;AACA;AAEA,MAAMvC,gBAAgB,gBAAGtG,MAAM,CAAC+J,aAAa,CAACxK,OAAO,CAAC+G,gBAAgB,CAAC;AAEvE,MAAMhD,eAAe,GAAGA,CACtBpC,WAA4B,EAC5BmB,IAA0B,EAC1BlB,OAAgC,KAEhCkB,IAAI,YAAYL,QAAQ,GACtBzC,OAAO,CAACiE,KAAK,CAACwG,OAAO,CAAC9I,WAAW,EAAEmB,IAAI,CAACA,IAAI,CAAC,GAC7C9C,OAAO,CAACiE,KAAK,CAACyG,cAAc,CAAC/I,WAAW,EAAEmC,eAAe,CAAChB,IAAI,EAAElB,OAAO,CAAC,CAAC;AAE7E,MAAMkC,eAAe,GAAGA,CAAChB,IAA0B,EAAElB,OAAgC,MAA2B;EAC9GQ,MAAM,EAAEU,IAAI,CAACV,MAAM;EACnBC,OAAO,EAAES,IAAI,CAACT,OAAO;EACrBgF,QAAQ,EAAEvE,IAAI,CAACD,IAAI,KAAK,cAAc;EACtCN,UAAU,EAAE9B,MAAM,CAACkK,SAAS,CAC1B/I,OAAO,GACLgJ,eAAe,CAAC9H,IAAI,EAAElB,OAAO,EAAE4E,aAAa,CAAC,GAC7CrG,OAAO,CAAC0K,SAAS,CAAC/H,IAAI,CAAClB,OAAO,EAAE4E,aAAa,CAAC,EAChD,MAAMxG,OAAO,CAACmE,UAAU,CAACC,OAAO,CACjC;EACDyC,UAAU,EAAEpG,MAAM,CAACqK,cAAc,CAC/BlJ,OAAO,GACLgJ,eAAe,CAAC9H,IAAI,EAAElB,OAAO,EAAE6E,aAAa,CAAC,GAC7CtG,OAAO,CAAC0K,SAAS,CAAC/H,IAAI,CAAClB,OAAO,EAAE6E,aAAa,CAAC;CAEnD,CAAC;AAEF,MAAMmE,eAAe,GAAGA,CACtB3H,MAA4B,EAC5BrB,OAA+B,EAC/BmJ,GAAsB,KAEtBtK,MAAM,CAACuK,MAAM,CACX7K,OAAO,CAAC0K,SAAS,CAACjJ,OAAO,EAAEmJ,GAAG,CAAC,EAC/B,MAAM5K,OAAO,CAAC0K,SAAS,CAAC5H,MAAM,CAACrB,OAAO,EAAEmJ,GAAG,CAAC,CAC7C;AAEH;AACA,OAAO,MAAME,eAAe,gBAAG1K,IAAI,CAQjC,CAAC,EAAE,CACHgJ,MAA8B,EAC9BvH,WAAgC,KAEhC5B,MAAM,CAAC8K,cAAc,CAAC3B,MAAM,EAAE7C,gBAAgB,CAAC1E,WAAW,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"tracer.js","names":["OtelApi","OtelSemConv","Cause","Context","Effect","Exit","constTrue","dual","Layer","Option","EffectTracer","Resource","nanosToHrTime","recordToAttributes","unknownToAttributeValue","OtelSpanTypeId","Symbol","for","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","getOtelParent","tracer","otelContext","context","active","getSpan","otelParent","spanContext","undefined","some","externalSpan","spanId","traceId","sampled","traceFlags","none","OtelSpan","name","links","kind","_tag","span","attributes","Map","parent","status","constructor","contextApi","traceApi","effectParent","startTime","options","root","startSpan","length","map","link","makeSpanContext","populateContext","value","trace","deleteSpan","TraceFlags","SAMPLED","attribute","key","setAttribute","set","addLinks","push","end","endTime","exit","hrTime","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","firstError","prettyErrors","stack","renderErrorCause","recordException","ERROR","event","addEvent","TracerProvider","GenericTag","Tracer","make","slice","execution","fiber","currentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","empty","add","traceState","match","createTraceState","onNone","onSome","makeOtelSpan","clock","NONE","isRemote","void","self","setAttributes","Object","entries","arguments","arg1","isTimeInput","convertOtelTimeInput","addLink","die","updateName","time","isRecording","exception","timeInput","fail","error","bigint1e6","BigInt","bigint1e9","u","Date","Array","isArray","input","unsafeCurrentTimeNanos","Math","round","getTime","seconds","nanos","currentOtelSpan","clockWith","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","flatMap","zip","resource","provider","getTracer","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","unwrapEffect","setTracer","provideMerge","layerWithoutOtelTracer","layer","liftThrowable","setSpan","setSpanContext","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","withSpanContext","withParentSpan"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,OAAO,MAAM,oBAAoB;AAC7C,OAAO,KAAKC,WAAW,MAAM,qCAAqC;AAClE,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,SAASC,SAAS,EAAEC,IAAI,QAAQ,iBAAiB;AACjD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,YAAY,MAAM,eAAe;AAC7C,SAASC,QAAQ,QAAQ,gBAAgB;AAEzC,SAASC,aAAa,EAAEC,kBAAkB,EAAEC,uBAAuB,QAAQ,YAAY;AAEvF,MAAMC,cAAc,gBAAGC,MAAM,CAACC,GAAG,CAAC,uCAAuC,CAAC;AAE1E,MAAMC,OAAO,GAAG;EACd,UAAU,EAAElB,OAAO,CAACmB,QAAQ,CAACC,QAAQ;EACrC,QAAQ,EAAEpB,OAAO,CAACmB,QAAQ,CAACE,MAAM;EACjC,QAAQ,EAAErB,OAAO,CAACmB,QAAQ,CAACG,MAAM;EACjC,UAAU,EAAEtB,OAAO,CAACmB,QAAQ,CAACI,QAAQ;EACrC,UAAU,EAAEvB,OAAO,CAACmB,QAAQ,CAACK;CAC9B;AAED,MAAMC,aAAa,GAAGA,CAACC,MAAwB,EAAEC,WAA4B,EAAEC,OAA+B,KAAI;EAChH,MAAMC,MAAM,GAAGH,MAAM,CAACI,OAAO,CAACH,WAAW,CAAC;EAC1C,MAAMI,UAAU,GAAGF,MAAM,GAAGA,MAAM,CAACG,WAAW,EAAE,GAAGC,SAAS;EAC5D,OAAOF,UAAU,GACbtB,MAAM,CAACyB,IAAI,CACXxB,YAAY,CAACyB,YAAY,CAAC;IACxBC,MAAM,EAAEL,UAAU,CAACK,MAAM;IACzBC,OAAO,EAAEN,UAAU,CAACM,OAAO;IAC3BC,OAAO,EAAE,CAACP,UAAU,CAACQ,UAAU,GAAG,CAAC,MAAM,CAAC;IAC1CX;GACD,CAAC,CACH,GACCnB,MAAM,CAAC+B,IAAI,EAAE;AACnB,CAAC;AAED;AACA,OAAM,MAAOC,QAAQ;EAgBRC,IAAA;EAEAd,OAAA;EACAe,KAAA;EAEAC,IAAA;EApBF,CAAC7B,cAAc;EACf8B,IAAI,GAAG,MAAM;EAEbC,IAAI;EACJV,MAAM;EACNC,OAAO;EACPU,UAAU,gBAAG,IAAIC,GAAG,EAAmB;EACvCV,OAAO;EACPW,MAAM;EACfC,MAAM;EAENC,YACEC,UAA8B,EAC9BC,QAA0B,EAC1B3B,MAAsB,EACbgB,IAAY,EACrBY,YAAiD,EACxC1B,OAA+B,EAC/Be,KAAmC,EAC5CY,SAAiB,EACRX,IAA2B,EACpCY,OAAkC;IANzB,KAAAd,IAAI,GAAJA,IAAI;IAEJ,KAAAd,OAAO,GAAPA,OAAO;IACP,KAAAe,KAAK,GAALA,KAAK;IAEL,KAAAC,IAAI,GAAJA,IAAI;IAGb,IAAI,CAAC7B,cAAc,CAAC,GAAGA,cAAc;IACrC,MAAMc,MAAM,GAAGuB,UAAU,CAACvB,MAAM,EAAE;IAClC,IAAI,CAACoB,MAAM,GAAGK,YAAY,CAACT,IAAI,KAAK,MAAM,GACtCS,YAAY,GACXE,OAAO,EAAEC,IAAI,KAAK,IAAI,GACvBhC,aAAa,CAAC4B,QAAQ,EAAExB,MAAM,EAAED,OAAO,CAAC,GACxCnB,MAAM,CAAC+B,IAAI,EAAE;IACjB,IAAI,CAACM,IAAI,GAAGpB,MAAM,CAACgC,SAAS,CAC1BhB,IAAI,EACJ;MACEa,SAAS,EAAE3C,aAAa,CAAC2C,SAAS,CAAC;MACnCZ,KAAK,EAAEA,KAAK,CAACgB,MAAM,GAAG,CAAC,GACnBhB,KAAK,CAACiB,GAAG,CAAEC,IAAI,KAAM;QACrBjC,OAAO,EAAEkC,eAAe,CAACD,IAAI,CAACf,IAAI,CAAC;QACnCC,UAAU,EAAElC,kBAAkB,CAACgD,IAAI,CAACd,UAAU;OAC/C,CAAC,CAAC,GACDd,SAAgB;MACpBW,IAAI,EAAE1B,OAAO,CAAC,IAAI,CAAC0B,IAAI;KACxB,EACD,IAAI,CAACK,MAAM,CAACJ,IAAI,KAAK,MAAM,GACvBkB,eAAe,CAAClC,MAAM,EAAE,IAAI,CAACoB,MAAM,CAACe,KAAK,EAAEpC,OAAO,CAAC,GACnD5B,OAAO,CAACiE,KAAK,CAACC,UAAU,CAACrC,MAAM,CAAC,CACrC;IACD,MAAMG,WAAW,GAAG,IAAI,CAACc,IAAI,CAACd,WAAW,EAAE;IAC3C,IAAI,CAACI,MAAM,GAAGJ,WAAW,CAACI,MAAM;IAChC,IAAI,CAACC,OAAO,GAAGL,WAAW,CAACK,OAAO;IAClC,IAAI,CAACa,MAAM,GAAG;MACZL,IAAI,EAAE,SAAS;MACfU;KACD;IACD,IAAI,CAACjB,OAAO,GAAG,CAACN,WAAW,CAACO,UAAU,GAAGvC,OAAO,CAACmE,UAAU,CAACC,OAAO,MAAMpE,OAAO,CAACmE,UAAU,CAACC,OAAO;EACrG;EAEAC,SAASA,CAACC,GAAW,EAAEN,KAAc;IACnC,IAAI,CAAClB,IAAI,CAACyB,YAAY,CAACD,GAAG,EAAExD,uBAAuB,CAACkD,KAAK,CAAC,CAAC;IAC3D,IAAI,CAACjB,UAAU,CAACyB,GAAG,CAACF,GAAG,EAAEN,KAAK,CAAC;EACjC;EAEAS,QAAQA,CAAC9B,KAA2C;IAClD;IACA,IAAI,CAACA,KAAK,CAAC+B,IAAI,CAAC,GAAG/B,KAAK,CAAC;IACzB,IAAI,CAACG,IAAI,CAAC2B,QAAQ,CAAC9B,KAAK,CAACiB,GAAG,CAAEC,IAAI,KAAM;MACtCjC,OAAO,EAAEkC,eAAe,CAACD,IAAI,CAACf,IAAI,CAAC;MACnCC,UAAU,EAAElC,kBAAkB,CAACgD,IAAI,CAACd,UAAU;KAC/C,CAAC,CAAC,CAAC;EACN;EAEA4B,GAAGA,CAACC,OAAe,EAAEC,IAAiC;IACpD,MAAMC,MAAM,GAAGlE,aAAa,CAACgE,OAAO,CAAC;IACrC,IAAI,CAAC1B,MAAM,GAAG;MACZL,IAAI,EAAE,OAAO;MACb+B,OAAO;MACPC,IAAI;MACJtB,SAAS,EAAE,IAAI,CAACL,MAAM,CAACK;KACxB;IAED,IAAIsB,IAAI,CAAChC,IAAI,KAAK,SAAS,EAAE;MAC3B,IAAI,CAACC,IAAI,CAACiC,SAAS,CAAC;QAAEC,IAAI,EAAEhF,OAAO,CAACiF,cAAc,CAACC;MAAE,CAAE,CAAC;IAC1D,CAAC,MAAM;MACL,IAAIhF,KAAK,CAACiF,iBAAiB,CAACN,IAAI,CAACO,KAAK,CAAC,EAAE;QACvC,IAAI,CAACtC,IAAI,CAACiC,SAAS,CAAC;UAClBC,IAAI,EAAEhF,OAAO,CAACiF,cAAc,CAACC,EAAE;UAC/BG,OAAO,EAAEnF,KAAK,CAACoF,MAAM,CAACT,IAAI,CAACO,KAAK;SACjC,CAAC;QACF,IAAI,CAACtC,IAAI,CAACyB,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC;QACtD,IAAI,CAACzB,IAAI,CAACyB,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC;MACpD,CAAC,MAAM;QACL,MAAMgB,UAAU,GAAGrF,KAAK,CAACsF,YAAY,CAACX,IAAI,CAACO,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,IAAIG,UAAU,EAAE;UACdA,UAAU,CAACE,KAAK,GAAGvF,KAAK,CAACoF,MAAM,CAACT,IAAI,CAACO,KAAK,EAAE;YAAEM,gBAAgB,EAAE;UAAI,CAAE,CAAC;UACvE,IAAI,CAAC5C,IAAI,CAAC6C,eAAe,CAACJ,UAAU,EAAET,MAAM,CAAC;UAC7C,IAAI,CAAChC,IAAI,CAACiC,SAAS,CAAC;YAClBC,IAAI,EAAEhF,OAAO,CAACiF,cAAc,CAACW,KAAK;YAClCP,OAAO,EAAEE,UAAU,CAACF;WACrB,CAAC;QACJ,CAAC,MAAM;UACL;UACA,IAAI,CAACvC,IAAI,CAACiC,SAAS,CAAC;YAAEC,IAAI,EAAEhF,OAAO,CAACiF,cAAc,CAACC;UAAE,CAAE,CAAC;QAC1D;MACF;IACF;IACA,IAAI,CAACpC,IAAI,CAAC6B,GAAG,CAACG,MAAM,CAAC;EACvB;EAEAe,KAAKA,CAACnD,IAAY,EAAEa,SAAiB,EAAER,UAAoC;IACzE,IAAI,CAACD,IAAI,CAACgD,QAAQ,CAChBpD,IAAI,EACJK,UAAU,GAAGlC,kBAAkB,CAACkC,UAAU,CAAC,GAAGd,SAAS,EACvDrB,aAAa,CAAC2C,SAAS,CAAC,CACzB;EACH;;AAGF;AACA,OAAO,MAAMwC,cAAc,gBAAG5F,OAAO,CAAC6F,UAAU,CAC9C,iDAAiD,CAClD;AAED;AACA,OAAO,MAAMC,MAAM,gBAAG9F,OAAO,CAAC6F,UAAU,CAA6B,yCAAyC,CAAC;AAE/G;AACA,OAAO,MAAME,IAAI,gBAAG9F,MAAM,CAACwD,GAAG,CAACqC,MAAM,EAAGvE,MAAM,IAC5ChB,YAAY,CAACwF,IAAI,CAAC;EAChBpD,IAAIA,CAACJ,IAAI,EAAEO,MAAM,EAAErB,OAAO,EAAEe,KAAK,EAAEY,SAAS,EAAEX,IAAI,EAAEY,OAAO;IACzD,OAAO,IAAIf,QAAQ,CACjBzC,OAAO,CAAC4B,OAAO,EACf5B,OAAO,CAACiE,KAAK,EACbvC,MAAM,EACNgB,IAAI,EACJO,MAAM,EACNrB,OAAO,EACPe,KAAK,CAACwD,KAAK,EAAE,EACb5C,SAAS,EACTX,IAAI,EACJY,OAAO,CACR;EACH,CAAC;EACD5B,OAAOA,CAACwE,SAAS,EAAEC,KAAK;IACtB,MAAMC,WAAW,GAAGD,KAAK,CAACC,WAAW;IAErC,IAAIA,WAAW,KAAKrE,SAAS,EAAE;MAC7B,OAAOmE,SAAS,EAAE;IACpB;IAEA,OAAOpG,OAAO,CAAC4B,OAAO,CAAC2E,IAAI,CACzBxC,eAAe,CAAC/D,OAAO,CAAC4B,OAAO,CAACC,MAAM,EAAE,EAAEyE,WAAW,CAAC,EACtDF,SAAS,CACV;EACH;CACD,CAAC,CAAC;AAEL;AACA,OAAO,MAAMI,aAAa,gBAAGrG,OAAO,CAAC6F,UAAU,CAC7C,6CAA6C,CAC9C;AAED;AACA,OAAO,MAAMS,aAAa,gBAAGtG,OAAO,CAAC6F,UAAU,CAC7C,6CAA6C,CAC9C;AAED;AACA,OAAO,MAAMU,gBAAgB,GAAIlD,OAKhC,IAA+B;EAC9B,IAAI5B,OAAO,GAAGzB,OAAO,CAACwG,KAAK,EAAE;EAE7B,IAAInD,OAAO,CAACjB,UAAU,KAAKN,SAAS,EAAE;IACpCL,OAAO,GAAGzB,OAAO,CAACyG,GAAG,CAAChF,OAAO,EAAE4E,aAAa,EAAEhD,OAAO,CAACjB,UAAU,CAAC;EACnE;EAEA,IAAI,OAAOiB,OAAO,CAACqD,UAAU,KAAK,QAAQ,EAAE;IAC1CjF,OAAO,GAAGnB,MAAM,CAACqG,KAAK,CAACC,gBAAgB,CAACvD,OAAO,CAACqD,UAAU,CAAC,EAAE;MAC3DG,MAAM,EAAEA,CAAA,KAAMpF,OAAO;MACrBqF,MAAM,EAAGJ,UAAU,IAAK1G,OAAO,CAACyG,GAAG,CAAChF,OAAO,EAAE6E,aAAa,EAAEI,UAAU;KACvE,CAAC;EACJ,CAAC,MAAM,IAAIrD,OAAO,CAACqD,UAAU,EAAE;IAC7BjF,OAAO,GAAGzB,OAAO,CAACyG,GAAG,CAAChF,OAAO,EAAE6E,aAAa,EAAEjD,OAAO,CAACqD,UAAU,CAAC;EACnE;EAEA,OAAO;IACLhE,IAAI,EAAE,cAAc;IACpBR,OAAO,EAAEmB,OAAO,CAACnB,OAAO;IACxBD,MAAM,EAAEoB,OAAO,CAACpB,MAAM;IACtBE,OAAO,EAAEkB,OAAO,CAACjB,UAAU,KAAKN,SAAS,GACrC,CAACuB,OAAO,CAACjB,UAAU,GAAGvC,OAAO,CAACmE,UAAU,CAACC,OAAO,MAAMpE,OAAO,CAACmE,UAAU,CAACC,OAAO,GAChF,IAAI;IACRxC;GACD;AACH,CAAC;AAED,MAAMsF,YAAY,GAAGA,CAACpE,IAAuB,EAAEqE,KAAkB,KAAkB;EACjF,MAAMnF,WAAW,GAAwB;IACvCK,OAAO,EAAES,IAAI,CAACT,OAAO;IACrBD,MAAM,EAAEU,IAAI,CAACV,MAAM;IACnBG,UAAU,EAAEO,IAAI,CAACR,OAAO,GAAGtC,OAAO,CAACmE,UAAU,CAACC,OAAO,GAAGpE,OAAO,CAACmE,UAAU,CAACiD,IAAI;IAC/EC,QAAQ,EAAE;GACX;EAED,IAAIxC,IAAI,GAAGxE,IAAI,CAACiH,IAAI;EAEpB,MAAMC,IAAI,GAAiB;IACzBvF,WAAW,EAAEA,CAAA,KAAMA,WAAW;IAC9BuC,YAAYA,CAACD,GAAG,EAAEN,KAAK;MACrBlB,IAAI,CAACuB,SAAS,CAACC,GAAG,EAAEN,KAAK,CAAC;MAC1B,OAAOuD,IAAI;IACb,CAAC;IACDC,aAAaA,CAACzE,UAAU;MACtB,KAAK,MAAM,CAACuB,GAAG,EAAEN,KAAK,CAAC,IAAIyD,MAAM,CAACC,OAAO,CAAC3E,UAAU,CAAC,EAAE;QACrDD,IAAI,CAACuB,SAAS,CAACC,GAAG,EAAEN,KAAK,CAAC;MAC5B;MACA,OAAOuD,IAAI;IACb,CAAC;IACDzB,QAAQA,CAACpD,IAAI;MACX,IAAIK,UAAU,GAAmCd,SAAS;MAC1D,IAAIsB,SAAS,GAAkCtB,SAAS;MACxD,IAAI0F,SAAS,CAAChE,MAAM,KAAK,CAAC,EAAE;QAC1BZ,UAAU,GAAG4E,SAAS,CAAC,CAAC,CAAC;QACzBpE,SAAS,GAAGoE,SAAS,CAAC,CAAC,CAAC;MAC1B,CAAC,MAAM,IAAIA,SAAS,CAAChE,MAAM,KAAK,CAAC,EAAE;QACjC,MAAMiE,IAAI,GAAGD,SAAS,CAAC,CAAC,CAAC;QACzB,IAAIE,WAAW,CAACD,IAAI,CAAC,EAAE;UACrBrE,SAAS,GAAGqE,IAAI;QAClB,CAAC,MAAM;UACL7E,UAAU,GAAG6E,IAAI;QACnB;MACF;MACA9E,IAAI,CAAC+C,KAAK,CAACnD,IAAI,EAAEoF,oBAAoB,CAACvE,SAAS,EAAE4D,KAAK,CAAC,EAAEpE,UAAU,CAAC;MACpE,OAAOwE,IAAI;IACb,CAAC;IACDQ,OAAOA,CAAClE,IAAI;MACVf,IAAI,CAAC2B,QAAQ,CAAC,CAAC;QACb5B,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE4D,gBAAgB,CAAC7C,IAAI,CAACjC,OAAO,CAAC;QACpCmB,UAAU,EAAEc,IAAI,CAACd,UAAU,IAAI;OAChC,CAAC,CAAC;MACH,OAAOwE,IAAI;IACb,CAAC;IACD9C,QAAQA,CAAC9B,KAAK;MACZG,IAAI,CAAC2B,QAAQ,CAAC9B,KAAK,CAACiB,GAAG,CAAEC,IAAI,KAAM;QACjChB,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE4D,gBAAgB,CAAC7C,IAAI,CAACjC,OAAO,CAAC;QACpCmB,UAAU,EAAEc,IAAI,CAACd,UAAU,IAAI;OAChC,CAAC,CAAC,CAAC;MACJ,OAAOwE,IAAI;IACb,CAAC;IACDxC,SAASA,CAAC7B,MAAM;MACd2B,IAAI,GAAG7E,OAAO,CAACiF,cAAc,CAACW,KAAK,GAC/BvF,IAAI,CAAC2H,GAAG,CAAC9E,MAAM,CAACmC,OAAO,IAAI,eAAe,CAAC,GAC3ChF,IAAI,CAACiH,IAAI;MACb,OAAOC,IAAI;IACb,CAAC;IACDU,UAAU,EAAEA,CAAA,KAAMV,IAAI;IACtB5C,GAAGA,CAACC,OAAO;MACT,MAAMsD,IAAI,GAAGJ,oBAAoB,CAAClD,OAAO,EAAEuC,KAAK,CAAC;MACjDrE,IAAI,CAAC6B,GAAG,CAACuD,IAAI,EAAErD,IAAI,CAAC;MACpB,OAAO0C,IAAI;IACb,CAAC;IACDY,WAAW,EAAE7H,SAAS;IACtBqF,eAAeA,CAACyC,SAAS,EAAEC,SAAS;MAClC,MAAMH,IAAI,GAAGJ,oBAAoB,CAACO,SAAS,EAAElB,KAAK,CAAC;MACnD,MAAM/B,KAAK,GAAGlF,KAAK,CAACoI,IAAI,CAACF,SAAS,CAAC;MACnC,MAAMG,KAAK,GAAGrI,KAAK,CAACsF,YAAY,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC;MAC1CtC,IAAI,CAAC+C,KAAK,CAAC0C,KAAK,CAAClD,OAAO,EAAE6C,IAAI,EAAE;QAC9B,gBAAgB,EAAEK,KAAK,CAAC7F,IAAI;QAC5B,mBAAmB,EAAE6F,KAAK,CAAClD,OAAO;QAClC,sBAAsB,EAAEkD,KAAK,CAAC9C,KAAK,IAAI;OACxC,CAAC;IACJ;GACD;EACD,OAAO8B,IAAI;AACb,CAAC;AAED,MAAMiB,SAAS,gBAAGC,MAAM,CAAC,SAAS,CAAC;AACnC,MAAMC,SAAS,gBAAGD,MAAM,CAAC,aAAa,CAAC;AAEvC;AACA,MAAMZ,WAAW,GAAIc,CAAU,IAC7B,OAAOA,CAAC,KAAK,QAAQ,IACrBA,CAAC,YAAYC,IAAI,IAChBC,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,IAAIA,CAAC,CAAChF,MAAM,KAAK,CAAC,IAAI,OAAOgF,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAOA,CAAC,CAAC,CAAC,CAAC,KAAK,QAAS;AAE9F,MAAMb,oBAAoB,GAAGA,CAACiB,KAAoC,EAAE5B,KAAkB,KAAY;EAChG,IAAI4B,KAAK,KAAK9G,SAAS,EAAE;IACvB,OAAOkF,KAAK,CAAC6B,sBAAsB,EAAE;EACvC,CAAC,MAAM,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAON,MAAM,CAACQ,IAAI,CAACC,KAAK,CAACH,KAAK,GAAG,SAAS,CAAC,CAAC;EAC9C,CAAC,MAAM,IAAIA,KAAK,YAAYH,IAAI,EAAE;IAChC,OAAOH,MAAM,CAACM,KAAK,CAACI,OAAO,EAAE,CAAC,GAAGX,SAAS;EAC5C;EACA,MAAM,CAACY,OAAO,EAAEC,KAAK,CAAC,GAAGN,KAAK;EAC9B,OAAON,MAAM,CAACW,OAAO,CAAC,GAAGV,SAAS,GAAGD,MAAM,CAACY,KAAK,CAAC;AACpD,CAAC;AAED;AACA,OAAO,MAAMC,eAAe,gBAA8DlJ,MAAM,CAACmJ,SAAS,CAAEpC,KAAK,IAC/G/G,MAAM,CAACwD,GAAG,CAACxD,MAAM,CAACkG,WAAW,EAAGxD,IAAI,IAAkB;EACpD,IAAI/B,cAAc,IAAI+B,IAAI,EAAE;IAC1B,OAAQA,IAAiB,CAACA,IAAI;EAChC;EACA,OAAOoE,YAAY,CAACpE,IAAI,EAAEqE,KAAK,CAAC;AAClC,CAAC,CAAC,CACH;AAED;AACA,OAAO,MAAMqC,mBAAmB,gBAAGhJ,KAAK,CAACiJ,IAAI,CAC3C1D,cAAc,EACd,MAAM/F,OAAO,CAACiE,KAAK,CAACyF,iBAAiB,EAAE,CACxC;AAED;AACA,OAAO,MAAMC,WAAW,gBAAGnJ,KAAK,CAACoJ,MAAM,CACrC3D,MAAM,eACN7F,MAAM,CAACyJ,OAAO,cACZzJ,MAAM,CAAC0J,GAAG,CAACnJ,QAAQ,EAAEoF,cAAc,CAAC,EACpC,CAAC,CAACgE,QAAQ,EAAEC,QAAQ,CAAC,KACnB5J,MAAM,CAACqJ,IAAI,CAAC,MACVO,QAAQ,CAACC,SAAS,CAChBF,QAAQ,CAAChH,UAAU,CAAC9C,WAAW,CAACiK,iBAAiB,CAAW,EAC5DH,QAAQ,CAAChH,UAAU,CAAC9C,WAAW,CAACkK,oBAAoB,CAAW,CAChE,CACF,CACJ,CACF;AAED;AACA,OAAO,MAAMC,iBAAiB,gBAAGT,WAAW,CAACU,IAAI,cAC/C7J,KAAK,CAAC8J,OAAO,CAACd,mBAAmB,CAAC,CACnC;AAED;AACA,OAAO,MAAMe,WAAW,gBAAG/J,KAAK,CAACgK,YAAY,CAACpK,MAAM,CAACwD,GAAG,CAACsC,IAAI,EAAE1F,KAAK,CAACiK,SAAS,CAAC,CAAC,CAACJ,IAAI,cACnF7J,KAAK,CAACkK,YAAY,CAACN,iBAAiB,CAAC,CACtC;AAED;AACA,OAAO,MAAMO,sBAAsB,gBAAGnK,KAAK,CAACgK,YAAY,cAACpK,MAAM,CAACwD,GAAG,CAACsC,IAAI,EAAE1F,KAAK,CAACiK,SAAS,CAAC,CAAC;AAE3F;AACA,OAAO,MAAMG,KAAK,gBAAGD,sBAAsB,CAACN,IAAI,cAC9C7J,KAAK,CAACkK,YAAY,CAACf,WAAW,CAAC,CAChC;AAED;AACA;AACA;AAEA,MAAM5C,gBAAgB,gBAAGtG,MAAM,CAACoK,aAAa,CAAC7K,OAAO,CAAC+G,gBAAgB,CAAC;AAEvE,MAAMhD,eAAe,GAAGA,CACtBpC,WAA4B,EAC5BmB,IAA0B,EAC1BlB,OAAgC,KAEhCkB,IAAI,YAAYL,QAAQ,GACtBzC,OAAO,CAACiE,KAAK,CAAC6G,OAAO,CAACnJ,WAAW,EAAEmB,IAAI,CAACA,IAAI,CAAC,GAC7C9C,OAAO,CAACiE,KAAK,CAAC8G,cAAc,CAACpJ,WAAW,EAAEmC,eAAe,CAAChB,IAAI,EAAElB,OAAO,CAAC,CAAC;AAE7E,MAAMkC,eAAe,GAAGA,CAAChB,IAA0B,EAAElB,OAAgC,MAA2B;EAC9GQ,MAAM,EAAEU,IAAI,CAACV,MAAM;EACnBC,OAAO,EAAES,IAAI,CAACT,OAAO;EACrBgF,QAAQ,EAAEvE,IAAI,CAACD,IAAI,KAAK,cAAc;EACtCN,UAAU,EAAE9B,MAAM,CAACuK,SAAS,CAC1BpJ,OAAO,GACLqJ,eAAe,CAACnI,IAAI,EAAElB,OAAO,EAAE4E,aAAa,CAAC,GAC7CrG,OAAO,CAAC+K,SAAS,CAACpI,IAAI,CAAClB,OAAO,EAAE4E,aAAa,CAAC,EAChD,MAAMxG,OAAO,CAACmE,UAAU,CAACC,OAAO,CACjC;EACDyC,UAAU,EAAEpG,MAAM,CAAC0K,cAAc,CAC/BvJ,OAAO,GACLqJ,eAAe,CAACnI,IAAI,EAAElB,OAAO,EAAE6E,aAAa,CAAC,GAC7CtG,OAAO,CAAC+K,SAAS,CAACpI,IAAI,CAAClB,OAAO,EAAE6E,aAAa,CAAC;CAEnD,CAAC;AAEF,MAAMwE,eAAe,GAAGA,CACtBhI,MAA4B,EAC5BrB,OAA+B,EAC/BwJ,GAAsB,KAEtB3K,MAAM,CAAC4K,MAAM,CACXlL,OAAO,CAAC+K,SAAS,CAACtJ,OAAO,EAAEwJ,GAAG,CAAC,EAC/B,MAAMjL,OAAO,CAAC+K,SAAS,CAACjI,MAAM,CAACrB,OAAO,EAAEwJ,GAAG,CAAC,CAC7C;AAEH;AACA,OAAO,MAAME,eAAe,gBAAG/K,IAAI,CAQjC,CAAC,EAAE,CACHqJ,MAA8B,EAC9B5H,WAAgC,KAEhC5B,MAAM,CAACmL,cAAc,CAAC3B,MAAM,EAAElD,gBAAgB,CAAC1E,WAAW,CAAC,CAAC,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/opentelemetry",
3
- "version": "0.60.0",
3
+ "version": "0.61.0",
4
4
  "description": "OpenTelemetry integration for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -19,31 +19,8 @@
19
19
  "@opentelemetry/sdk-trace-node": "^2.0.0",
20
20
  "@opentelemetry/sdk-trace-web": "^2.0.0",
21
21
  "@opentelemetry/semantic-conventions": "^1.33.0",
22
- "@effect/platform": "^0.94.0",
23
- "effect": "^3.19.13"
24
- },
25
- "peerDependenciesMeta": {
26
- "@opentelemetry/api": {
27
- "optional": true
28
- },
29
- "@opentelemetry/resources": {
30
- "optional": true
31
- },
32
- "@opentelemetry/sdk-metrics": {
33
- "optional": true
34
- },
35
- "@opentelemetry/sdk-trace-base": {
36
- "optional": true
37
- },
38
- "@opentelemetry/sdk-trace-node": {
39
- "optional": true
40
- },
41
- "@opentelemetry/sdk-trace-web": {
42
- "optional": true
43
- },
44
- "@opentelemetry/sdk-logs": {
45
- "optional": true
46
- }
22
+ "@effect/platform": "^0.94.2",
23
+ "effect": "^3.19.15"
47
24
  },
48
25
  "publishConfig": {
49
26
  "provenance": true
@@ -93,6 +70,11 @@
93
70
  "import": "./dist/esm/OtlpResource.js",
94
71
  "default": "./dist/cjs/OtlpResource.js"
95
72
  },
73
+ "./OtlpSerialization": {
74
+ "types": "./dist/dts/OtlpSerialization.d.ts",
75
+ "import": "./dist/esm/OtlpSerialization.js",
76
+ "default": "./dist/cjs/OtlpSerialization.js"
77
+ },
96
78
  "./OtlpTracer": {
97
79
  "types": "./dist/dts/OtlpTracer.d.ts",
98
80
  "import": "./dist/esm/OtlpTracer.js",
@@ -142,6 +124,9 @@
142
124
  "OtlpResource": [
143
125
  "./dist/dts/OtlpResource.d.ts"
144
126
  ],
127
+ "OtlpSerialization": [
128
+ "./dist/dts/OtlpSerialization.d.ts"
129
+ ],
145
130
  "OtlpTracer": [
146
131
  "./dist/dts/OtlpTracer.d.ts"
147
132
  ],
package/src/Otlp.ts CHANGED
@@ -5,14 +5,18 @@ import type * as Headers from "@effect/platform/Headers"
5
5
  import type * as HttpClient from "@effect/platform/HttpClient"
6
6
  import * as HttpClientRequest from "@effect/platform/HttpClientRequest"
7
7
  import type * as Duration from "effect/Duration"
8
+ import { flow } from "effect/Function"
8
9
  import * as Layer from "effect/Layer"
9
10
  import type * as Logger from "effect/Logger"
10
11
  import type * as Tracer from "effect/Tracer"
11
12
  import * as OtlpLogger from "./OtlpLogger.js"
12
13
  import * as OtlpMetrics from "./OtlpMetrics.js"
14
+ import * as OtlpSerialization from "./OtlpSerialization.js"
13
15
  import * as OtlpTracer from "./OtlpTracer.js"
14
16
 
15
17
  /**
18
+ * Creates an OTLP layer.
19
+ *
16
20
  * @since 1.0.0
17
21
  * @category Layers
18
22
  */
@@ -32,7 +36,7 @@ export const layer = (options: {
32
36
  readonly metricsExportInterval?: Duration.DurationInput | undefined
33
37
  readonly tracerExportInterval?: Duration.DurationInput | undefined
34
38
  readonly shutdownTimeout?: Duration.DurationInput | undefined
35
- }): Layer.Layer<never, never, HttpClient.HttpClient> => {
39
+ }): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization.OtlpSerialization> => {
36
40
  const baseReq = HttpClientRequest.get(options.baseUrl)
37
41
  const url = (path: string) => HttpClientRequest.appendUrl(baseReq, path).url
38
42
  return Layer.mergeAll(
@@ -64,3 +68,51 @@ export const layer = (options: {
64
68
  })
65
69
  )
66
70
  }
71
+
72
+ /**
73
+ * Creates an OTLP layer with JSON serialization.
74
+ *
75
+ * @since 1.0.0
76
+ * @category Layers
77
+ */
78
+ export const layerJson: (options: {
79
+ readonly baseUrl: string
80
+ readonly resource?: {
81
+ readonly serviceName?: string | undefined
82
+ readonly serviceVersion?: string | undefined
83
+ readonly attributes?: Record<string, unknown>
84
+ }
85
+ readonly headers?: Headers.Input | undefined
86
+ readonly maxBatchSize?: number | undefined
87
+ readonly replaceLogger?: Logger.Logger<any, any> | undefined
88
+ readonly tracerContext?: (<X>(f: () => X, span: Tracer.AnySpan) => X) | undefined
89
+ readonly loggerExportInterval?: Duration.DurationInput | undefined
90
+ readonly loggerExcludeLogSpans?: boolean | undefined
91
+ readonly metricsExportInterval?: Duration.DurationInput | undefined
92
+ readonly tracerExportInterval?: Duration.DurationInput | undefined
93
+ readonly shutdownTimeout?: Duration.DurationInput | undefined
94
+ }) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerJson))
95
+
96
+ /**
97
+ * Creates an OTLP layer with Protobuf serialization.
98
+ *
99
+ * @since 1.0.0
100
+ * @category Layers
101
+ */
102
+ export const layerProtobuf: (options: {
103
+ readonly baseUrl: string
104
+ readonly resource?: {
105
+ readonly serviceName?: string | undefined
106
+ readonly serviceVersion?: string | undefined
107
+ readonly attributes?: Record<string, unknown>
108
+ }
109
+ readonly headers?: Headers.Input | undefined
110
+ readonly maxBatchSize?: number | undefined
111
+ readonly replaceLogger?: Logger.Logger<any, any> | undefined
112
+ readonly tracerContext?: (<X>(f: () => X, span: Tracer.AnySpan) => X) | undefined
113
+ readonly loggerExportInterval?: Duration.DurationInput | undefined
114
+ readonly loggerExcludeLogSpans?: boolean | undefined
115
+ readonly metricsExportInterval?: Duration.DurationInput | undefined
116
+ readonly tracerExportInterval?: Duration.DurationInput | undefined
117
+ readonly shutdownTimeout?: Duration.DurationInput | undefined
118
+ }) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerProtobuf))
package/src/OtlpLogger.ts CHANGED
@@ -20,6 +20,7 @@ import * as Tracer from "effect/Tracer"
20
20
  import * as Exporter from "./internal/otlpExporter.js"
21
21
  import type { AnyValue, Fixed64, KeyValue, Resource } from "./OtlpResource.js"
22
22
  import * as OtlpResource from "./OtlpResource.js"
23
+ import { OtlpSerialization } from "./OtlpSerialization.js"
23
24
 
24
25
  /**
25
26
  * @since 1.0.0
@@ -42,12 +43,13 @@ export const make: (
42
43
  ) => Effect.Effect<
43
44
  Logger.Logger<unknown, void>,
44
45
  never,
45
- HttpClient.HttpClient | Scope.Scope
46
+ HttpClient.HttpClient | OtlpSerialization | Scope.Scope
46
47
  > = Effect.fnUntraced(function*(options) {
47
48
  const otelResource = yield* OtlpResource.fromConfig(options.resource)
48
49
  const scope: IInstrumentationScope = {
49
50
  name: OtlpResource.unsafeServiceName(otelResource)
50
51
  }
52
+ const serialization = yield* OtlpSerialization
51
53
 
52
54
  const exporter = yield* Exporter.make({
53
55
  label: "OtlpLogger",
@@ -55,15 +57,18 @@ export const make: (
55
57
  headers: options.headers,
56
58
  maxBatchSize: options.maxBatchSize ?? 1000,
57
59
  exportInterval: options.exportInterval ?? Duration.seconds(1),
58
- body: (data): IExportLogsServiceRequest => ({
59
- resourceLogs: [{
60
- resource: otelResource,
61
- scopeLogs: [{
62
- scope,
63
- logRecords: data
60
+ body(data) {
61
+ const body: IExportLogsServiceRequest = {
62
+ resourceLogs: [{
63
+ resource: otelResource,
64
+ scopeLogs: [{
65
+ scope,
66
+ logRecords: data
67
+ }]
64
68
  }]
65
- }]
66
- }),
69
+ }
70
+ return serialization.logs(body)
71
+ },
67
72
  shutdownTimeout: options.shutdownTimeout ?? Duration.seconds(3)
68
73
  })
69
74
 
@@ -92,7 +97,7 @@ export const layer = (options: {
92
97
  readonly maxBatchSize?: number | undefined
93
98
  readonly shutdownTimeout?: Duration.DurationInput | undefined
94
99
  readonly excludeLogSpans?: boolean | undefined
95
- }): Layer.Layer<never, never, HttpClient.HttpClient> =>
100
+ }): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> =>
96
101
  options.replaceLogger ? Logger.replaceScoped(options.replaceLogger, make(options)) : Logger.addScoped(make(options))
97
102
 
98
103
  // internal
@@ -15,6 +15,7 @@ import type * as Scope from "effect/Scope"
15
15
  import * as Exporter from "./internal/otlpExporter.js"
16
16
  import type { Fixed64, KeyValue } from "./OtlpResource.js"
17
17
  import * as OtlpResource from "./OtlpResource.js"
18
+ import { OtlpSerialization } from "./OtlpSerialization.js"
18
19
 
19
20
  /**
20
21
  * @since 1.0.0
@@ -33,7 +34,7 @@ export const make: (options: {
33
34
  }) => Effect.Effect<
34
35
  void,
35
36
  never,
36
- HttpClient.HttpClient | Scope.Scope
37
+ HttpClient.HttpClient | OtlpSerialization | Scope.Scope
37
38
  > = Effect.fnUntraced(function*(options) {
38
39
  const clock = yield* Effect.clock
39
40
  const startTime = String(clock.unsafeCurrentTimeNanos())
@@ -42,8 +43,9 @@ export const make: (options: {
42
43
  const metricsScope: IInstrumentationScope = {
43
44
  name: OtlpResource.unsafeServiceName(resource)
44
45
  }
46
+ const serialization = yield* OtlpSerialization
45
47
 
46
- const snapshot = (): IExportMetricsServiceRequest => {
48
+ const snapshot = () => {
47
49
  const snapshot = Metric.unsafeSnapshot()
48
50
  const nowNanos = clock.unsafeCurrentTimeNanos()
49
51
  const nowTime = String(nowNanos)
@@ -254,7 +256,7 @@ export const make: (options: {
254
256
  }
255
257
  }
256
258
 
257
- return {
259
+ const body: IExportMetricsServiceRequest = {
258
260
  resourceMetrics: [{
259
261
  resource,
260
262
  scopeMetrics: [{
@@ -263,6 +265,8 @@ export const make: (options: {
263
265
  }]
264
266
  }]
265
267
  }
268
+
269
+ return serialization.metrics(body)
266
270
  }
267
271
 
268
272
  yield* Exporter.make({
@@ -290,7 +294,7 @@ export const layer = (options: {
290
294
  readonly headers?: Headers.Input | undefined
291
295
  readonly exportInterval?: Duration.DurationInput | undefined
292
296
  readonly shutdownTimeout?: Duration.DurationInput | undefined
293
- }): Layer.Layer<never, never, HttpClient.HttpClient> => Layer.scopedDiscard(make(options))
297
+ }): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> => Layer.scopedDiscard(make(options))
294
298
 
295
299
  // internal
296
300
 
@@ -0,0 +1,64 @@
1
+ /**
2
+ * OtlpSerialization service for tree-shakable protobuf support.
3
+ *
4
+ * This module provides the `OtlpSerialization` service that abstracts the
5
+ * encoding of OTLP telemetry data to HttpBody.
6
+ *
7
+ * @since 1.0.0
8
+ */
9
+ import * as HttpBody from "@effect/platform/HttpBody"
10
+ import * as Context from "effect/Context"
11
+ import * as Layer from "effect/Layer"
12
+ import * as OtlpProtobuf from "./internal/otlpProtobuf.js"
13
+
14
+ /**
15
+ * @since 1.0.0
16
+ * @category Tags
17
+ */
18
+ export class OtlpSerialization extends Context.Tag("@effect/opentelemetry/OtlpSerialization")<
19
+ OtlpSerialization,
20
+ {
21
+ /**
22
+ * Encodes trace data for transmission.
23
+ */
24
+ readonly traces: (data: unknown) => HttpBody.HttpBody
25
+ /**
26
+ * Encodes metrics data for transmission.
27
+ */
28
+ readonly metrics: (data: unknown) => HttpBody.HttpBody
29
+ /**
30
+ * Encodes logs data for transmission.
31
+ */
32
+ readonly logs: (data: unknown) => HttpBody.HttpBody
33
+ }
34
+ >() {}
35
+
36
+ /**
37
+ * JSON serializer layer for OTLP telemetry data.
38
+ *
39
+ * It encodes telemetry data as JSON with `application/json` content type.
40
+ *
41
+ * @since 1.0.0
42
+ * @category Layers
43
+ */
44
+ export const layerJson: Layer.Layer<OtlpSerialization> = Layer.succeed(OtlpSerialization, {
45
+ traces: (data) => HttpBody.unsafeJson(data),
46
+ metrics: (data) => HttpBody.unsafeJson(data),
47
+ logs: (data) => HttpBody.unsafeJson(data)
48
+ })
49
+
50
+ /**
51
+ * Protobuf serializer layer for OTLP telemetry data.
52
+ *
53
+ * This serializer encodes telemetry data using Protocol Buffers binary
54
+ * format with `application/x-protobuf` content type. It provides more
55
+ * efficient wire format compared to JSON.
56
+ *
57
+ * @since 1.0.0
58
+ * @category Layers
59
+ */
60
+ export const layerProtobuf: Layer.Layer<OtlpSerialization> = Layer.succeed(OtlpSerialization, {
61
+ traces: (data) => HttpBody.uint8Array(OtlpProtobuf.encodeTracesData(data as any), "application/x-protobuf"),
62
+ metrics: (data) => HttpBody.uint8Array(OtlpProtobuf.encodeMetricsData(data as any), "application/x-protobuf"),
63
+ logs: (data) => HttpBody.uint8Array(OtlpProtobuf.encodeLogsData(data as any), "application/x-protobuf")
64
+ })
package/src/OtlpTracer.ts CHANGED
@@ -17,6 +17,7 @@ import * as Exporter from "./internal/otlpExporter.js"
17
17
  import type { KeyValue, Resource } from "./OtlpResource.js"
18
18
  import { entriesToAttributes } from "./OtlpResource.js"
19
19
  import * as OtlpResource from "./OtlpResource.js"
20
+ import { OtlpSerialization } from "./OtlpSerialization.js"
20
21
 
21
22
  const ATTR_EXCEPTION_TYPE = "exception.type"
22
23
  const ATTR_EXCEPTION_MESSAGE = "exception.message"
@@ -43,12 +44,13 @@ export const make: (
43
44
  ) => Effect.Effect<
44
45
  Tracer.Tracer,
45
46
  never,
46
- HttpClient.HttpClient | Scope.Scope
47
+ HttpClient.HttpClient | OtlpSerialization | Scope.Scope
47
48
  > = Effect.fnUntraced(function*(options) {
48
49
  const otelResource = yield* OtlpResource.fromConfig(options.resource)
49
50
  const scope: Scope = {
50
51
  name: OtlpResource.unsafeServiceName(otelResource)
51
52
  }
53
+ const serialization = yield* OtlpSerialization
52
54
 
53
55
  const exporter = yield* Exporter.make({
54
56
  label: "OtlpTracer",
@@ -66,7 +68,7 @@ export const make: (
66
68
  }]
67
69
  }]
68
70
  }
69
- return data
71
+ return serialization.traces(data)
70
72
  },
71
73
  shutdownTimeout: options.shutdownTimeout ?? Duration.seconds(3)
72
74
  })
@@ -119,7 +121,8 @@ export const layer = (options: {
119
121
  readonly maxBatchSize?: number | undefined
120
122
  readonly context?: (<X>(f: () => X, span: Tracer.AnySpan) => X) | undefined
121
123
  readonly shutdownTimeout?: Duration.DurationInput | undefined
122
- }): Layer.Layer<never, never, HttpClient.HttpClient> => Layer.unwrapScoped(Effect.map(make(options), Layer.setTracer))
124
+ }): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> =>
125
+ Layer.unwrapScoped(Effect.map(make(options), Layer.setTracer))
123
126
 
124
127
  // internal
125
128
 
package/src/index.ts CHANGED
@@ -33,6 +33,16 @@ export * as OtlpMetrics from "./OtlpMetrics.js"
33
33
  */
34
34
  export * as OtlpResource from "./OtlpResource.js"
35
35
 
36
+ /**
37
+ * OtlpSerialization service for tree-shakable protobuf support.
38
+ *
39
+ * This module provides the `OtlpSerialization` service that abstracts the
40
+ * encoding of OTLP telemetry data to HttpBody.
41
+ *
42
+ * @since 1.0.0
43
+ */
44
+ export * as OtlpSerialization from "./OtlpSerialization.js"
45
+
36
46
  /**
37
47
  * @since 1.0.0
38
48
  */
@@ -1,4 +1,5 @@
1
1
  import * as Headers from "@effect/platform/Headers"
2
+ import type * as HttpBody from "@effect/platform/HttpBody"
2
3
  import * as HttpClient from "@effect/platform/HttpClient"
3
4
  import * as HttpClientError from "@effect/platform/HttpClientError"
4
5
  import * as HttpClientRequest from "@effect/platform/HttpClientRequest"
@@ -36,7 +37,7 @@ export const make: (
36
37
  readonly label: string
37
38
  readonly exportInterval: Duration.DurationInput
38
39
  readonly maxBatchSize: number | "disabled"
39
- readonly body: (data: Array<any>) => unknown
40
+ readonly body: (data: Array<any>) => HttpBody.HttpBody
40
41
  readonly shutdownTimeout: Duration.DurationInput
41
42
  }
42
43
  ) => Effect.Effect<
@@ -75,9 +76,10 @@ export const make: (
75
76
  }
76
77
  buffer = []
77
78
  }
78
- return client.execute(
79
- HttpClientRequest.bodyUnsafeJson(request, options.body(items))
80
- ).pipe(
79
+ const body = options.body(items)
80
+ const requestWithBody = HttpClientRequest.setBody(request, body)
81
+
82
+ return client.execute(requestWithBody).pipe(
81
83
  Effect.asVoid,
82
84
  Effect.withTracerEnabled(false)
83
85
  )