@effect/opentelemetry 0.56.1 → 0.56.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.
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.unsafeServiceName = exports.unknownToAttributeValue = exports.make = exports.fromConfig = exports.entriesToAttributes = void 0;
7
- var OtelSemConv = _interopRequireWildcard(require("@opentelemetry/semantic-conventions"));
8
7
  var Arr = _interopRequireWildcard(require("effect/Array"));
9
8
  var Config = _interopRequireWildcard(require("effect/Config"));
10
9
  var Effect = _interopRequireWildcard(require("effect/Effect"));
@@ -14,6 +13,8 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
14
13
  * @since 1.0.0
15
14
  */
16
15
 
16
+ const ATTR_SERVICE_NAME = "service.name";
17
+ const ATTR_SERVICE_VERSION = "service.version";
17
18
  /**
18
19
  * @since 1.0.0
19
20
  * @category Constructors
@@ -21,14 +22,14 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
21
22
  const make = options => {
22
23
  const resourceAttributes = options.attributes ? entriesToAttributes(Object.entries(options.attributes)) : [];
23
24
  resourceAttributes.push({
24
- key: OtelSemConv.ATTR_SERVICE_NAME,
25
+ key: ATTR_SERVICE_NAME,
25
26
  value: {
26
27
  stringValue: options.serviceName
27
28
  }
28
29
  });
29
30
  if (options.serviceVersion) {
30
31
  resourceAttributes.push({
31
- key: OtelSemConv.ATTR_SERVICE_VERSION,
32
+ key: ATTR_SERVICE_VERSION,
32
33
  value: {
33
34
  stringValue: options.serviceVersion
34
35
  }
@@ -59,8 +60,8 @@ const fromConfig = exports.fromConfig = /*#__PURE__*/Effect.fnUntraced(function*
59
60
  ...envAttrs,
60
61
  ...options?.attributes
61
62
  })));
