plutin 1.8.5 → 1.8.7

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/dist/index.cjs CHANGED
@@ -1086,6 +1086,38 @@ var import_fastify = __toESM(require("fastify"), 1);
1086
1086
  var import_node_crypto2 = require("crypto");
1087
1087
  var import_qs = __toESM(require("qs"), 1);
1088
1088
 
1089
+ // src/infra/adapters/observability/otel/span-manager.ts
1090
+ var import_api = require("@opentelemetry/api");
1091
+ var NullSpan = class NullSpan2 {
1092
+ static {
1093
+ __name(this, "NullSpan");
1094
+ }
1095
+ setAttributes() {
1096
+ return;
1097
+ }
1098
+ setAttribute() {
1099
+ return;
1100
+ }
1101
+ setStatus() {
1102
+ return;
1103
+ }
1104
+ recordException() {
1105
+ return;
1106
+ }
1107
+ };
1108
+ var SpanManager = class SpanManager2 {
1109
+ static {
1110
+ __name(this, "SpanManager");
1111
+ }
1112
+ static getActiveSpan() {
1113
+ if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1114
+ return new NullSpan();
1115
+ }
1116
+ const span = import_api.trace.getActiveSpan();
1117
+ return span || new NullSpan();
1118
+ }
1119
+ };
1120
+
1089
1121
  // src/infra/adapters/http/validate-controller-metadata.ts
1090
1122
  var import_reflect_metadata3 = require("reflect-metadata");
