@embrace-io/web-sdk
Version:
3 lines (2 loc) • 1.78 kB
JavaScript
import{__extends as n,__rest as e,__assign as o,__spreadArray as r,__read as t}from"tslib";import{BindOnceFuture as s,internal as i,ExportResultCode as a}from"@opentelemetry/core";import{KEY_EMB_TYPE as p,EMB_TYPES as d}from"../../constants/attributes.js";import{EmbraceProcessor as c}from"../EmbraceProcessor/EmbraceProcessor.js";var u=function(c){function u(n){var r=this,t=n.exporter,i=e(n,["exporter"]);return(r=c.call(this,o(o({},i),{processorName:"EmbraceSessionBatchedSpanProcessor"}))||this)._pendingSpans=[],r._shutdown=function(){return r._exporter.shutdown()},r._exporter=t,r._shutdownOnce=new s(r._shutdown,r),r}return n(u,c),u.prototype.forceFlush=function(){return this.diag.debug("forceFlush called for EmbraceSessionBatchedSpanProcessor. This is a no op"),Promise.resolve(void 0)},u.prototype.onEnd=function(n){var e=this;this._shutdownOnce.isCalled?this.diag.debug("span ended after processor shutdown. Ignoring span."):!function(n){return n.attributes[p]===d.Session}(n)?(this.diag.debug("non-session span ended. Adding to pending spans queue."),this._pendingSpans.push(n)):(this.diag.debug("session span ended. Exporting all pending spans."),i._export(this._exporter,r([n],t(this._pendingSpans),!1)).then((function(n){var o;n.code===a.FAILED&&e.diag.error("spans failed to export: ".concat((null===(o=n.error)||void 0===o?void 0:o.message)||"unknown error"))})).catch((function(n){var o="unknown error";n&&n instanceof Error?o=n.message:"string"==typeof n&&(o=n),e.diag.error("spans failed to export: ".concat(o))})),this._pendingSpans=[])},u.prototype.onStart=function(){},u.prototype.shutdown=function(){return this._shutdownOnce.call()},u}(c);export{u as EmbraceSessionBatchedSpanProcessor};
//# sourceMappingURL=EmbraceSessionBatchedSpanProcessor.js.map