@lark-apaas/observable 1.0.4-alpha.4 → 1.0.4-alpha.6

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.js CHANGED
@@ -8842,7 +8842,7 @@ __name(hrTimeToNanosNumber, "hrTimeToNanosNumber");
8842
8842
 
8843
8843
  // package.json
8844
8844
  var package_default = {
8845
- version: "1.0.4-alpha.3"};
8845
+ version: "1.0.4-alpha.5"};
8846
8846
 
8847
8847
  // src/const.ts
8848
8848
  var AppEnv = /* @__PURE__ */ (function(AppEnv2) {
@@ -8855,6 +8855,7 @@ var defaultResourceAttr = {
8855
8855
  "sdk_type": "client-backend",
8856
8856
  "sdk_language": "node"
8857
8857
  };
8858
+ var pointKillTag = "__point_kill_info";
8858
8859
  var TraceDropToken = "TraceDropToken";
8859
8860
 
8860
8861
  // src/utils/convertAllAttrIntoString.ts
@@ -8874,60 +8875,14 @@ function convertAttributesToString(attributes) {
8874
8875
  }
8875
8876
  __name(convertAttributesToString, "convertAttributesToString");
8876
8877
 
8877
- // src/core/point-kill/index.ts
8878
- var PointKillManager = class _PointKillManager {
8879
- static {
8880
- __name(this, "PointKillManager");
8881
- }
8882
- static instance;
8883
- static CONFIG_HEADER_NAME = "x-force-observability-pointkill";
8884
- config = {
8885
- logs: {
8886
- modules: []
8887
- },
8888
- traces: {
8889
- modules: []
8890
- },
8891
- metrics: {
8892
- modules: []
8893
- }
8894
- };
8895
- constructor() {
8896
- }
8897
- static getInstance() {
8898
- if (!_PointKillManager.instance) {
8899
- _PointKillManager.instance = new _PointKillManager();
8900
- }
8901
- return _PointKillManager.instance;
8902
- }
8903
- getConfig() {
8904
- return this.config;
8905
- }
8906
- updateConfig(newConfig) {
8907
- this.config = {
8908
- logs: {
8909
- modules: [
8910
- ...newConfig.logs.modules
8911
- ]
8912
- },
8913
- traces: {
8914
- modules: [
8915
- ...newConfig.traces.modules
8916
- ]
8917
- },
8918
- metrics: {
8919
- modules: [
8920
- ...newConfig.metrics.modules
8921
- ]
8922
- }
8923
- };
8924
- }
8925
- setConfig(configStr) {
8926
- if (!configStr) return;
8927
- try {
8928
- const res = JSON.parse(configStr);
8929
- const { logs: logs2, traces, metrics } = res ?? {};
8930
- this.updateConfig({
8878
+ // src/utils/getSnippingConfig.ts
8879
+ function processSnipConfig(configStr) {
8880
+ if (!configStr) return;
8881
+ try {
8882
+ const res = JSON.parse(configStr);
8883
+ const { logs: logs2, traces, metrics } = res ?? {};
8884
+ if (res) {
8885
+ return {
8931
8886
  logs: {
8932
8887
  modules: Array.isArray(logs2?.modules) ? logs2.modules : []
8933
8888
  },
@@ -8937,19 +8892,16 @@ var PointKillManager = class _PointKillManager {
8937
8892
  metrics: {
8938
8893
  modules: Array.isArray(metrics?.modules) ? metrics.modules : []
8939
8894
  }
8940
- });
8941
- } catch (error) {
8942
- console.error("Failed to parse sniping config:", error);
8943
- }
8944
- }
8945
- updateFromHeaders(headers) {
8946
- const snipingConfig = headers[_PointKillManager.CONFIG_HEADER_NAME] || headers[_PointKillManager.CONFIG_HEADER_NAME.toLowerCase()];
8947
- if (snipingConfig) {
8948
- this.setConfig(snipingConfig);
8895
+ };
8896
+ } else {
8897
+ return void 0;
8949
8898
  }
8899
+ } catch (error) {
8900
+ console.error("Failed to parse sniping config:", error);
8901
+ return void 0;
8950
8902
  }
8951
- };
8952
- var pointKillManager = PointKillManager.getInstance();
8903
+ }
8904
+ __name(processSnipConfig, "processSnipConfig");
8953
8905
 
8954
8906
  // src/core/log-exporter.ts
8955
8907
  var CustomExporter = class {
@@ -8961,18 +8913,21 @@ var CustomExporter = class {
8961
8913
  constructor() {
8962
8914
  }
8963
8915
  export(logs2, resultCallback) {
8964
- const snipingConfig = pointKillManager.getConfig();
8965
- console.log("snipingConfig", snipingConfig);
8966
- if (snipingConfig.logs.modules.includes("*")) {
8967
- resultCallback({
8968
- code: ExportResultCode.SUCCESS
8969
- });
8970
- return;
8971
- }
8972
8916
  const filteredLogs = logs2.filter((log) => {
8973
- const module = log.attributes?.module;
8974
- if (module && snipingConfig.logs.modules.includes(module)) {
8975
- return false;
8917
+ const pkTag = log.attributes?.[pointKillTag];
8918
+ if (pkTag) {
8919
+ try {
8920
+ const snipingConfig = processSnipConfig(pkTag);
8921
+ if (snipingConfig?.logs?.modules?.includes("*")) {
8922
+ return false;
8923
+ }
8924
+ const module = log.attributes?.module;
8925
+ if (module && snipingConfig?.logs?.modules?.includes(module)) {
8926
+ return false;
8927
+ }
8928
+ } catch (e) {
8929
+ console.error(`Failed to parse ${pointKillTag} in log exporter:`, e);
8930
+ }
8976
8931
  }
8977
8932
  return true;
8978
8933
  });
@@ -9052,24 +9007,22 @@ var CustomTraceExporter = class {
9052
9007
  tracePrefix = "force-trace-prefix";
9053
9008
  traceSuffix = "force-trace-suffix";
9054
9009
  export(spans, resultCallback) {
9055
- const snipingConfig = pointKillManager.getConfig();
9056
- console.log("snipingConfig", snipingConfig);
9057
- if (snipingConfig.traces.modules.includes("*")) {
9058
- resultCallback({
9059
- code: ExportResultCode.SUCCESS
9060
- });
9061
- return;
9062
- }
9063
- const isDev = process.env.NODE_ENV === "development";
9064
- const defaultAttributes = {
9065
- uuid: idGenerator.generateTraceId(),
9066
- app_env: isDev ? AppEnv.Dev : AppEnv.Prod
9067
- };
9068
9010
  const finalSpans = spans.filter((span) => {
9069
9011
  if ((span.attributes ?? {})[TraceDropToken]) return false;
9070
- const module = span.attributes?.module;
9071
- if (module && snipingConfig.traces.modules.includes(module)) {
9072
- return false;
9012
+ const pkTag = span.attributes?.[pointKillTag];
9013
+ if (pkTag) {
9014
+ try {
9015
+ const snipingConfig = processSnipConfig(pkTag);
9016
+ if (snipingConfig?.traces?.modules?.includes("*")) {
9017
+ return false;
9018
+ }
9019
+ const module = span.attributes?.module;
9020
+ if (module && snipingConfig?.traces?.modules?.includes(module)) {
9021
+ return false;
9022
+ }
9023
+ } catch (e) {
9024
+ console.error(`Failed to parse in trace exporter:`, e);
9025
+ }
9073
9026
  }
9074
9027
  return true;
9075
9028
  });
@@ -9079,6 +9032,11 @@ var CustomTraceExporter = class {
9079
9032
  });
9080
9033
  return;
9081
9034
  }
9035
+ const isDev = process.env.NODE_ENV === "development";
9036
+ const defaultAttributes = {
9037
+ uuid: idGenerator.generateTraceId(),
9038
+ app_env: isDev ? AppEnv.Dev : AppEnv.Prod
9039
+ };
9082
9040
  const otlpLikeStructure = {
9083
9041
  resource: {
9084
9042
  attributes: {
@@ -9119,6 +9077,83 @@ function isObservable(input) {
9119
9077
  }
9120
9078
  __name(isObservable, "isObservable");
9121
9079
 
9080
+ // src/core/point-kill/index.ts
9081
+ var PointKillManager = class _PointKillManager {
9082
+ static {
9083
+ __name(this, "PointKillManager");
9084
+ }
9085
+ static instance;
9086
+ static CONFIG_HEADER_NAME = "x-force-observability-pointkill";
9087
+ config = {
9088
+ logs: {
9089
+ modules: []
9090
+ },
9091
+ traces: {
9092
+ modules: []
9093
+ },
9094
+ metrics: {
9095
+ modules: []
9096
+ }
9097
+ };
9098
+ constructor() {
9099
+ }
9100
+ static getInstance() {
9101
+ if (!_PointKillManager.instance) {
9102
+ _PointKillManager.instance = new _PointKillManager();
9103
+ }
9104
+ return _PointKillManager.instance;
9105
+ }
9106
+ getConfig() {
9107
+ return this.config;
9108
+ }
9109
+ updateConfig(newConfig) {
9110
+ this.config = {
9111
+ logs: {
9112
+ modules: [
9113
+ ...newConfig.logs.modules
9114
+ ]
9115
+ },
9116
+ traces: {
9117
+ modules: [
9118
+ ...newConfig.traces.modules
9119
+ ]
9120
+ },
9121
+ metrics: {
9122
+ modules: [
9123
+ ...newConfig.metrics.modules
9124
+ ]
9125
+ }
9126
+ };
9127
+ }
9128
+ setConfig(configStr) {
9129
+ if (!configStr) return;
9130
+ try {
9131
+ const res = JSON.parse(configStr);
9132
+ const { logs: logs2, traces, metrics } = res ?? {};
9133
+ this.updateConfig({
9134
+ logs: {
9135
+ modules: Array.isArray(logs2?.modules) ? logs2.modules : []
9136
+ },
9137
+ traces: {
9138
+ modules: Array.isArray(traces?.modules) ? traces.modules : []
9139
+ },
9140
+ metrics: {
9141
+ modules: Array.isArray(metrics?.modules) ? metrics.modules : []
9142
+ }
9143
+ });
9144
+ } catch (error) {
9145
+ console.error("Failed to parse sniping config:", error);
9146
+ }
9147
+ }
9148
+ updateFromHeaders(headers) {
9149
+ const snipingConfig = headers[_PointKillManager.CONFIG_HEADER_NAME] || headers[_PointKillManager.CONFIG_HEADER_NAME.toLowerCase()];
9150
+ if (snipingConfig) {
9151
+ this.setConfig(snipingConfig);
9152
+ }
9153
+ }
9154
+ };
9155
+ var pointKillManager = PointKillManager.getInstance();
9156
+
9122
9157
  // src/core/sdk.ts
9123
9158
  var AppOTelSDK = class _AppOTelSDK {
9124
9159
  static {