1091
1123
  function validateControllerMetadata(controller) {
@@ -1127,12 +1159,10 @@ var FastifyAdapter = class {
1127
1159
  __name(this, "FastifyAdapter");
1128
1160
  }
1129
1161
  logger;
1130
- span;
1131
1162
  metrics;
1132
1163
  instance;
1133
- constructor(logger, span, metrics2) {
1164
+ constructor(logger, metrics2) {
1134
1165
  this.logger = logger;
1135
- this.span = span;
1136
1166
  this.metrics = metrics2;
1137
1167
  this.instance = (0, import_fastify.default)({
1138
1168
  bodyLimit: 10 * 1024 * 1024,
@@ -1143,8 +1173,8 @@ var FastifyAdapter = class {
1143
1173
  });
1144
1174
  this.instance.register(import_cors.default);
1145
1175
  this.instance.addHook("onRequest", async (request) => {
1146
- const span2 = this.span.getActiveSpan();
1147
- span2.setAttributes({
1176
+ const span = SpanManager.getActiveSpan();
1177
+ span.setAttributes({
1148
1178
  httpMethod: request.method,
1149
1179
  httpUrl: request.url,
1150
1180
  httpRoute: request.routeOptions.url || request.url,
@@ -1168,9 +1198,9 @@ var FastifyAdapter = class {
1168
1198
  });
1169
1199
  this.instance.addHook("onResponse", async (request, reply) => {
1170
1200
  const route = this.getNormalizedRoute(request);
1171
- const span2 = this.span.getActiveSpan();
1201
+ const span = SpanManager.getActiveSpan();
1172
1202
  const responseTime = reply.elapsedTime || 0;
1173
- span2.setAttributes({
1203
+ span.setAttributes({
1174
1204
  httpStatusCode: reply.statusCode
1175
1205
  });
1176
1206
  this.logger.info({
@@ -1211,7 +1241,7 @@ var FastifyAdapter = class {
1211
1241
  headers: request.headers,
1212
1242
  query: request.query
1213
1243
  };
1214
- const activeSpan = this.span.getActiveSpan();
1244
+ const activeSpan = SpanManager.getActiveSpan();
1215
1245
  try {
1216
1246
  activeSpan.setAttributes({
1217
1247
  controllerName: controllerClass.constructor.name,
@@ -1277,12 +1307,10 @@ var FastifyAdapter = class {
1277
1307
  };
1278
1308
  FastifyAdapter = _ts_decorate([
1279
1309
  _ts_param(0, Inject("Logger")),
1280
- _ts_param(1, Inject("Span")),
1281
- _ts_param(2, Inject("Metrics")),
1310
+ _ts_param(1, Inject("Metrics")),
1282
1311
  _ts_metadata("design:type", Function),
1283
1312
  _ts_metadata("design:paramtypes", [
1284
1313
  typeof ILogger === "undefined" ? Object : ILogger,
1285
- typeof ISpanManager === "undefined" ? Object : ISpanManager,
1286
1314
  typeof IMetricsManager === "undefined" ? Object : IMetricsManager
1287
1315
  ])
1288
1316
  ], FastifyAdapter);
@@ -1635,7 +1663,7 @@ var Logger = class {
1635
1663
  };
1636
1664
 
1637
1665
  // src/infra/adapters/observability/otel/metric.ts
1638
- var import_api = require("@opentelemetry/api");
1666
+ var import_api2 = require("@opentelemetry/api");
1639
1667
  var import_node_os = require("os");
1640
1668
  var import_node_perf_hooks = require("perf_hooks");
1641
1669
  var import_node_v8 = __toESM(require("v8"), 1);
@@ -1643,10 +1671,7 @@ var MetricsManager = class {
1643
1671
  static {
1644
1672
  __name(this, "MetricsManager");
1645
1673
  }
1646
- meter = null;
1647
- constructor() {
1648
- this.meter = process.env.OTEL_ENABLE === "true" ? import_api.metrics.getMeter(process.env.OTEL_SERVICE_NAME || "plutin-boilerplate-common", process.env.OTEL_SERVICE_VERSION || "1.0.0") : null;
1649
- }
1674
+ meter = process.env.OTEL_ENABLE === "true" ? import_api2.metrics.getMeter(process.env.OTEL_SERVICE_NAME || "plutin-boilerplate-common", process.env.OTEL_SERVICE_VERSION || "1.0.0") : null;
1650
1675
  httpRequestsTotal = this.meter?.createCounter("http_requests_total", {
1651
1676
  description: "Total de requisi\xE7\xF5es HTTP",
1652
1677
  unit: "1"
@@ -1758,7 +1783,7 @@ var MetricsManager = class {
1758
1783
  collectionInterval;
1759
1784
  gcObserver;
1760
1785
  recordHttpRequest(params) {
1761
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1786
+ if (!this.meter) {
1762
1787
  return;
1763
1788
  }
1764
1789
  const { method, route, statusCode, durationSeconds, responseSizeBytes } = params;
@@ -1782,7 +1807,7 @@ var MetricsManager = class {
1782
1807
  }
1783
1808
  }
1784
1809
  recordDbQueryError(params) {
1785
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1810
+ if (!this.meter) {
1786
1811
  return;
1787
1812
  }
1788
1813
  if (!this.isValidDbQueryErrorParams(params)) {
@@ -1797,7 +1822,7 @@ var MetricsManager = class {
1797
1822
  });
1798
1823
  }
1799
1824
  recordDbQuery(params) {
1800
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1825
+ if (!this.meter) {
1801
1826
  return;
1802
1827
  }
1803
1828
  if (!this.isValidDbQueryParams(params)) {
@@ -1831,7 +1856,7 @@ var MetricsManager = class {
1831
1856
  return true;
1832
1857
  }
1833
1858
  recordDbTransaction(params) {
1834
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1859
+ if (!this.meter) {
1835
1860
  return;
1836
1861
  }
1837
1862
  const { operation, repository, durationSeconds } = params;
@@ -1847,7 +1872,7 @@ var MetricsManager = class {
1847
1872
  });
1848
1873
  }
1849
1874
  recordDbDeadlock(params) {
1850
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1875
+ if (!this.meter) {
1851
1876
  return;
1852
1877
  }
1853
1878
  const { operation, repository, errorMessage } = params;
@@ -1859,7 +1884,7 @@ var MetricsManager = class {
1859
1884
  });
1860
1885
  }
1861
1886
  recordHttpRequestBytes(bytes, attributes) {
1862
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1887
+ if (!this.meter) {
1863
1888
  return;
1864
1889
  }
1865
1890
  this.httpRequestBytesTotal?.add(bytes, {
@@ -1869,7 +1894,7 @@ var MetricsManager = class {
1869
1894
  });
1870
1895
  }
1871
1896
  recordProcessingDuration(params) {
1872
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1897
+ if (!this.meter) {
1873
1898
  return;
1874
1899
  }
1875
1900
  const { operation, durationSeconds } = params;
@@ -1879,7 +1904,7 @@ var MetricsManager = class {
1879
1904
  });
1880
1905
  }
1881
1906
  recordProcessingError(params) {
1882
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1907
+ if (!this.meter) {
1883
1908
  return;
1884
1909
  }
1885
1910
  const { operation, errorType } = params;
@@ -1890,7 +1915,7 @@ var MetricsManager = class {
1890
1915
  });
1891
1916
  }
1892
1917
  recordHttpClientRequest(params) {
1893
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1918
+ if (!this.meter) {
1894
1919
  return;
1895
1920
  }
1896
1921
  const { method, url, statusCode, durationSeconds, error, timeout } = params;
@@ -1914,7 +1939,7 @@ var MetricsManager = class {
1914
1939
  }
1915
1940
  }
1916
1941
  recordValidationError(params) {
1917
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1942
+ if (!this.meter) {
1918
1943
  return;
1919
1944
  }
1920
1945
  const { field, errorType } = params;
@@ -1925,7 +1950,7 @@ var MetricsManager = class {
1925
1950
  });
1926
1951
  }
1927
1952
  startSystemMetricsCollection(intervalMs = 5e3) {
1928
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE || !this.meter) {
1953
+ if (!this.meter) {
1929
1954
  return;
1930
1955
  }
1931
1956
  this.eventLoopMonitor.enable();
@@ -1947,7 +1972,7 @@ var MetricsManager = class {
1947
1972
  this.collectPeriodicMetrics();
1948
1973
  }
1949
1974
  stopSystemMetricsCollection() {
1950
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE || !this.meter) {
1975
+ if (!this.meter) {
1951
1976
  return;
1952
1977
  }
1953
1978
  if (this.collectionInterval) {
@@ -1961,7 +1986,7 @@ var MetricsManager = class {
1961
1986
  }
1962
1987
  }
1963
1988
  collectSystemMetrics(observableResult) {
1964
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
1989
+ if (!this.meter) {
1965
1990
  return;
1966
1991
  }
1967
1992
  const attributes = {
@@ -2002,7 +2027,7 @@ var MetricsManager = class {
2002
2027
  observableResult.observe(this.processUptimeSeconds, process.uptime(), attributes);
2003
2028
  }
2004
2029
  collectPeriodicMetrics() {
2005
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
2030
+ if (!this.meter) {
2006
2031
  return;
2007
2032
  }
2008
2033
  const attributes = {
@@ -2026,7 +2051,7 @@ var MetricsManager = class {
2026
2051
  }
2027
2052
  }
2028
2053
  setupGCObserver() {
2029
- if (process.env.OTEL_ENABLE === "false" || !process.env.OTEL_ENABLE) {
2054
+ if (!this.meter) {
2030
2055
  return;
2031
2056
  }
2032
2057
  try {
@@ -2210,42 +2235,6 @@ var OtelManager = class {
2210
2235
  }
2211
2236
  };
2212
2237
 
2213
- // src/infra/adapters/observability/otel/span-manager.ts
2214
- var import_api2 = require("@opentelemetry/api");
2215
- var NullSpan = class NullSpan2 {
2216
- static {
2217
- __name(this, "NullSpan");
2218
- }
2219
- setAttributes() {
2220
- return;
2221
- }
2222
- setAttribute() {
2223
- return;
2224
- }
2225
- setStatus() {
2226
- return;
2227
- }
2228
- recordException() {
2229
- return;
2230
- }
2231
- };
2232
- var SpanManager = class SpanManager2 {
2233
- static {
2234
- __name(this, "SpanManager");
2235
- }
2236
- env;
2237
- constructor(env) {
2238
- this.env = env;
2239
- }
2240
- getActiveSpan() {
2241
- if (!this.env.OTEL_ENABLE) {
2242
- return new NullSpan();
2243
- }
2244
- const span = import_api2.trace.getActiveSpan();
2245
- return span || new NullSpan();
2246
- }
2247
- };
2248
-
2249
2238
  // src/infra/decorators/base-instrumentation-strategy.ts
2250
2239
  var import_api3 = require("@opentelemetry/api");
2251
2240
  var MILLISECONDS_TO_SECONDS = 1e3;