62
- const serviceName = options?.serviceName ?? attributes[OtelSemConv.ATTR_SERVICE_NAME] ?? (yield* Config.string("OTEL_SERVICE_NAME"));
63
- const serviceVersion = options?.serviceVersion ?? attributes[OtelSemConv.ATTR_SERVICE_VERSION] ?? (yield* Config.string("OTEL_SERVICE_VERSION").pipe(Config.withDefault(undefined)));
63
+ const serviceName = options?.serviceName ?? attributes[ATTR_SERVICE_NAME] ?? (yield* Config.string("OTEL_SERVICE_NAME"));
64
+ const serviceVersion = options?.serviceVersion ?? attributes[ATTR_SERVICE_VERSION] ?? (yield* Config.string("OTEL_SERVICE_VERSION").pipe(Config.withDefault(undefined)));
64
65
  return make({
65
66
  serviceName,
66
67
  serviceVersion,
@@ -72,7 +73,7 @@ const fromConfig = exports.fromConfig = /*#__PURE__*/Effect.fnUntraced(function*
72
73
  * @category Attributes
73
74
  */
74
75
  const unsafeServiceName = resource => {
75
- const serviceNameAttribute = resource.attributes.find(attr => attr.key === OtelSemConv.ATTR_SERVICE_NAME);
76
+ const serviceNameAttribute = resource.attributes.find(attr => attr.key === ATTR_SERVICE_NAME);
76
77
  if (!serviceNameAttribute || !serviceNameAttribute.value.stringValue) {
77
78
  throw new Error("Resource does not contain a service name");
78
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OtlpResource.js","names":["OtelSemConv","_interopRequireWildcard","require","Arr","Config","Effect","Inspectable","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","options","resourceAttributes","attributes","entriesToAttributes","entries","push","key","ATTR_SERVICE_NAME","value","stringValue","serviceName","serviceVersion","ATTR_SERVICE_VERSION","droppedAttributesCount","exports","fromConfig","fnUntraced","string","pipe","map","s","attrs","split","reduce","acc","attr","parts","length","trim","withDefault","envAttrs","undefined","orDie","unsafeServiceName","resource","serviceNameAttribute","find","Error","unknownToAttributeValue","Array","isArray","arrayValue","values","intValue","Number","isInteger","doubleValue","boolValue","toStringUnknown"],"sources":["../../src/OtlpResource.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OtlpResource.js","names":["Arr","_interopRequireWildcard","require","Config","Effect","Inspectable","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","make","options","resourceAttributes","attributes","entriesToAttributes","entries","push","key","value","stringValue","serviceName","serviceVersion","droppedAttributesCount","exports","fromConfig","fnUntraced","string","pipe","map","s","attrs","split","reduce","acc","attr","parts","length","trim","withDefault","envAttrs","undefined","orDie","unsafeServiceName","resource","serviceNameAttribute","find","Error","unknownToAttributeValue","Array","isArray","arrayValue","values","intValue","Number","isInteger","doubleValue","boolValue","toStringUnknown"],"sources":["../../src/OtlpResource.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -25,17 +25,13 @@ const policy = /*#__PURE__*/Schedule.forever.pipe(Schedule.passthrough, /*#__PUR
25
25
  }));
26
26
  /** @internal */
27
27
  const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
28
+ const clock = yield* Effect.clock;
28
29
  const scope = yield* Effect.scope;
29
30
  const exportInterval = Duration.decode(options.exportInterval);
30
- const client = HttpClient.filterStatusOk(yield* HttpClient.HttpClient).pipe(HttpClient.tapError(error => {
31
- if (error._tag !== "ResponseError" || error.response.status !== 429) {
32
- return Effect.void;
33
- }
34
- const retryAfter = error.response.headers["retry-after"];
35
- const retryAfterSeconds = retryAfter ? parseInt(retryAfter, 10) : 5;
36
- return Effect.sleep(Duration.seconds(retryAfterSeconds));
37
- }), HttpClient.retryTransient({
38
- schedule: policy
31
+ let disabledUntil = undefined;
32
+ const client = HttpClient.filterStatusOk(yield* HttpClient.HttpClient).pipe(HttpClient.retryTransient({
33
+ schedule: policy,
34
+ times: 3
39
35
  }));
40
36
  let headers = Headers.unsafeFromRecord({
41
37
  "user-agent": `effect-opentelemetry-${options.label}/0.0.0`
@@ -48,6 +44,11 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
48
44
  });
49
45
  let buffer = [];
50
46
  const runExport = Effect.suspend(() => {
47
+ if (disabledUntil !== undefined && clock.unsafeCurrentTimeMillis() < disabledUntil) {
48
+ return Effect.void;
49
+ } else if (disabledUntil !== undefined) {
50
+ disabledUntil = undefined;
51
+ }
51
52
  const items = buffer;
52
53
  if (options.maxBatchSize !== "disabled") {
53
54
  if (buffer.length === 0) {
@@ -56,20 +57,20 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
56
57
  buffer = [];
57
58
  }
58
59
  return client.execute(HttpClientRequest.bodyUnsafeJson(request, options.body(items))).pipe(Effect.asVoid, Effect.withTracerEnabled(false));
59
- });
60
+ }).pipe(Effect.catchAllCause(cause => {
61
+ if (disabledUntil !== undefined) return Effect.void;
62
+ disabledUntil = clock.unsafeCurrentTimeMillis() + Duration.toMillis("1 minute");
63
+ return Effect.logDebug(`Disabling ${options.label} for 60 seconds`, cause);
64
+ }));
60
65
  yield* Scope.addFinalizer(scope, runExport.pipe(Effect.ignore, Effect.interruptible, Effect.timeoutOption(options.shutdownTimeout)));
61
- let disabled = false;
62
- yield* Effect.sleep(exportInterval).pipe(Effect.zipRight(runExport), Effect.forever, Effect.catchAllCause(cause => {
63
- disabled = true;
64
- return Effect.logDebug("Failed to export", cause);
65
- }), Effect.annotateLogs({
66
+ yield* Effect.sleep(exportInterval).pipe(Effect.zipRight(runExport), Effect.forever, Effect.annotateLogs({
66
67
  package: "@effect/opentelemetry",
67
68
  module: options.label
68
69
  }), Effect.forkIn(scope), Effect.interruptible);
69
70
  const runFork = yield* FiberSet.makeRuntime().pipe(Effect.interruptible);
70
71
  return {
71
72
  push(data) {
72
- if (disabled) return;
73
+ if (disabledUntil !== undefined) return;
73
74
  buffer.push(data);
74
75
  if (options.maxBatchSize !== "disabled" && buffer.length >= options.maxBatchSize) {
75
76
  runFork(runExport);
@@ -1 +1 @@
1
- {"version":3,"file":"otlpExporter.js","names":["Headers","_interopRequireWildcard","require","HttpClient","HttpClientError","HttpClientRequest","Duration","Effect","FiberSet","Num","Option","Schedule","Scope","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","policy","forever","pipe","passthrough","addDelay","error","isHttpClientError","_tag","response","status","retryAfter","fromNullable","headers","flatMap","parse","getOrElse","seconds","make","exports","fnUntraced","options","scope","exportInterval","decode","client","filterStatusOk","tapError","void","retryAfterSeconds","parseInt","sleep","retryTransient","schedule","unsafeFromRecord","label","merge","fromInput","request","post","url","buffer","runExport","suspend","items","maxBatchSize","length","execute","bodyUnsafeJson","body","asVoid","withTracerEnabled","addFinalizer","ignore","interruptible","timeoutOption","shutdownTimeout","disabled","zipRight","catchAllCause","cause","logDebug","annotateLogs","package","module","forkIn","runFork","makeRuntime","push","data"],"sources":["../../../src/internal/otlpExporter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"otlpExporter.js","names":["Headers","_interopRequireWildcard","require","HttpClient","HttpClientError","HttpClientRequest","Duration","Effect","FiberSet","Num","Option","Schedule","Scope","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","policy","forever","pipe","passthrough","addDelay","error","isHttpClientError","_tag","response","status","retryAfter","fromNullable","headers","flatMap","parse","getOrElse","seconds","make","exports","fnUntraced","options","clock","scope","exportInterval","decode","disabledUntil","undefined","client","filterStatusOk","retryTransient","schedule","times","unsafeFromRecord","label","merge","fromInput","request","post","url","buffer","runExport","suspend","unsafeCurrentTimeMillis","void","items","maxBatchSize","length","execute","bodyUnsafeJson","body","asVoid","withTracerEnabled","catchAllCause","cause","toMillis","logDebug","addFinalizer","ignore","interruptible","timeoutOption","shutdownTimeout","sleep","zipRight","annotateLogs","package","module","forkIn","runFork","makeRuntime","push","data"],"sources":["../../../src/internal/otlpExporter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"OtlpResource.d.ts","sourceRoot":"","sources":["../../src/OtlpResource.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC3B,sCAAsC;IACtC,sBAAsB,EAAE,MAAM,CAAA;CAC/B;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC1D,KAAG,QAuBH,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,CACvB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC1D,GAAG,SAAS,KACV,MAAM,CAAC,MAAM,CAAC,QAAQ,CAgCX,CAAA;AAEhB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,QAAQ,KAAG,MAQtD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAG,KAAK,CAAC,QAAQ,CASxF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,QAkCxD,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,mBAAmB;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,qBAAqB;IACrB,KAAK,EAAE,QAAQ,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"OtlpResource.d.ts","sourceRoot":"","sources":["../../src/OtlpResource.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAMvC;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC3B,sCAAsC;IACtC,sBAAsB,EAAE,MAAM,CAAA;CAC/B;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC1D,KAAG,QAuBH,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,CACvB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC1D,GAAG,SAAS,KACV,MAAM,CAAC,MAAM,CAAC,QAAQ,CAgCX,CAAA;AAEhB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,QAAQ,KAAG,MAQtD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAG,KAAK,CAAC,QAAQ,CASxF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,QAkCxD,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,mBAAmB;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,qBAAqB;IACrB,KAAK,EAAE,QAAQ,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA"}
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import * as OtelSemConv from "@opentelemetry/semantic-conventions";
5
4
  import * as Arr from "effect/Array";
6
5
  import * as Config from "effect/Config";
7
6
  import * as Effect from "effect/Effect";
8
7
  import * as Inspectable from "effect/Inspectable";
8
+ const ATTR_SERVICE_NAME = "service.name";
9
+ const ATTR_SERVICE_VERSION = "service.version";
9
10
  /**
10
11
  * @since 1.0.0
11
12
  * @category Constructors
@@ -13,14 +14,14 @@ import * as Inspectable from "effect/Inspectable";
13
14
  export const make = options => {
14
15
  const resourceAttributes = options.attributes ? entriesToAttributes(Object.entries(options.attributes)) : [];
15
16
  resourceAttributes.push({
16
- key: OtelSemConv.ATTR_SERVICE_NAME,
17
+ key: ATTR_SERVICE_NAME,
17
18
  value: {
18
19
  stringValue: options.serviceName
19
20
  }
20
21
  });
21
22
  if (options.serviceVersion) {
22
23
  resourceAttributes.push({
23
- key: OtelSemConv.ATTR_SERVICE_VERSION,
24
+ key: ATTR_SERVICE_VERSION,
24
25
  value: {
25
26
  stringValue: options.serviceVersion
26
27
  }
@@ -50,8 +51,8 @@ export const fromConfig = /*#__PURE__*/Effect.fnUntraced(function* (options) {
50
51
  ...envAttrs,
51
52
  ...options?.attributes
52
53
  })));
53
- const serviceName = options?.serviceName ?? attributes[OtelSemConv.ATTR_SERVICE_NAME] ?? (yield* Config.string("OTEL_SERVICE_NAME"));
54
- const serviceVersion = options?.serviceVersion ?? attributes[OtelSemConv.ATTR_SERVICE_VERSION] ?? (yield* Config.string("OTEL_SERVICE_VERSION").pipe(Config.withDefault(undefined)));
54
+ const serviceName = options?.serviceName ?? attributes[ATTR_SERVICE_NAME] ?? (yield* Config.string("OTEL_SERVICE_NAME"));
55
+ const serviceVersion = options?.serviceVersion ?? attributes[ATTR_SERVICE_VERSION] ?? (yield* Config.string("OTEL_SERVICE_VERSION").pipe(Config.withDefault(undefined)));
55
56
  return make({
56
57
  serviceName,
57
58
  serviceVersion,
@@ -63,7 +64,7 @@ export const fromConfig = /*#__PURE__*/Effect.fnUntraced(function* (options) {
63
64
  * @category Attributes
64
65
  */
65
66
  export const unsafeServiceName = resource => {
66
- const serviceNameAttribute = resource.attributes.find(attr => attr.key === OtelSemConv.ATTR_SERVICE_NAME);
67
+ const serviceNameAttribute = resource.attributes.find(attr => attr.key === ATTR_SERVICE_NAME);
67
68
  if (!serviceNameAttribute || !serviceNameAttribute.value.stringValue) {
68
69
  throw new Error("Resource does not contain a service name");
69
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OtlpResource.js","names":["OtelSemConv","Arr","Config","Effect","Inspectable","make","options","resourceAttributes","attributes","entriesToAttributes","Object","entries","push","key","ATTR_SERVICE_NAME","value","stringValue","serviceName","serviceVersion","ATTR_SERVICE_VERSION","droppedAttributesCount","fromConfig","fnUntraced","string","pipe","map","s","attrs","split","reduce","acc","attr","parts","length","trim","withDefault","envAttrs","undefined","orDie","unsafeServiceName","resource","serviceNameAttribute","find","Error","unknownToAttributeValue","Array","isArray","arrayValue","values","intValue","Number","isInteger","doubleValue","boolValue","toStringUnknown"],"sources":["../../src/OtlpResource.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OtlpResource.js","names":["Arr","Config","Effect","Inspectable","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","make","options","resourceAttributes","attributes","entriesToAttributes","Object","entries","push","key","value","stringValue","serviceName","serviceVersion","droppedAttributesCount","fromConfig","fnUntraced","string","pipe","map","s","attrs","split","reduce","acc","attr","parts","length","trim","withDefault","envAttrs","undefined","orDie","unsafeServiceName","resource","serviceNameAttribute","find","Error","unknownToAttributeValue","Array","isArray","arrayValue","values","intValue","Number","isInteger","doubleValue","boolValue","toStringUnknown"],"sources":["../../src/OtlpResource.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -18,17 +18,13 @@ const policy = /*#__PURE__*/Schedule.forever.pipe(Schedule.passthrough, /*#__PUR
18
18
  }));
19
19
  /** @internal */
20
20
  export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
21
+ const clock = yield* Effect.clock;
21
22
  const scope = yield* Effect.scope;
22
23
  const exportInterval = Duration.decode(options.exportInterval);
23
- const client = HttpClient.filterStatusOk(yield* HttpClient.HttpClient).pipe(HttpClient.tapError(error => {
24
- if (error._tag !== "ResponseError" || error.response.status !== 429) {
25
- return Effect.void;
26
- }
27
- const retryAfter = error.response.headers["retry-after"];
28
- const retryAfterSeconds = retryAfter ? parseInt(retryAfter, 10) : 5;
29
- return Effect.sleep(Duration.seconds(retryAfterSeconds));
30
- }), HttpClient.retryTransient({
31
- schedule: policy
24
+ let disabledUntil = undefined;
25
+ const client = HttpClient.filterStatusOk(yield* HttpClient.HttpClient).pipe(HttpClient.retryTransient({
26
+ schedule: policy,
27
+ times: 3
32
28
  }));
33
29
  let headers = Headers.unsafeFromRecord({
34
30
  "user-agent": `effect-opentelemetry-${options.label}/0.0.0`
@@ -41,6 +37,11 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
41
37
  });
42
38
  let buffer = [];
43
39
  const runExport = Effect.suspend(() => {
40
+ if (disabledUntil !== undefined && clock.unsafeCurrentTimeMillis() < disabledUntil) {
41
+ return Effect.void;
42
+ } else if (disabledUntil !== undefined) {
43
+ disabledUntil = undefined;
44
+ }
44
45
  const items = buffer;
45
46
  if (options.maxBatchSize !== "disabled") {
46
47
  if (buffer.length === 0) {
@@ -49,20 +50,20 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
49
50
  buffer = [];
50
51
  }
51
52
  return client.execute(HttpClientRequest.bodyUnsafeJson(request, options.body(items))).pipe(Effect.asVoid, Effect.withTracerEnabled(false));
52
- });
53
+ }).pipe(Effect.catchAllCause(cause => {
54
+ if (disabledUntil !== undefined) return Effect.void;
55
+ disabledUntil = clock.unsafeCurrentTimeMillis() + Duration.toMillis("1 minute");
56
+ return Effect.logDebug(`Disabling ${options.label} for 60 seconds`, cause);
57
+ }));
53
58
  yield* Scope.addFinalizer(scope, runExport.pipe(Effect.ignore, Effect.interruptible, Effect.timeoutOption(options.shutdownTimeout)));
54
- let disabled = false;
55
- yield* Effect.sleep(exportInterval).pipe(Effect.zipRight(runExport), Effect.forever, Effect.catchAllCause(cause => {
56
- disabled = true;
57
- return Effect.logDebug("Failed to export", cause);
58
- }), Effect.annotateLogs({
59
+ yield* Effect.sleep(exportInterval).pipe(Effect.zipRight(runExport), Effect.forever, Effect.annotateLogs({
59
60
  package: "@effect/opentelemetry",
60
61
  module: options.label
61
62
  }), Effect.forkIn(scope), Effect.interruptible);
62
63
  const runFork = yield* FiberSet.makeRuntime().pipe(Effect.interruptible);
63
64
  return {
64
65
  push(data) {
65
- if (disabled) return;
66
+ if (disabledUntil !== undefined) return;
66
67
  buffer.push(data);
67
68
  if (options.maxBatchSize !== "disabled" && buffer.length >= options.maxBatchSize) {
68
69
  runFork(runExport);
@@ -1 +1 @@
1
- {"version":3,"file":"otlpExporter.js","names":["Headers","HttpClient","HttpClientError","HttpClientRequest","Duration","Effect","FiberSet","Num","Option","Schedule","Scope","policy","forever","pipe","passthrough","addDelay","error","isHttpClientError","_tag","response","status","retryAfter","fromNullable","headers","flatMap","parse","getOrElse","seconds","make","fnUntraced","options","scope","exportInterval","decode","client","filterStatusOk","tapError","void","retryAfterSeconds","parseInt","sleep","retryTransient","schedule","unsafeFromRecord","label","merge","fromInput","request","post","url","buffer","runExport","suspend","items","maxBatchSize","length","execute","bodyUnsafeJson","body","asVoid","withTracerEnabled","addFinalizer","ignore","interruptible","timeoutOption","shutdownTimeout","disabled","zipRight","catchAllCause","cause","logDebug","annotateLogs","package","module","forkIn","runFork","makeRuntime","push","data"],"sources":["../../../src/internal/otlpExporter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"otlpExporter.js","names":["Headers","HttpClient","HttpClientError","HttpClientRequest","Duration","Effect","FiberSet","Num","Option","Schedule","Scope","policy","forever","pipe","passthrough","addDelay","error","isHttpClientError","_tag","response","status","retryAfter","fromNullable","headers","flatMap","parse","getOrElse","seconds","make","fnUntraced","options","clock","scope","exportInterval","decode","disabledUntil","undefined","client","filterStatusOk","retryTransient","schedule","times","unsafeFromRecord","label","merge","fromInput","request","post","url","buffer","runExport","suspend","unsafeCurrentTimeMillis","void","items","maxBatchSize","length","execute","bodyUnsafeJson","body","asVoid","withTracerEnabled","catchAllCause","cause","toMillis","logDebug","addFinalizer","ignore","interruptible","timeoutOption","shutdownTimeout","sleep","zipRight","annotateLogs","package","module","forkIn","runFork","makeRuntime","push","data"],"sources":["../../../src/internal/otlpExporter.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,OAAO,MAAM,0BAA0B;AACnD,OAAO,KAAKC,UAAU,MAAM,6BAA6B;AACzD,OAAO,KAAKC,eAAe,MAAM,kCAAkC;AACnE,OAAO,KAAKC,iBAAiB,MAAM,oCAAoC;AACvE,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,GAAG,MAAM,eAAe;AACpC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,MAAMC,MAAM,gBAAGF,QAAQ,CAACG,OAAO,CAACC,IAAI,CAClCJ,QAAQ,CAACK,WAAW,eACpBL,QAAQ,CAACM,QAAQ,CAAEC,KAAK,IAAI;EAC1B,IACEd,eAAe,CAACe,iBAAiB,CAACD,KAAK,CAAC,IACrCA,KAAK,CAACE,IAAI,KAAK,eAAe,IAC9BF,KAAK,CAACG,QAAQ,CAACC,MAAM,KAAK,GAAG,EAChC;IACA,MAAMC,UAAU,GAAGb,MAAM,CAACc,YAAY,CAACN,KAAK,CAACG,QAAQ,CAACI,OAAO,CAAC,aAAa,CAAC,CAAC,CAACV,IAAI,CAChFL,MAAM,CAACgB,OAAO,CAACjB,GAAG,CAACkB,KAAK,CAAC,EACzBjB,MAAM,CAACkB,SAAS,CAAC,MAAM,CAAC,CAAC,CAC1B;IACD,OAAOtB,QAAQ,CAACuB,OAAO,CAACN,UAAU,CAAC;EACrC;EACA,OAAOjB,QAAQ,CAACuB,OAAO,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CACH;AAED;AACA,OAAO,MAAMC,IAAI,gBAcbvB,MAAM,CAACwB,UAAU,CAAC,WAAUC,OAAO;EACrC,MAAMC,KAAK,GAAG,OAAO1B,MAAM,CAAC0B,KAAK;EACjC,MAAMC,KAAK,GAAG,OAAO3B,MAAM,CAAC2B,KAAK;EACjC,MAAMC,cAAc,GAAG7B,QAAQ,CAAC8B,MAAM,CAACJ,OAAO,CAACG,cAAc,CAAC;EAC9D,IAAIE,aAAa,GAAuBC,SAAS;EAEjD,MAAMC,MAAM,GAAGpC,UAAU,CAACqC,cAAc,CAAC,OAAOrC,UAAU,CAACA,UAAU,CAAC,CAACY,IAAI,CACzEZ,UAAU,CAACsC,cAAc,CAAC;IAAEC,QAAQ,EAAE7B,MAAM;IAAE8B,KAAK,EAAE;EAAC,CAAE,CAAC,CAC1D;EAED,IAAIlB,OAAO,GAAGvB,OAAO,CAAC0C,gBAAgB,CAAC;IACrC,YAAY,EAAE,wBAAwBZ,OAAO,CAACa,KAAK;GACpD,CAAC;EACF,IAAIb,OAAO,CAACP,OAAO,EAAE;IACnBA,OAAO,GAAGvB,OAAO,CAAC4C,KAAK,CAAC5C,OAAO,CAAC6C,SAAS,CAACf,OAAO,CAACP,OAAO,CAAC,EAAEA,OAAO,CAAC;EACtE;EAEA,MAAMuB,OAAO,GAAG3C,iBAAiB,CAAC4C,IAAI,CAACjB,OAAO,CAACkB,GAAG,EAAE;IAAEzB;EAAO,CAAE,CAAC;EAChE,IAAI0B,MAAM,GAAe,EAAE;EAC3B,MAAMC,SAAS,GAAG7C,MAAM,CAAC8C,OAAO,CAAC,MAAK;IACpC,IAAIhB,aAAa,KAAKC,SAAS,IAAIL,KAAK,CAACqB,uBAAuB,EAAE,GAAGjB,aAAa,EAAE;MAClF,OAAO9B,MAAM,CAACgD,IAAI;IACpB,CAAC,MAAM,IAAIlB,aAAa,KAAKC,SAAS,EAAE;MACtCD,aAAa,GAAGC,SAAS;IAC3B;IACA,MAAMkB,KAAK,GAAGL,MAAM;IACpB,IAAInB,OAAO,CAACyB,YAAY,KAAK,UAAU,EAAE;MACvC,IAAIN,MAAM,CAACO,MAAM,KAAK,CAAC,EAAE;QACvB,OAAOnD,MAAM,CAACgD,IAAI;MACpB;MACAJ,MAAM,GAAG,EAAE;IACb;IACA,OAAOZ,MAAM,CAACoB,OAAO,CACnBtD,iBAAiB,CAACuD,cAAc,CAACZ,OAAO,EAAEhB,OAAO,CAAC6B,IAAI,CAACL,KAAK,CAAC,CAAC,CAC/D,CAACzC,IAAI,CACJR,MAAM,CAACuD,MAAM,EACbvD,MAAM,CAACwD,iBAAiB,CAAC,KAAK,CAAC,CAChC;EACH,CAAC,CAAC,CAAChD,IAAI,CACLR,MAAM,CAACyD,aAAa,CAAEC,KAAK,IAAI;IAC7B,IAAI5B,aAAa,KAAKC,SAAS,EAAE,OAAO/B,MAAM,CAACgD,IAAI;IACnDlB,aAAa,GAAGJ,KAAK,CAACqB,uBAAuB,EAAE,GAAGhD,QAAQ,CAAC4D,QAAQ,CAAC,UAAU,CAAC;IAC/E,OAAO3D,MAAM,CAAC4D,QAAQ,CAAC,aAAanC,OAAO,CAACa,KAAK,iBAAiB,EAAEoB,KAAK,CAAC;EAC5E,CAAC,CAAC,CACH;EAED,OAAOrD,KAAK,CAACwD,YAAY,CACvBlC,KAAK,EACLkB,SAAS,CAACrC,IAAI,CACZR,MAAM,CAAC8D,MAAM,EACb9D,MAAM,CAAC+D,aAAa,EACpB/D,MAAM,CAACgE,aAAa,CAACvC,OAAO,CAACwC,eAAe,CAAC,CAC9C,CACF;EAED,OAAOjE,MAAM,CAACkE,KAAK,CAACtC,cAAc,CAAC,CAACpB,IAAI,CACtCR,MAAM,CAACmE,QAAQ,CAACtB,SAAS,CAAC,EAC1B7C,MAAM,CAACO,OAAO,EACdP,MAAM,CAACoE,YAAY,CAAC;IAClBC,OAAO,EAAE,uBAAuB;IAChCC,MAAM,EAAE7C,OAAO,CAACa;GACjB,CAAC,EACFtC,MAAM,CAACuE,MAAM,CAAC5C,KAAK,CAAC,EACpB3B,MAAM,CAAC+D,aAAa,CACrB;EAED,MAAMS,OAAO,GAAG,OAAOvE,QAAQ,CAACwE,WAAW,EAAE,CAACjE,IAAI,CAChDR,MAAM,CAAC+D,aAAa,CACrB;EACD,OAAO;IACLW,IAAIA,CAACC,IAAI;MACP,IAAI7C,aAAa,KAAKC,SAAS,EAAE;MACjCa,MAAM,CAAC8B,IAAI,CAACC,IAAI,CAAC;MACjB,IAAIlD,OAAO,CAACyB,YAAY,KAAK,UAAU,IAAIN,MAAM,CAACO,MAAM,IAAI1B,OAAO,CAACyB,YAAY,EAAE;QAChFsB,OAAO,CAAC3B,SAAS,CAAC;MACpB;IACF;GACD;AACH,CAAC,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/opentelemetry",
3
- "version": "0.56.1",
3
+ "version": "0.56.3",
4
4
  "description": "OpenTelemetry integration for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -19,8 +19,8 @@
19
19
  "@opentelemetry/sdk-trace-web": "^2.0.0",
20
20
  "@opentelemetry/sdk-logs": "^0.203.0",
21
21
  "@opentelemetry/semantic-conventions": "^1.33.0",
22
- "@effect/platform": "^0.90.0",
23
- "effect": "^3.17.6"
22
+ "@effect/platform": "^0.90.4",
23
+ "effect": "^3.17.7"
24
24
  },
25
25
  "peerDependenciesMeta": {
26
26
  "@opentelemetry/api": {
@@ -1,12 +1,14 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import * as OtelSemConv from "@opentelemetry/semantic-conventions"
5
4
  import * as Arr from "effect/Array"
6
5
  import * as Config from "effect/Config"
7
6
  import * as Effect from "effect/Effect"
8
7
  import * as Inspectable from "effect/Inspectable"
9
8
 
9
+ const ATTR_SERVICE_NAME = "service.name"
10
+ const ATTR_SERVICE_VERSION = "service.version"
11
+
10
12
  /**
11
13
  * @since 1.0.0
12
14
  * @category Models
@@ -31,14 +33,14 @@ export const make = (options: {
31
33
  ? entriesToAttributes(Object.entries(options.attributes))
32
34
  : []
33
35
  resourceAttributes.push({
34
- key: OtelSemConv.ATTR_SERVICE_NAME,
36
+ key: ATTR_SERVICE_NAME,
35
37
  value: {
36
38
  stringValue: options.serviceName
37
39
  }
38
40
  })
39
41
  if (options.serviceVersion) {
40
42
  resourceAttributes.push({
41
- key: OtelSemConv.ATTR_SERVICE_VERSION,
43
+ key: ATTR_SERVICE_VERSION,
42
44
  value: {
43
45
  stringValue: options.serviceVersion
44
46
  }
@@ -84,9 +86,9 @@ export const fromConfig: (
84
86
  ...options?.attributes
85
87
  }))
86
88
  )
87
- const serviceName = options?.serviceName ?? attributes[OtelSemConv.ATTR_SERVICE_NAME] as string ??
89
+ const serviceName = options?.serviceName ?? attributes[ATTR_SERVICE_NAME] as string ??
88
90
  (yield* Config.string("OTEL_SERVICE_NAME"))
89
- const serviceVersion = options?.serviceVersion ?? attributes[OtelSemConv.ATTR_SERVICE_VERSION] as string ??
91
+ const serviceVersion = options?.serviceVersion ?? attributes[ATTR_SERVICE_VERSION] as string ??
90
92
  (yield* Config.string("OTEL_SERVICE_VERSION").pipe(Config.withDefault(undefined)))
91
93
  return make({
92
94
  serviceName,
@@ -101,7 +103,7 @@ export const fromConfig: (
101
103
  */
102
104
  export const unsafeServiceName = (resource: Resource): string => {
103
105
  const serviceNameAttribute = resource.attributes.find(
104
- (attr) => attr.key === OtelSemConv.ATTR_SERVICE_NAME
106
+ (attr) => attr.key === ATTR_SERVICE_NAME
105
107
  )
106
108
  if (!serviceNameAttribute || !serviceNameAttribute.value.stringValue) {
107
109
  throw new Error("Resource does not contain a service name")
@@ -44,19 +44,13 @@ export const make: (
44
44
  never,
45
45
  HttpClient.HttpClient | Scope.Scope
46
46
  > = Effect.fnUntraced(function*(options) {
47
+ const clock = yield* Effect.clock
47
48
  const scope = yield* Effect.scope
48
49
  const exportInterval = Duration.decode(options.exportInterval)
50
+ let disabledUntil: number | undefined = undefined
49
51
 
50
52
  const client = HttpClient.filterStatusOk(yield* HttpClient.HttpClient).pipe(
51
- HttpClient.tapError((error) => {
52
- if (error._tag !== "ResponseError" || error.response.status !== 429) {
53
- return Effect.void
54
- }
55
- const retryAfter = error.response.headers["retry-after"]
56
- const retryAfterSeconds = retryAfter ? parseInt(retryAfter, 10) : 5
57
- return Effect.sleep(Duration.seconds(retryAfterSeconds))
58
- }),
59
- HttpClient.retryTransient({ schedule: policy })
53
+ HttpClient.retryTransient({ schedule: policy, times: 3 })
60
54
  )
61
55
 
62
56
  let headers = Headers.unsafeFromRecord({
@@ -69,6 +63,11 @@ export const make: (
69
63
  const request = HttpClientRequest.post(options.url, { headers })
70
64
  let buffer: Array<any> = []
71
65
  const runExport = Effect.suspend(() => {
66
+ if (disabledUntil !== undefined && clock.unsafeCurrentTimeMillis() < disabledUntil) {
67
+ return Effect.void
68
+ } else if (disabledUntil !== undefined) {
69
+ disabledUntil = undefined
70
+ }
72
71
  const items = buffer
73
72
  if (options.maxBatchSize !== "disabled") {
74
73
  if (buffer.length === 0) {
@@ -82,7 +81,13 @@ export const make: (
82
81
  Effect.asVoid,
83
82
  Effect.withTracerEnabled(false)
84
83
  )
85
- })
84
+ }).pipe(
85
+ Effect.catchAllCause((cause) => {
86
+ if (disabledUntil !== undefined) return Effect.void
87
+ disabledUntil = clock.unsafeCurrentTimeMillis() + Duration.toMillis("1 minute")
88
+ return Effect.logDebug(`Disabling ${options.label} for 60 seconds`, cause)
89
+ })
90
+ )
86
91
 
87
92
  yield* Scope.addFinalizer(
88
93
  scope,
@@ -93,15 +98,9 @@ export const make: (
93
98
  )
94
99
  )
95
100
 
96
- let disabled = false
97
-
98
101
  yield* Effect.sleep(exportInterval).pipe(
99
102
  Effect.zipRight(runExport),
100
103
  Effect.forever,
101
- Effect.catchAllCause((cause) => {
102
- disabled = true
103
- return Effect.logDebug("Failed to export", cause)
104
- }),
105
104
  Effect.annotateLogs({
106
105
  package: "@effect/opentelemetry",
107
106
  module: options.label
@@ -115,7 +114,7 @@ export const make: (
115
114
  )
116
115
  return {
117
116
  push(data) {
118
- if (disabled) return
117
+ if (disabledUntil !== undefined) return
119
118
  buffer.push(data)
120
119
  if (options.maxBatchSize !== "disabled" && buffer.length >= options.maxBatchSize) {
121
120
  runFork(runExport)